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

From: Mark Engelberg (mark.engelberg at gmail.com)
Date: Sat Mar 5 19:31:54 EST 2011

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.