2007-06-23から1日間の記事一覧

forall とか 型クラスとか

勉強会(http://www.agusa.i.is.nagoya-u.ac.jp/person/mzp/hiki/?SICP)で、S 式ネイティブコンパイラを作ろうぜ、ということだったので、id:mzp や id:suer さんに手伝ってもらってちょっと作ってみてた。 前々から一度 forall を使ってみたかったのと、数値…

OCaml で Parsec っぽく

OCaml で Parsec っぽいことをやろうとしていましたが、中途半端な状態で終わってしまいました。State モナドっぽいやつを作って、bind とか return も定義して、いくつかの基本的なパーサコンビネータと選択演算子はできたんですが、パースを失敗したときに…

Arrow の do 記法

id:syd_syd さんに教えていただいた arrow の do 記法。do 記法内でバインドした値は(おそらく) arrow の中に入れることしかできない。つまり arrow として使えない。僕はよくわかっていないんですが。 {-# OPTIONS -farrows #-} import Control.Arrow listc…