[racket] stream-cons from racket/stream isn't lazy

From: Eugene Toder (eltoder at gmail.com)
Date: Sat Mar 5 20:24:43 EST 2011


I'm getting a similar impression. The only problem with this is that
racket/stream is available in racket by default and nothing in
documentation hints at experimental status. This confuses people who
use racket to learn scheme by working through SICP book.


On Sat, Mar 5, 2011 at 7:31 PM, Mark Engelberg <mark.engelberg at gmail.com> wrote:
> I've had some email discussions about this with the Racket team in the
> past, so here's a quick unofficial summary of what I've learned, while
> you're waiting for a more official response:
> racket/stream is not really a "stream library" by the typical Scheme
> definition of stream.  It's really a library to manipulate Racket's
> sequence abstraction with list-like functions.  The naming is
> misleading.  The whole library is experimental and is likely to change
> and you shouldn't really be using it anyway.
> Racket does not have a built-in stream library that integrates nicely
> with its sequence abstraction and uses the same naming scheme as its
> built-in list functions.  The srfis 40 and 41 will serve your most
> basic stream needs though (I think I've had better luck with srfi41).
> I get the impression that adding a complete, tightly-integrated stream
> library to Racket is of interest to the developers, but not a high
> priority because:
> a) There are tons of things competing for their development time, and
> something like a stream library is exactly the kind of thing that
> could be easily written by a motivated user.
> b) They believe that Lazy Racket can be used in many situations where
> you'd want to use streams.

Posted on the users mailing list.