Haskellを使ってProject Eulerに挑戦する

Project Eulerというサイトがある。 数学的な(とはいっても専門知識を必要とするようなものではない)問題を解 いて答えを入力すると正解かどうか判定してくれるというものだ。問題はどれ も人間が手で計算するにはちょっと面倒な設定になっていて、問題を解くプロ グラムを書いて答えを求めるように意図されている。アカウントを作成して参 加し、正解した問題にはチェックがつくというゲーム的な演出もあり、プログ ラムの演習的な題材としてよくできている。

最近(最近でもないが)Haskellに興味があるのだが、ただ興味があるだけでは なかなか身に着かないものなので、Haskellの練習もかねてこのProject Euler の問題に挑戦してみようと思う。Haskellのような関数型言語はこういう演習的 な問題を解くのに適しているので、練習の題材としてはちょうどいいと思う。

Haskellの環境を準備するのはこのページの本題ではないので割愛するというか Googleで調べてもらえばいろいろあると思う。とりあえず使用する処理系は ghc。Fedoraマシンで実行しているのでyum install ghcでインストールできた。 エディタはemacs。 haskell-mode というのを使えば色もつくし自動でインデントしてくれるので便利だ。という かHaskellの場合レイアウトを使うのが普通なのでインデントしてくれないとか なり大変。他に はhrefというツー ルもオススメ。これはコマンドラインから使えるHaskellのリファレンスマニュ アルで、日本語で説明してあって例もあるので非常に便利だ。