[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!
>