Haskell-HelloWorld!

Haskellという言語を勉強し始めました。

Haskellの特徴

と、全然何の事か全然わかっていないのですが…、風のウワサで『書き易い』や『ソースを再利用しやすい』、『ハッカーが愛用している』等々聞いていたので、前から興味があったんですよね。

インストール

さて、Haskellの処理系で有名な物ではHugsGHC、nhc98等がありますが、WinHugsというインタプリタを使ってみる事にします。

下記からインストール。

Windows用の安定版は2003のリリース物のようですので、それが良いでしょう。インストーラも中々親切に作ってあります。Typicalを選択してインストール。Winhugsを起動して、お決まりのハローワールドでも実行しようかしら。
インストールも簡単だったし、よもや躓くことは無いだろうと踏んでいたのですが、どうも動作がおかしい…。ファイルを読み込もうとするとERRORが…。パスの設定が必要なのかしら?XPの性?などと色々調べてみても原因わからず。しょうがないので某メガネのお方にも試してもらう。むむ???。すんなり実行してしまう。となると悪いのは自分だ!!って言う事で、気がつきました、原因は文字コードです…、テキストエディタの保存形式がUTF-16LEだった。普段Windowsの環境でプログラミングなんてしないせいか気が付くの遅かった…。(エラーメッセージももっと判り易いのにしてくれればいいのに。とか愚痴w)

そんな調子で始まるHaskell勉強日記。ハジマリ。

Hello World!

HelloWorld.hsなんてファイル名で↓のソースを書いてくださいね。

-- comment: print Hello World to terminal
module HelloWorld where

helloworld :: IO ()
helloworld = putStr "Hello World!"

GUIからlordした後は、プロンプトにhelloworldと入力すれば
Hello World
と出力されます。

使える文字コード

ASCII準拠なら平気そう。日本語は駄目!
UTF-8に関してはByte Order Markが無ければ大丈夫そう。

JIS
OK
Shift-JIS
OK
EUC
OK
UTF-8N
OK
UTF-8
NG ERROR "C:\hello.hs":1 - Syntax error in declaration (unexpected symbol "Hello")
UTF-16LE
NG ERROR "C:\hello.hs":1 - Unrecognised character `\0' in column 4
UTF-16BE
NG ERROR "C:\hello.hs":1 - Unrecognised character `\0' in column 3

でも、ドラッグ&ドロップでソースをlordさせられるはずなんだけどなぁ…。
ERRORが出る…。