[racket] lazy racket

From: Eric Tanter (etanter at dcc.uchile.cl)
Date: Mon Nov 14 20:51:11 EST 2011

Thanks Stephen,

Eli finally responded pointing out to his pl plugin at http://pl.barzilay.org/pl.plt
His lazy.rkt does some "bad hack" (I cite ;)) to ensure all results are forced in the repl. That's what I needed, so for now, I'll just use his `#lang pl lazy' instead of `#lang lazy'.

Hopefully at some point the official `#lang lazy' will accept a configuration stating the desired "forcing mode".

-- Éric


On Nov 14, 2011, at 7:12 PM, Stephen Chang wrote:

> On Mon, Nov 14, 2011 at 5:04 PM, Eric Tanter <etanter at dcc.uchile.cl> wrote:
>> Thanks for the input.
>> I tried with Lazy Racket in the language menu instead of #lang, but it does not really do what I want (ie. Haskell).
>> Actually, apart from the fact that things are printed differently, the result is quite the same:
>> 
>>> ones
>> (cons 1 (delay ...))
>> 
>> ;; ! is not enough
>>> (! ones)
>> (cons 1 (delay ...))
>> 
>>> (!! ones)
>> (shared ((-0- (cons 1 -0-))) -0-)
> 
> The behavior is a little different in that one level of the cons is
> forced. You can change the output style in the "Details" section of
> the language menu. If you want to emulate Haskell does that mean you
> want an infinite loop? You can use !!list for that.
> 




Posted on the users mailing list.