valuesの定義

多値を返す関数valuesは、R5RSにおいて下のようにcall/ccを使って定義されていることは比較的有名なことと思う。 (define (values . args) (call/cc (lambda (cc) (apply cc args)))) ところが、2,3年ほど前Schemeをやり始めた頃に使っていたMIT-Schemeでは…

applyの定義

mapやreverse、append等の関数を定義しなさい、という練習問題はSchemeの本であればどれでも載せているようなものだけれども、applyを定義させるような問題はあまり見かけないように思う。もちろん、「SICPの4章5章あたりでevalと一緒に嫌というほど実装して…

はてなはじめました

id:mzpさんにほだされて(?)はてな始めました。 思ってたよりおもしろいかもしれない。馴染めばもっと便利になりそう。日記については筆不精なので書かなくなる可能性も高いけど、まぁしばらくはネタ(特にScheme他プログラミング関連の)を見つけて更新してい…