2009-05-07から1日間の記事一覧

Y-Combinator=Linker

http://d.hatena.ne.jp/kilrey/20090505#p1を書いて得心したのだけど、Y-Combinatorってリンカなのね。 (define p0 (lambda (f0 f1) (lambda (n) (if (zero? n) 1 (+ n (f1 (- n 1))))))) だったら(f0 f1)が環境で、(lambda (n)〜)がオブジェクト。YYが環境…

書き忘れてた

毎回lambdaを生成するのは実行コストが高いからdelay〜forceすると軽くなる*1。 delay〜force化 (define YY (lambda (index . metas) ((lambda (mm) (apply (mm (list-ref metas index)) (map mm metas))) (lambda (meta) (lambda procs ((lambda (pp) (appl…