Dynamic hacking with Guile (FOSDEM 2011)

Uploaded on

By Andy Wingo. …

By Andy Wingo.

Hacking GNU with Guile

I'll start by giving my standard propaganda schtick about guile, and how it can make hacking GNU more like hacking lisp machines. I'll go on like that for about 15 minutes.

In the latter 15 minutes I'll do some live hacking. I think what I'd like to show would be live-hacking a web application through emacs and geiser, in which I show what it's like to hack on a running application, what it's like to hack the web in sxml, how to make new bindings to C functions without restarting the process, things like that.

- Guile homepage: http://www.gnu.org/software/guile

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Dynamic Hacking with Guile
  • 2. Greetings! Andy Wingo http://wingolog.org/ Guile co-maintainer (along with Ludovic Courtès)
  • 3. Goal Shameless promotion To inform, and to entertain
  • 4. Agenda Brief intro What are the haps? Live-hack a twitter-alike Forward-looking statements
  • 5. What is it? (1) The GNU extension language Implementation of Scheme Embeddable, great C API Standalone programs "Scripting"
  • 6. What is it? (2) Bytecode virtual machine Compiler, and compiler toolkit Module set: threads, ffi, web, goops Fantastic REPL Much of this is new
  • 7. What happened in 2010? Nine 1.9.x releases * six of which were the last before 2.0 (oops!) (One 1.8 release)
  • 8. Awesome new REPL Debugger on error Profiler Tracing and tracepoints Breakpoints Source stepping
  • 9. Dynamic FFI Bind C libraries without C code Seatbelts not included
  • 10. Prompts Composable, delimited continuations catch, throw implemented in Scheme More powerful than call/cc Process abstractions in userspace
  • 11. Elisp improvements Clever #nil * (if #nil "hey" "ho") => "ho" * (null? #nil) => #t SoC work from Brian Templeton Getting closer; needs champion
  • 12. R6RS support
  • 13. Imports from elsewhere LALR parser generator * PEG SoC work to be merged SXML, sxml-match Statistical profiler
  • 14. Web stack HTTP URI parsers and serializers , WSGI-like abstraction for web programs Now that we have web modules, let's make a CPAN, finally
  • 15. Misc Futures: fine-grained parallelism Code coverage Letrec* for internal definitions
  • 16. The coming 2.0 27 developers 3790 changesets 1,127,437 lines added 792,425 removed Mostly compatible with 1.8 16 February 2011
  • 17. Peeple [hack goes here]
  • 18. The Future CPAN Native compilation 2.2, 2.4, ...
  • 19. Guile & GNU Unix or the Lisp Machine?
  • 20. Guile & Emacs Implement Elisp for Guile runtime Allow Scheme (& JS, Lua) in Emacs No rewrites Status
  • 21. Guile & You Give it a hack!
  • 22. Questions? www.gnu.org/software/guile wingolog.org/git/skeleton.git Thanks for listening!