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)
