トップ «前の日記(2007-04-14) 最新 次の日記(2007-04-16)» 月表示 編集

日々の流転


2007-04-15 [長年日記]

λ. Trampolined Style by Steven E. Ganz, Daniel P. Friedman and Mitchell Wand

昨日のRHG読書会のjsthreadの話に出てきていたので、読んでみた。 control operator 系(?)の話は苦手で、読んでもあまり分かった気がしない。

Trampolined style で書かれた階乗のコードは以下。 基本的には末尾呼び出しの形式で、末尾で値を返す部分をreturn関数を介するように、末尾呼び出し部分をbounce関数を介するようにしてある。

(define fact-acc
  (lambda (n acc)
    (if (zero? n)
        (return acc)
        (bounce
         (lambda ()
           (fact-acc
            (sub1 n)
            (* acc n)))))))

(後で書くかも)

モナド等と違って T, return, bounce の満たすべき代数法則が与えられていないのが、何だか不思議。

Tags: 論文

λ. 風邪気味

先週の疲れが出たのか、体調が悪い。 今日は携帯の機種変更をしに行こうと思っていたが、ゆっくり休むことにする。