Dynamic hacking with Guile (FOSDEM 2011)


Published on

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

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Dynamic hacking with Guile (FOSDEM 2011)

  1. 1. Dynamic Hacking with Guile
  2. 2. Greetings! Andy Wingo http://wingolog.org/ Guile co-maintainer (along with Ludovic Courtès)
  3. 3. Goal Shameless promotion To inform, and to entertain
  4. 4. Agenda Brief intro What are the haps? Live-hack a twitter-alike Forward-looking statements
  5. 5. What is it? (1) The GNU extension language Implementation of Scheme Embeddable, great C API Standalone programs "Scripting"
  6. 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. 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. 8. Awesome new REPL Debugger on error Profiler Tracing and tracepoints Breakpoints Source stepping
  9. 9. Dynamic FFI Bind C libraries without C code Seatbelts not included
  10. 10. Prompts Composable, delimited continuations catch, throw implemented in Scheme More powerful than call/cc Process abstractions in userspace
  11. 11. Elisp improvements Clever #nil * (if #nil "hey" "ho") => "ho" * (null? #nil) => #t SoC work from Brian Templeton Getting closer; needs champion
  12. 12. R6RS support
  13. 13. Imports from elsewhere LALR parser generator * PEG SoC work to be merged SXML, sxml-match Statistical profiler
  14. 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. 15. Misc Futures: fine-grained parallelism Code coverage Letrec* for internal definitions
  16. 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. 17. Peeple [hack goes here]
  18. 18. The Future CPAN Native compilation 2.2, 2.4, ...
  19. 19. Guile & GNU Unix or the Lisp Machine?
  20. 20. Guile & Emacs Implement Elisp for Guile runtime Allow Scheme (& JS, Lua) in Emacs No rewrites Status
  21. 21. Guile & You Give it a hack!
  22. 22. Questions? www.gnu.org/software/guile wingolog.org/git/skeleton.git Thanks for listening!