λx. x K S K @はてな

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

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

APLAS 最終稿

提出したものに不備があったようで結果的に大幅に遅れてしまいました. 関係者の方々には非常に申し訳ないです.

#005 存在型(2)

先日 OCaml で存在型を実装する方法を紹介したが, 前回の例はあまり面白くないものだったので, こちらの記事にある存在型に対して同様の実装をしてみることにする. この記事にもあるように存在型は module として実装することも可能である (こちらの方が…

負の駆逐

(これは id:KeisukeNakano:20060817:1155714034 の解答です.問題はそちらをご覧ください) 挑戦した方に前もって言っておくと 「実際に操作を繰り返してその回数を数えるプログラム」というのは期待された解答ではない. もっと効率的にその回数を求めてほ…

APLAS

(だいぶ前にわかっていたことだが)めでたく採録されたらしい. S さん曰く「(採録された論文は)AsianというよりWesternな感じ」. しかし,シドニーで開催するという時点で Asian ではない気もする. とりあえず,最終稿に向けて鋭意修正中.

負の駆逐

研究室合宿でのプログラミングコンテストで出題した問題. 正解したチームは多かったものの, 解答時間が実質一時間しかなかったせいもあり, 残念ながら期待していた解答をしたチームは無かった. 暇な人は是非チャレンジを. 解答は後日ということで. 円…

#004 中置演算子化

Haskell の場合,任意の関数 f に対し, `f` のように `(バッククオート)で囲むことにより中置演算子(infix operator)として用いることができる. 一方,OCaml でユーザが定義できる中置演算子は一部の記号に限定されている. 以下では,OCaml で任意の…

#003 代数的データ型

int 型の要素から成るリストは,type int_list = Nil | Cons of int * int_list のように再帰的に定義され. 'a t = 'a (ここで type 'a t = Nil | Cons of int * 'a ) を満たすような t の最小不動点として捉えることができる. このような代数的データ型…