[plt-scheme] Space/time behaviour of Lazy Scheme
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