Using Goblins in Geiser

Any word of advice regarding running Goblins in guile-geiser?

I installed elpa-geiser in Debian Bookworm and ran Guile git main in it.

I saw the “Live hacking fix” in the manual and typed (use-modules (goblins)) in the REPL and got this:

scheme@(guile-user)> (use-modules (goblins))
scheme@(guile-user) [11]>

Why am I now 11 prompts down?

Also, continuing to do the tutorial I eventually end up with:

(define alice
(spawn ^greeter “Alice”))

ice-9/boot-9.scm:1683:22: In procedure raise-exception:
No current syscaller

Entering a new prompt. Type ,bt' for a backtrace or ,q’ to continue.
Unknown meta command: geiser-no-values
scheme@(guile-user) [2]>

Anyone recognizing this and knows what the problem is?

Best regards,
Mikael Djurfeldt

Welcome @mdj! While I don’t know the exact reason for the 11 sub-REPLs thing, I’d guess that your Geiser isn’t setup properly given the Unknown meta command: geiser-no-values error. Regarding the issue with spawning your alice actor, it looks like you are not calling spawn in the context of a vat. You can evaluate in the context of a vat in 2 ways:

  1. Using call-with-vat:
(define alice (call-with-vat a-vat (lambda () (spawn ^greeter "Alice"))))
  1. Enter the vat context at the REPL with the ,enter-vat meta command:
scheme@(guile-user)> ,enter-vat a-vat
goblins/a-vat@(guile-user) [1]> (define alice (spawn ^greeter "Alice"))

,enter-vat is covered in the tutorial, so if it’s the case that you’ve done these steps already my guess would be that your Geiser problems are messing up your REPL context.

Hope this helps!

2 Likes

Hi David,

Thanks for your reply!

I think I have narrowed it down somewhat. I think the culprit is the interaction between Geiser and the stuff under Guile (system repl).

Note that my environment is pretty clean without much configuration of my own. I run Emacs 29.4 and HEAD of Guile main branch. And I’ve tested with the elpa-geiser package as well as HEAD of geiser main as well as geiser-guile main branches. Same result.

It turns out that I get several prompts down also by just typing ,h in geiser-guile REPL without having loaded Goblins, so it turns out not to be a Goblins thing. Sorry! :slight_smile:

(The reason why I wasn’t still in the vat was that when exciting these spurious prompts, I happened to also exit the vat.)

Best regards,
Mikael

1 Like

OK, I could sit down with this now and found the problem: I’m new to Geiser and hadn’t realized that I had to manually copy the geiser-guile Guile sources (geiser-guile/src) to somewhere in my local Guile’s %load-path. (This is somewhat stupid since I once wrote a Geiser-like environment and of course had to have a bunch of Guile sources to support that.)

Problem solved. I can run Goblins under Geiser. :slightly_smiling_face:

2 Likes

Awesome! Glad you were able to get to a working setup! Happy hacking.

1 Like