Haskell始めました

Haskellは前に少しだけ触ったことがあるのですが、ちゃんと使ってみようという気になりもう一度勉強を始めました。

とりあえず有名処理系のGHCをダウンロードしようとしたところ、ダウンロードページにHaskell Platformでライブラリと一緒に入れたほうがいいよ!と書いてあったのでそちらをインストール。

まずは階乗の計算から。

--fact.hs
fact 0 = 1
fact n = n * fact (n - 1)

main = print (fact 5)

プログラムはmain関数から始まります。関数factの定義が何の予告もなしに二行になっているのが数学っぽいですね。また、コメントには「--」から行末がコメントになる形式と、「{-」と「-}」で囲む形式があります。

これをghcコンパイルして実行すると、

$ ghc fact.hs -o fact
$ ./fact
120

と出力されます。インタプリタはghciにありますが、関数定義にletが必要だったり面倒なので、デバッグとかに使ったほうがよさそうです。