Yes, the Geiser server is meta to the target namespace and evals the sent form in target namespace.
racket/enter.rkt does inject ;; Injecting racket/enter into the namespace to allow entering another module (unless (memq '#:dont-re-require-enter flags) (namespace-require 'racket/enter))) And I agree tooling such as Geiser, xrepl should be meta to entered namespace(s). On Sun, Feb 10, 2013 at 1:28 PM, Eli Barzilay <e...@barzilay.org> wrote: > Yesterday, Ray Racine wrote: > > > > So the goal is to have entering a module inject the proper typed or > > untyped version of do-enter! by doing a namespace-require on either > > "enter.rkt" or "typed-enter.rkt". To do that I need to query the > > current-namespace as to whether the namespace language is racket or > > typed/racket, a "namespace-language" procedure. > > That won't be a general-enough hack: what happens with other > languages? But more generally there is no way to do that that works > everywhere, since some languages would want to stay very restricted > and not allow any new bindings. I think that the xrepl approach for > this (and likely geiser's) works well: you use `enter!' at the meta > level, which means that there is no need for any injections. So it > looks to me better if things stay as they are, with direct uses of > `enter!' being somewhat limited as they are now, and using a proper > meta tool when needed. > > > -- > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: > http://barzilay.org/ Maze is Life! >
_________________________ Racket Developers list: http://lists.racket-lang.org/dev