[racket] racket/place seems to be incompatible with DrRacket
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 <robby at 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
> <dave at 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
>>