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?
