<div dir="ltr"><div>Yes, the Geiser server is meta to the target namespace and evals the sent form in target namespace.</div><div><br></div><div>racket/enter.rkt does inject </div><div><br></div><div>
<div>;; Injecting racket/enter into the namespace to allow entering another module</div></div><div><div> (unless (memq &#39;#:dont-re-require-enter flags)</div><div><span style="white-space:pre-wrap">                </span> (namespace-require &#39;racket/enter)))</div>
<div><br></div><div style>And I agree tooling such as Geiser, xrepl should be meta to entered namespace(s).</div>
<div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Feb 10, 2013 at 1:28 PM, Eli Barzilay <span dir="ltr">&lt;<a href="mailto:eli@barzilay.org" target="_blank">eli@barzilay.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Yesterday, Ray Racine wrote:<br>
&gt;<br>
&gt; So the goal is to have entering a module inject the proper typed or<br>
&gt; untyped version of do-enter! by doing a namespace-require on either<br>
&gt; &quot;enter.rkt&quot; or &quot;typed-enter.rkt&quot;.  To do that I need to query the<br>
&gt; current-namespace as to whether the namespace language is racket or<br>
&gt; typed/racket, a &quot;namespace-language&quot; procedure.<br>
<br>
</div>That won&#39;t be a general-enough hack: what happens with other<br>
languages?  But more generally there is no way to do that that works<br>
everywhere, since some languages would want to stay very restricted<br>
and not allow any new bindings.  I think that the xrepl approach for<br>
this (and likely geiser&#39;s) works well: you use `enter!&#39; at the meta<br>
level, which means that there is no need for any injections.  So it<br>
looks to me better if things stay as they are, with direct uses of<br>
`enter!&#39; being somewhat limited as they are now, and using a proper<br>
meta tool when needed.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:<br>
                    <a href="http://barzilay.org/" target="_blank">http://barzilay.org/</a>                   Maze is Life!<br>
</font></span></blockquote></div><br></div>