[racket] internal define

From: Jos Koot (jos.koot at gmail.com)
Date: Fri Dec 28 05:00:47 EST 2012

I trust you, Matthias, as much as Kent Dybvig.
Happy new year to all, Jos.

-----Original Message-----
From: Matthias Felleisen [mailto:matthias at ccs.neu.edu] 
Sent: jueves, 27 de diciembre de 2012 16:13
To: Jos Koot
Cc: 'Eli Barzilay'; 'J. Ian Johnson'; 'Dmitry Pavlov'; users at racket-lang.org
Subject: Re: [racket] internal define


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.