I&#39;m not seeing bad behavior so probably I&#39;m doing something slightly differently than you, which is making the difference. If you have the energy to send a precise set of steps I&#39;m happy to try them on my machine and maybe that&#39;ll help us sort it out.<br>
<br>Robby<br><br>On Tuesday, August 30, 2011, David Mitchell &lt;<a href="mailto:dave@fallingcanbedeadly.com">dave@fallingcanbedeadly.com</a>&gt; wrote:<br>&gt; I tried saving the module and putting a require in the DrRacket window, and that works correctly. I think this will be an acceptable workaround for the time being, but I&#39;d really like to know more about what&#39;s going on.<br>
&gt;<br>&gt; -- Dave (on the iPhone)<br>&gt;<br>&gt; On Aug 30, 2011, at 4:44 AM, Robby Findler &lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt; wrote:<br>&gt;<br>&gt;&gt; I&#39;m sorry; I was wrong.<br>
&gt;&gt;<br>&gt;&gt; I don&#39;t see the behavior you&#39;re seeing, tho. If I add parens around<br>&gt;&gt; &#39;all-defined-out&#39;, and save the file in tmp.rkt, then this is the<br>&gt;&gt; behavior I see at the command-line racket:<br>
&gt;&gt;<br>&gt;&gt; Welcome to Racket v5.1.3.6.<br>&gt;&gt;&gt; (require &quot;tmp.rkt&quot;)<br>&gt;&gt;&gt; (super-simple)<br>&gt;&gt; 5<br>&gt;&gt;<br>&gt;&gt; and I see similar behavior in DrRacket:<br>&gt;&gt;<br>&gt;&gt; Welcome to DrRacket, version 5.1.3.6--2011-08-25(7bb8c6c4/d) [3m].<br>
&gt;&gt; Language: racket; memory limit: 128 MB.<br>&gt;&gt;&gt; (super-simple)<br>&gt;&gt; 5<br>&gt;&gt;&gt;<br>&gt;&gt;<br>&gt;&gt; FWIW, in 5.1.3, I get an error that&#39;s surprising to me, as I don&#39;t see<br>&gt;&gt; how the sandbox gets involved in this program, but here it is:<br>
&gt;&gt;<br>&gt;&gt; car: expects argument of type &lt;pair&gt;; given &#39;#((module program racket/base))<br>&gt;&gt;<br>&gt;&gt; === context ===<br>&gt;&gt; /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:572:17: ns<br>
&gt;&gt; /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:584:20<br>&gt;&gt; /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:334:0: call-with-limits<br>&gt;&gt; /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:564:0: evaluate-program<br>
&gt;&gt; /Applications/Racket<br>&gt;&gt; v5.1.3/collects/racket/private/more-scheme.rkt:151:2:<br>&gt;&gt; call-with-break-parameterization<br>&gt;&gt; /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:704:2: user-process<br>
&gt;&gt; /Applications/Racket v5.1.3/collects/mred/private/wx/common/queue.rkt:430:6<br>&gt;&gt; /Applications/Racket v5.1.3/collects/mred/private/wx/common/queue.rkt:470:32<br>&gt;&gt;<br>&gt;&gt; Robby<br>&gt;&gt;<br>&gt;&gt; On Mon, Aug 29, 2011 at 8:55 PM, David Mitchell<br>
&gt;&gt; &lt;<a href="mailto:dave@fallingcanbedeadly.com">dave@fallingcanbedeadly.com</a>&gt; wrote:<br>&gt;&gt;&gt; You might have to unpack that a little bit more for me, as I don&#39;t see how that&#39;s the case. Additionally, why would it work from Terminal and not DrRacket?<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt; -- Dave (on the iPhone)<br>&gt;&gt;&gt;<br>&gt;&gt;&gt; On Aug 29, 2011, at 6:32 PM, Robby Findler &lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; I think what&#39;s happening is that you&#39;re creating a place whose first<br>&gt;&gt;&gt;&gt; action is to create that same place again (over and over).<br>&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; Robby<br>
&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt; On Mon, Aug 29, 2011 at 8:17 PM, David Mitchell<br>&gt;&gt;&gt;&gt; &lt;<a href="mailto:dave@fallingcanbedeadly.com">dave@fallingcanbedeadly.com</a>&gt; wrote:<br>&gt;&gt;&gt;&gt;&gt; I&#39;ve been trying to experiment with racket/place, but it seems to have<br>
&gt;&gt;&gt;&gt;&gt; significant incompatibilities with DrRacket. I&#39;ve defined a module based on<br>&gt;&gt;&gt;&gt;&gt; a code snippet in <a href="http://www.cs.utah.edu/plt/publications/dls11-tsffd.pdf">http://www.cs.utah.edu/plt/publications/dls11-tsffd.pdf</a><br>
&gt;&gt;&gt;&gt;&gt; that looks like this:<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; #lang racket<br>&gt;&gt;&gt;&gt;&gt; (provide all-defined-out)<br>&gt;&gt;&gt;&gt;&gt; (define (fib n)<br>&gt;&gt;&gt;&gt;&gt;   (define (fib-inner n-remaining i i+1)<br>
&gt;&gt;&gt;&gt;&gt;     (if (= n-remaining 1)<br>&gt;&gt;&gt;&gt;&gt;         i+1<br>&gt;&gt;&gt;&gt;&gt;         (fib-inner (- n-remaining 1) i+1 (+ i i+1))))<br>&gt;&gt;&gt;&gt;&gt;   (if (&lt;= n 0)<br>&gt;&gt;&gt;&gt;&gt;       0<br>
&gt;&gt;&gt;&gt;&gt;       (fib-inner n 0 1)))<br>&gt;&gt;&gt;&gt;&gt; (define (start-fib n)<br>&gt;&gt;&gt;&gt;&gt;   (define p<br>&gt;&gt;&gt;&gt;&gt;     (place ch<br>&gt;&gt;&gt;&gt;&gt;            (define n (place-channel-get ch))<br>
&gt;&gt;&gt;&gt;&gt;            (place-channel-put ch (fib n))))<br>&gt;&gt;&gt;&gt;&gt;   (place-channel-put p n)<br>&gt;&gt;&gt;&gt;&gt;   p)<br>&gt;&gt;&gt;&gt;&gt; (define (super-simple)<br>&gt;&gt;&gt;&gt;&gt;   (define p<br>
&gt;&gt;&gt;&gt;&gt;     (place ch<br>&gt;&gt;&gt;&gt;&gt;            (place-channel-put ch 5)))<br>&gt;&gt;&gt;&gt;&gt;   (place-channel-get p))<br>&gt;&gt;&gt;&gt;&gt;<br>&gt;&gt;&gt;&gt;&gt; If I run racket in my Terminal and load this module, I&#39;m able to use<br>
&gt;&gt;&gt;&gt;&gt; start-fib and super-simple as expected. However, if I define this module in<br>&gt;&gt;&gt;&gt;&gt; the DrRacket editor and access the functions through the repl, attempts to<br>&gt;&gt;&gt;&gt;&gt; rec