Previous: , Up: Getting started   [Contents]


2.3 TEMPORARY: Live hacking “fix”

The traditional way to hack Guile is to use Geiser, both evaluating from some foo.scm file/buffer with more “permanent” code via, for example, the C-x C-e / C-x C-b / C-x C-k commands to evaluate an expression, evaluate a whole buffer, or compile a buffer’s content, and switching back and forth between that and the (usually called *Geiser Guile REPL*) experimental-hacking-and-debugging REPL.

This works with Goblins, but Geiser does some things to temporarily redirect output/error ports when doing the file/buffer oriented evaluation, and unfortunately this results in Goblins vats potentially breaking due to spawning a separate thread which inherit these temporarily redirected ports, which then are closed when the evaluation succeeds. We have a long-term plan to deal with this, but in the meanwhile, whenever you start a Guile / Geiser hacking session, first execute:

> (use-modules (goblins))

… from the *Geiser Guile REPL*. Otherwise vats may mysteriously “hang”. We know this is an annoyance! It’ll be fixed soon!