[plt-scheme] Space/time behaviour of Lazy Scheme

From: jerzy.karczmarczuk at info.unicaen.fr (jerzy.karczmarczuk at info.unicaen.fr)
Date: Tue Oct 16 18:16:53 EDT 2007

Eli Barzilay writes /a propos/ the Lazy Scheme bug 


> OK, that's fixed.  If you want to patch it up to use it, look for this
> line
>                 [(promise? p) (loop p)] ; hide sharing 
> 
> in "collects/lazy/promise.ss", and change it to
>                 [(promise? p) (loop (p:ref p))] ; hide sharing

Indeed, it works. At least this endless loop is no more. Thanks. 

A question, just for my general culture...
Since, by design, there are no global replacements of once-evaluated
promises by their results, somehow in my head I have - despite what you say
 - that the difference between lazy Scheme and, say, Haskell or Clean is
still very profound, and an attempt to make a truly lazy Scheme would
demand changing the compiler. Am I wrong?
(Of course, one can always make an interpreter superposed on existing
stuff, but this is not what I am thinking about). 

All the best. 

Jerzy Karczmarczuk 




Posted on the users mailing list.