2008年10月9日木曜日

fixTemps

Squeak SmalltalkでY-combinatorを実現するには,どうすべきか.

ブロックはクロージャではないので,sumimさんのサイトを参考にするとcopy fixTempsを使えばできるようだ.
copy fixTempsで自分と環境のコピーができるのはいいだが,fixTempsだけだと何なんだろう.
調べなければ・・・.

それにしても,Squeakもそろそろクロージャにしないのかな.

fact := [ :n | n = 0 ifTrue: [ 1 ] ifFalse: [ n * ((fact copy fixTemps) value: n - 1) ] ].
fact copy fixTemps value: 10.

0 件のコメント: