Consider using Lazy Racket. -- Matthias
On Mar 5, 2011, at 3:36 PM, Eugene Toder wrote: > Hello, > > stream-cons from racket's standard racket/stream.rkt is implemented as > a macro -stream-cons wrapped into a case-lambda. > This wrapping makes it strict in both arguments, contrary to the > traditional behaviour from SICP, srfi-40, srfi-41 etc. > For example: > >> (define (foo) (display "called\n") empty-stream) >> (stream-cons 1 (foo)) > called > #<sequence> >> (require srfi/41) >> (stream-cons 1 (foo)) > #<stream> > > Is this intentional? Is there a way to get traditional lazy behaviour > other than by implementing it with make-do-sequence or generator? > > Eugene > _________________________________________________ > For list-related administrative tasks: > http://lists.racket-lang.org/listinfo/users _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users