λx. x K S K @はてな

このブログ内に記載された文章およびコードの著作権は,すべて Keisuke Nakano に帰属します.

2006-09-01から1ヶ月間の記事一覧

ja.reddit.com

というソーシャルブックマーク(?)があるというのを恥ずかしながら最近聞いたので, 見にいってみると自分の記事が紹介されていてびっくり. 紹介してる yoriyuki さんというのはあの yoriyuki さんかな. 8 point も頂いているということは, 少なくとも …

#009 賢人鳥をまねる

OCaml では,let rec を使わずに再帰関数を模倣することができる. 但し「for ループを使えばできる」とかそういう話ではない. 例えば,階乗を計算する関数 fact は,通常 let rec を用いて,let rec fact n = if n > 0 then n * fact (n-1) else 1 と再帰…

ANA の穴

11月にシドニーへ出張の予定だが, ANA はオセアニア方面には運行していないらしい. ちょっと意外. スターアライアンス系列で成田からシドニーに行けるのは, オークランド経由のニュージーランド航空のみ. 直通で行けるのは JAL かカンタスだけだが, ど…

#008 遅延評価の実装

OCaml で遅延(怠惰*1)評価を 実装する方法があるが, 毎回 lazy や Lazy.force を書かないといけないため非常に面倒である. たとえば,ML の授業などでは,type 'a lazy_list = Nil | Cons of 'a * 'a lazy_list lazy_t とすれば簡単,と教わるのではない…

関数型言語ブーム

近所の図書館に行ったら「ふつうのHaskellプログラミング」が置いてあった. 小さな図書館だったので,情報リテラシーとかの書籍にまぎれていたのだが, まあ,そんな小さな図書館に置かれるほど関数型言語が流行っていると言えるかもしれない. OCaml でも…

違和感の理由

今年の JSSST の大会の招待公演者が,それぞれ修士課程と博士課程の指導教官だったりする事実. ああ,それに恥じない研究者にならねば….

#007 再帰の泣き所

今回のPPLサマースクール (ココも参照)は非常に参考になった. 関数型言語の実装についてはある程度分かった気でいたのだが, 自分の中で大きな勘違いをしていたようだ. それはコンパイルにおけるクロージャ変換のフェーズである. これまで,OCaml でプ…

#006 禁断の Obj

先日,フランスの XML 関係の研究者と共著する機会があり, 「こっちの方が早いだろ」「いやココを変えればこっちの方が」 「いやいやまだまだ改善できる」だの OCaml のコードで文通をしたりしていたが, そんな中,相手のこの一行に愕然としてしまった.ex…