Welcome to MzScheme v4.1.4 [3m], Copyright (c) 2004-2009 PLT Scheme Inc. > > (define a (enumerate 1 10)) > a (1 2 3 4 5 6 7 8 9 10) > (define a (cdr a)) > a (2 3 4 5 6 7 8 9 10) > (define a (cdr a)) > a (3 4 5 6 7 8 9 10) > (define a (cdr a)) > a (4 5 6 7 8 9 10) > (define (ints-from-n n) (cons n (ints-from-n (+ n 1)))) > (define b (ints-from-n 1)) C-c C-cuser break === context === stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n stdin::176: ints-from-n ... > a (4 5 6 7 8 9 10) > (define (ints-from-n n) (cons n (lambda ()(ints-from-n (+ n 1))))) > (define b (ints-from-n 1)) > (define a (cdr a)) > a (5 6 7 8 9 10) > (car b) 1 > b (1 . #) > ((cdr b)) (2 . #) > ((cdr b)) (2 . #) > (define b ((cdr b))) > b (2 . #) > (define b ((cdr b))) > b (3 . #) > (define b ((cdr b))) > b (4 . #) > (define (ints-from-n n) (cons n (lambda ()(ints-from-n (+ n 1))))) > (define b ((cdr b))) > b (5 . #) > (define b ((cdr b))) > b (6 . #) > (define b ((cdr b))) > b (7 . #) > delay stdin::610: delay: bad syntax in: delay === context === /Applications/PLTScheme/collects/scheme/private/misc.ss:74:7 > if stdin::616: if: bad syntax in: if === context === /Applications/PLTScheme/collects/scheme/private/misc.ss:74:7 > and stdin::619: and: bad syntax in: and === context === /Applications/PLTScheme/collects/scheme/private/qq-and-or.ss:338:6 /Applications/PLTScheme/collects/scheme/private/misc.ss:74:7 > force # > (define a (delay 2)) > a # > (force a) 2 > (define ask-nicely force) > a # > (ask-nicely a) 2 > (define (ints-from-n n) (cons n (delay (ints-from-n (+ n 1))))) > (define b (ints-from-n 6)) > b (6 . #) > (ask-nicely (cdr b)) (7 . #) > (define (stream-car s) (car s)) > (define (stream-cdr s) (force (cdr s))) > b (6 . #)>) > (stream-car b) 6 > (stream-cdr b) (7 . #) > > b (6 . #)>) > (stream-filter even? b) (6 . #) > (define a (stream-filter even? b)) > (stream-car a) 6 > (stream-car (stream-cdr a)) 8 > > b (6 . #)>)>) > (define c (add-streams b b)) > c (12 . #) > (stream-car (stream-cdr c)) 14 > (define c (add-streams b a)) > c (12 . #) > (stream-car (stream-cdr c)) 15 > (define ones (cons 1 (delay ones))) > > (stream-ref c 12) 48 > (stream-ref ones 12) 1 > > (define fibs (fibgen 1 1)) > fibs (1 . #) > (stream-ref fibs 3) 3 > (stream-ref fibs 4) 5 > (stream-ref fibs 5) 8 >