On Fri, Mar 3, 2023 at 11:29 AM Phil Bewig <[email protected]> wrote:

> I'm the original author. It doesn't seem like fifteen years ago.
>

Thanks for replying!


> The Scheme world has moved on, various other concepts of laziness have
> been implemented, and I have no interest in revising SRFI-41. It was only
> ever intended as an academic exercise (all the structure required to
> support laziness makes it too slow for any real purpose) to introduce the
> concept of stream-lambda (inspired, of course, by all of Guy Steele's
> lambda papers).
>

That's fair.


> I don't think a new SRFI is needed to fix a bug in the reference
> implementation (Arthur, please comment if that is incorrect), since there
> is no change in the concept of laziness that the SRFI describes; there has
> already been one bug fix. You might look at the Chicken version of SRFI-41,
> which fixes some of the problems (I don't know if it fixes all of them). If
> you want to fix the reference implementation, be warned: laziness is hard!
>

You're right that a new SRFI is not needed to fix a sample implementation.
Sorry, Sorawee.  Have I misinterpreted your feedback on SRFI 41?  Are you
just suggesting fixing the sample implementation, but not changing the
document?  Re-reading your message, I realize that that's probably what you
meant.

I would welcome a pull request with a revised sample implementation.  I
would also welcome feedback from Phil or others on such a pull request.
Phil says that getting it right is hard, and he has the voice of experience.


> If your purpose is to write a real program that uses laziness, rather than
> to provide a generalized library, either use the laziness facilities
> provided by your Scheme implementation or write the minimal laziness
> support that you need for your program.
>

Phil, are you suggesting using the lower-level delay and force operations
directly rather than using streams?

Reply via email to