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'd really like to know more about what's going on.
-- Dave (on the iPhone) On Aug 30, 2011, at 4:44 AM, Robby Findler <ro...@eecs.northwestern.edu> wrote: > I'm sorry; I was wrong. > > I don't see the behavior you're seeing, tho. If I add parens around > 'all-defined-out', and save the file in tmp.rkt, then this is the > behavior I see at the command-line racket: > > Welcome to Racket v5.1.3.6. >> (require "tmp.rkt") >> (super-simple) > 5 > > and I see similar behavior in DrRacket: > > Welcome to DrRacket, version 5.1.3.6--2011-08-25(7bb8c6c4/d) [3m]. > Language: racket; memory limit: 128 MB. >> (super-simple) > 5 >> > > FWIW, in 5.1.3, I get an error that's surprising to me, as I don't see > how the sandbox gets involved in this program, but here it is: > > car: expects argument of type <pair>; given '#((module program racket/base)) > > === context === > /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:572:17: ns > /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:584:20 > /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:334:0: > call-with-limits > /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:564:0: > evaluate-program > /Applications/Racket > v5.1.3/collects/racket/private/more-scheme.rkt:151:2: > call-with-break-parameterization > /Applications/Racket v5.1.3/collects/racket/sandbox.rkt:704:2: user-process > /Applications/Racket v5.1.3/collects/mred/private/wx/common/queue.rkt:430:6 > /Applications/Racket v5.1.3/collects/mred/private/wx/common/queue.rkt:470:32 > > Robby > > On Mon, Aug 29, 2011 at 8:55 PM, David Mitchell > <d...@fallingcanbedeadly.com> wrote: >> You might have to unpack that a little bit more for me, as I don't see how >> that's the case. Additionally, why would it work from Terminal and not >> DrRacket? >> >> -- Dave (on the iPhone) >> >> On Aug 29, 2011, at 6:32 PM, Robby Findler <ro...@eecs.northwestern.edu> >> wrote: >> >>> I think what's happening is that you're creating a place whose first >>> action is to create that same place again (over and over). >>> >>> Robby >>> >>> On Mon, Aug 29, 2011 at 8:17 PM, David Mitchell >>> <d...@fallingcanbedeadly.com> wrote: >>>> I've been trying to experiment with racket/place, but it seems to have >>>> significant incompatibilities with DrRacket. I've defined a module based on >>>> a code snippet in http://www.cs.utah.edu/plt/publications/dls11-tsffd.pdf >>>> that looks like this: >>>> >>>> #lang racket >>>> (provide all-defined-out) >>>> (define (fib n) >>>> (define (fib-inner n-remaining i i+1) >>>> (if (= n-remaining 1) >>>> i+1 >>>> (fib-inner (- n-remaining 1) i+1 (+ i i+1)))) >>>> (if (<= n 0) >>>> 0 >>>> (fib-inner n 0 1))) >>>> (define (start-fib n) >>>> (define p >>>> (place ch >>>> (define n (place-channel-get ch)) >>>> (place-channel-put ch (fib n)))) >>>> (place-channel-put p n) >>>> p) >>>> (define (super-simple) >>>> (define p >>>> (place ch >>>> (place-channel-put ch 5))) >>>> (place-channel-get p)) >>>> >>>> If I run racket in my Terminal and load this module, I'm able to use >>>> start-fib and super-simple as expected. However, if I define this module in >>>> the DrRacket editor and access the functions through the repl, attempts to >>>> receive data from either place appear to hang. I'm running OS X Lion, and >>>> I've tried both the 64-bit and 32-bit versions of 5.1.3, as well as the >>>> 64-bit version of the latest nightly build >>>> (5.1.3.6--2011-08-28(46a0fe9/a)). >>>> I posted a question about this to the IRC channel last night, and one other >>>> user (jonrafkind) indicated that that the issue could be reproduced on >>>> 32-bit Linux, so it seems unlikely to be a platform issue. This user also >>>> indicated, "it seems places keeps reloading the current module." >>>> (Unfortunately, I am quite new to racket, so I have only a vague idea what >>>> this means, and no idea at all as to how one would go about discovering >>>> such >>>> a thing) >>>> Does anyone have any insight as to why this might be failing and/or how I >>>> might work around it (without abandoning the GUI)? >>>> _________________________________________________ >>>> For list-related administrative tasks: >>>> http://lists.racket-lang.org/listinfo/users >>>> >> _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users