読者です 読者をやめる 読者になる 読者になる

(wat-aro)

無職から有職者にランクアップしました

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な木構造も作ることができる.