Hello, On Tue 04 May 2010 17:21, Linas Vepstas <linasveps...@gmail.com> writes:
> On 4 May 2010 01:32, user8472 <head_over_he...@freenet.de> wrote: >> >> This code works fine (and computes e): >> (define y (integral (delay dy) 1 0.001)) >> (define dy (stream-map (lambda (x) x) y)) >> (stream-ref y 1000) >> >> The following code *should* be identical: >> (define (solve f y0 dt) >> (define y (integral (delay dy) y0 dt)) >> (define dy (stream-map f y)) >> y) >> (solve (lambda (x) x) 1 0.001) > > You should use let*, not define, for this. Incidentally, R6RS would expand out these internal defintions using letrec*, which would be equivalent to let* in this case. Andy -- http://wingolog.org/