[racket] stream-cons from racket/stream isn't lazy
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.