[racket] internal define

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Dec 27 10:13:23 EST 2012

Kent Dybvig's Chez pre-5 implemented this semantics of letrec (well, it did a topological sort or something like this). He removed it for pragmatic reasons, and I trust his judgment. 

My export/import story (freshman paper) proposed 'lazy' and 'by name' evaluation of bindings. It's too expensive for the default. 


On Dec 27, 2012, at 10:03 AM, Jos Koot wrote:

> Correct, I used promises and make-set!-transformer.
> Jos
> 
> -----Original Message-----
> From: Eli Barzilay [mailto:eli at barzilay.org] 
> Sent: jueves, 27 de diciembre de 2012 14:48
> To: Jos Koot
> Cc: Matthias Felleisen; J. Ian Johnson; Dmitry Pavlov; users at racket-lang.org
> Subject: Re: [racket] internal define
> 
> On Thu, Dec 27, 2012 at 3:44 PM, Jos Koot <jos.koot at gmail.com> wrote:
>> 
>> Some years ago I had a discussion with Eli Barzilay about a different
>> approach to letrec. The idea was to evaluate the expressions of the
> bindings
>> automatically in appropriate order. As an example:
> 
> I don't think that I had an imlpementation of it...  IIRC, you had
> something that used promises to make it simple to implement.
> 
> --
>          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
>                  http://www.barzilay.org/                 Maze is Life!
> 



Posted on the users mailing list.