2016/01/10

SICP 問題 4.32

遅延度の高い遅延リストではcar部も遅延されているので未定義の変数を使って構成するできる.

;;; M-Eval input:
(define my-stream (cons x y))

;;; M-Eval value:
ok

;;; M-Eval input:
my-stream

;;; M-Eval value:
(compound-procedure (m) ((m x y)) <procedure-env>)

car部もlazy-evaluateされるのでlazyなリスト(ストリーム)だけでなくlazyな木構造も作ることができる.


© 2022 wat-aro