2012-02-01から1ヶ月間の記事一覧
ほんとに、ちょびっとだけ。カスタマイズと呼ぶのが恥ずかしいほどです。とにかくscalaのコンパイル/実行手順が面倒で、小さなテストに一々MakeFileを作るのもアホらしい話なので、軽くVimScriptの書き方を調べて、次のような.vimrcファイルを仕立ててみま…
関西で開かれる関数型勉強会で、発表する機会を得たので、Haskell以外の関数型言語にも触れておく必要があると考えて、Scalaの使い方を覚える事にしました。 Scalaは今も後需要が高まっていきそうな言語なので、使えるようにしておくのは良いかもしれません…
例えば、xを2倍してshowする関数fを考えます。 素直に書けば次のようになるでしょう。 Prelude> let f x = show (x * 2) Prelude> f 5 "10"こういったシンプルな処理は、ポイントフリースタイルにするのがHaskellらしいプログラミングですね。 Prelude> let…
前回、テープの走査をモナドに包む時に、テープの値と一緒に、「ヘッドのステータス」を状態として保持できるようにしました。 この値は単なるInt型として実装したのですが、明確なアイデンティティを与えるため、HeadStateという別名を付けました。 --ヘッ…
Arrowの基本、三本目の記事は、Arrowが関数を繋いでいく流れの中で条件分岐を作り出す ||| 演算子の再実装をしていきます。 Prelude Control.Arrow> :i (|||) class (Arrow a) => ArrowChoice a where ... (|||) :: a b d -> a c d -> a (Either b c) d -- D…