kb84tkhrのブログ

何を書こうか考え中です あ、あと組織とは関係ないってやつです 個人的なやつ

Reasoned Schemer (64) 読み返し10章(続き)

まだイメージしきれないのは(append-inf s-inf t-if)
(lambda () (append-inf t-inf (s-inf)))するところかな

たぶん↓とかもそういうところなんだよな

(run 12 l (proper-membero'tofu l))の値の順番がなぜこうなるのか謎

append-infの続きあたりからもう一度読んでみよう
たぶんこのへんがそれを説明しようとしているところ

まずはneveroから
ここは大丈夫なはず・・・

  ((nevero) empty-s)
= ((lambda (s) (lambda () ((nevero) s))) empty-s)
= (lambda () ((nevero) empty-s))

何度評価しても(lambda () *1しか返ってこないから
no valueってことだよな

えーとこういう感じか

  (run-goal 1 (nevero))
= (take-inf 1 ((nevero) empty-s))
= (take-inf 1 (lambda () ((nevero) empty-s)))
= (take-inf 1 ((lambda () ((nevero) empty-s))))
= (take-inf 1 ((nevero) empty-s))
= (take-inf 1 ((lambda () ((nevero) empty-s))))
= ...

次からappend-infが登場
うまく追っかけられるだろうか

*1:nevero) empty-s