SICP 読み (124) 3.5.1 ストリームは遅延リスト
脚注 56 (p.189) に微妙な記述がある。何だそりゃ、と言いつつ gosh で確認。
gosh> delay #<syntax delay> gosh> force #<subr force> gosh>
たしかに delay は syntax で force は subr になっているんですが、特殊形式って何だったっけか。と言いつつ以下に備忘録をメモ。
特殊形式
SICP によると p.6 に説明あり。ここでは
gosh> (define x 3) x gosh>
が例に挙げられている。確かに define は手続きではないな。gosh で確認。
gosh> define #<syntax define> gosh>
うーん。cons-stream も delay も特殊形式じゃないといかんのだけれど、その定義の方法が SICP には書いてない。で、仕方がないので google 先生にお伺いしてみると、define-syntax なんてソレが (以下略
家に戻ったら_amazon:プログラミング言語scheme_があったりするんでそっち調べてみるか。ただ、この後出てくる問題 3.50 から 3.52 までは基本的に机上の問題なんで、とっとと検討せい、って世界なのは分かってるんだけど ....