[racket] Places acting differently in DrRacket and Racket
That's right, and it's awkward, but it's not broken in the sense of an
overlooked mistake in the implementation. It's the intended semantics
--- the best we know how to implement, for now.
I use a `main' submodule to avoid creating too many places:
#lang racket
(define (go)
(place-wait (place x (system "touch /tmp/file"))))
(module+ main (go))
It seems like there should a nicer syntactic form for this pattern, but
I haven't found one that I like enough to recommend.
At Thu, 18 Oct 2012 10:05:19 +0200, Tobias Hammer wrote:
> The whole enclosing module (file) is executed again on every call to place.
> Add a print before the place start to see it. Seems to be broken since <
> 5.2.1.
>
> On Thu, 18 Oct 2012 06:39:56 +0200, Nick Shelley <nickmshelley at gmail.com>
> wrote:
>
> > It looks like that was the problem. Thanks!
> >
> > However, if I add (place-wait p) after defining p as the place, DrRacket
> > runs out of memory (and never prints anything), while Racket gives a
> > "place: scheduler pipe failed" error and runs the place body about 50
> > times. Anything else obvious I'm missing?