2011-10-12から1日間の記事一覧

モナドって何だろう

モナドを使うと何が良いのか、モナドを使った場合と使わない場合を比較してみます。 関数プログラミングはデータに何度も関数を適用することにより希望する出力を得ます。データを引数として関数を適用し、その結果に関数を適用し・・・と関数プログラミング…

Parsecにちょっと触ってみる(8): try はパースに失敗しても入力を消費してないように振る舞う。

Parsec, 高速なコンビネータパーサ 「string "(a)" string "(b)"」は"(a)" または "(b)" にマッチすることを期待したパーサ。 "(a)" にはマッチする > :m Text.ParserCombinators.Parsec > parseTest (string "(a)" <|> string "(b)") "(a)" -- > "(a)" "(b)…