Haskellはじめました

id:hyukiさんが,結城浩のHaskell日記 - haskellを始められたので,えらく簡単に触発され,Haskellの勉強を始めました.とは言っても基本的には結城さんの日記を読みながら動かして,ってだけで本を買ったりはしてませんけども.


はてなRSSに登録したのが一番乗りだったのが少し嬉しかった.


早速,自作reverse関数を書いてみました.

myreverse :: [a] -> [a]
myreverse [] = []
myreverse (x:xs) = (myreverse xs) ++ [x]


hugsで試してみた結果です.

Main> myreverse [1,2,3]
[3,2,1]
Main> myreverse "hello"
"olleh"
Main> map myreverse $ words "Aho Kernighan Weinberger"
["ohA","nahginreK","regrebnieW"]

なんだか動いてくれてるようです.
定義がとてもアッサリしてて,Rubyとかとは比べ物になりませんね.これでちゃんと文字列も反転してくれるのは,Stringが[Char]だからなんだ.なんとなぁ.


どーでも良い事だけど,ghcのインストール(darwinportで)にすげー時間がかかった.インストールするときは覚悟が必要だなぁ.