[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Geiser-users] Re-evaluation fails when embedding Geiser into Racket
From: |
Jose A. Ortega Ruiz |
Subject: |
Re: [Geiser-users] Re-evaluation fails when embedding Geiser into Racket program |
Date: |
Mon, 13 May 2013 21:42:04 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Hi,
On Mon, May 13 2013, Mikhail Maluyk wrote:
[...]
> My guess is that you're not connected to a properly intialized geiser
> process, or loading world.rkt before geiser, so that the latter does not
> have time to setup things properly before world.rkt is compiled by the
> Racket process.
>
> Hm, it works well with evaluating new things and introspection, but
> redefining things gives the above error. I'd expect such behaviour if
> (compile-enforce-module-constants) returned #t, but it returns #f and
> still gives the error. May it be not geiser related but racket itself,
> what do you think?
This is my theory: in your example for hello.rkt, you had the form
(require geiser/server-start "world.rkt"): that's probably loading
world.rkt before geiser, and once you compile a module without setting
compile-enforce-module-constants to #t, it remains unmodifiable forever
(even if you change compile-enforce-module-constants to #f afterwards,
as geiser does).
If that theory is true, you'll only have problems in redefining things
inside world.rkt, but not in modules loaded after requiring geiser.
Could that be the case?
jao
--
If they give you ruled paper, write the other way.
-Juan Ramón Jiménez, poet (1881-1958)