僕の家にふつうのHaskellがやってきた

昨日「まずはRuby」って言っておきながらなんで手元に「ふつうのHaskell」があるんだ。。というか、本当は買うつもりなかったのに会社の近くの本屋行ったら一冊ぽつんとあって、立ち読みしてたら面白そうだったから買っちゃいました。LL Ring+ここのところ数学っぽい本ばっかり読んでたのが勢いの元だろうか。関数型言語って名前が数学っぽくて良いし。
いや、しかし面白いです。青木さんの本は初めて読むんだけど帰りの電車でかなり没頭して読んじゃいました。「なんで?」って思った端から解説をしてくれるようで心地良いし、さすがにHaskellの本ともなると「プログラミング言語とは」みたいな長いイントロもなくてリズムも良いです。あと、まずはUnixのコマンドを実装してみちゃおうというのも完成図が想像出来て良いアイディアだと思いました。

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門

ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門

さっそく家に帰ってGHCのインストール方法を探して入れて、コマンドを実装してみました。記念すべき初めてのHaskellがこれ。

main = do cs <- getContents
          putStr cs

初めてなのにHello,World!じゃないのは邪道だろうか?それにしても新鮮な文法だ。1行目のcsとputStrは縦に並んでないとダメらしい。試しに空白を消してみたらホントにコンパイルが通らなかった。*1

関数型自体初めてだし、前からLispでもやってみようと思ってたんだけどなかなか手が出せずにいたけど、この時流に乗って関数型も知っておこう!あと、Haskellって名前かっこいいし。(いや、理由はアレだけどほんとかっこいい名前ですよね)

Unixコマンドを実装するのは良いっすね。王道な勉強方法かもしれないけど、Windows生まれの僕はあんまりそういう勉強方法でやってなかったです。Rubyもこういうの組んで勉強した方が良さそうだなぁ。

追記

そうそう、GHCDarwinPortsとかではIntel版がまだだったので、探してみたらVersion6.5の開発版がリンクのページの方法で簡単に入りました。感謝!
Intel MacでHaskellプログラミング - Accept Things

*1:Haskell知ってる人からするとひどくアホみたいな事言ってるんだろうなぁ。