Dynamic hacking with Guile (FOSDEM 2011)

22
Dynamic Hacking with Guile

Transcript of Dynamic hacking with Guile (FOSDEM 2011)

Page 1: Dynamic hacking with Guile (FOSDEM 2011)

DynamicHackingwithGuile

Page 2: Dynamic hacking with Guile (FOSDEM 2011)

Greetings!

Andy Wingohttp://wingolog.org/

Guile co-maintainer(along with Ludovic Courtès)

Page 3: Dynamic hacking with Guile (FOSDEM 2011)

Goal

Shameless promotion

To inform, and to entertain

Page 4: Dynamic hacking with Guile (FOSDEM 2011)

Agenda

Brief intro

What are the haps?

Live-hack a twitter-alike

Forward-looking statements

Page 5: Dynamic hacking with Guile (FOSDEM 2011)

What is it? (1)

The GNU extension language

Implementation of Scheme

Embeddable, great C API

Standalone programs

"Scripting"

Page 6: Dynamic hacking with Guile (FOSDEM 2011)

What is it? (2)

Bytecode virtual machine

Compiler, and compiler toolkit

Module set: threads, ffi, web,goops

Fantastic REPL

Much of this is new

Page 7: Dynamic hacking with Guile (FOSDEM 2011)

What happened in 2010?

Nine 1.9.x releases

* six of which were the lastbefore 2.0 (oops!)

(One 1.8 release)

Page 8: Dynamic hacking with Guile (FOSDEM 2011)

Awesome new REPL

Debugger on error

Profiler

Tracing and tracepoints

Breakpoints

Source stepping

Page 9: Dynamic hacking with Guile (FOSDEM 2011)

Dynamic FFI

Bind C libraries without C code

Seatbelts not included

Page 10: Dynamic hacking with Guile (FOSDEM 2011)

Prompts

Composable, delimitedcontinuations

catch, throw implemented inScheme

More powerful than call/cc

Process abstractions in userspace

Page 11: Dynamic hacking with Guile (FOSDEM 2011)

Elisp improvements

Clever #nil

* (if #nil "hey" "ho") => "ho"* (null? #nil) => #tSoC work from Brian Templeton

Getting closer; needs champion

Page 12: Dynamic hacking with Guile (FOSDEM 2011)

R6RS support

Page 13: Dynamic hacking with Guile (FOSDEM 2011)

Imports from elsewhere

LALR parser generator

* PEG SoC work to be mergedSXML, sxml-match

Statistical profiler

Page 14: Dynamic hacking with Guile (FOSDEM 2011)

Web stack

HTTP, URI parsers and serializers

WSGI-like abstraction for webprograms

Now that we have web modules,let's make a CPAN, finally

Page 15: Dynamic hacking with Guile (FOSDEM 2011)

Misc

Futures: fine-grained parallelism

Code coverage

Letrec* for internal definitions

Page 16: Dynamic hacking with Guile (FOSDEM 2011)

The coming 2.0

27 developers

3790 changesets

1,127,437 lines added792,425 removed

Mostly compatible with 1.8

16 February 2011

Page 17: Dynamic hacking with Guile (FOSDEM 2011)

Peeple

[hack goes here]

Page 18: Dynamic hacking with Guile (FOSDEM 2011)

The Future

CPAN

Native compilation

2.2, 2.4, ...

Page 19: Dynamic hacking with Guile (FOSDEM 2011)

Guile & GNU

Unix or the Lisp Machine?

Page 20: Dynamic hacking with Guile (FOSDEM 2011)

Guile & Emacs

Implement Elisp for Guileruntime

Allow Scheme (& JS, Lua) inEmacs

No rewrites

Status

Page 21: Dynamic hacking with Guile (FOSDEM 2011)

Guile & You

Give it a hack!

Page 22: Dynamic hacking with Guile (FOSDEM 2011)

Questions?

www.gnu.org/software/guile

wingolog.org/git/skeleton.git

Thanks for listening!