Haskell-HelloWorld!
Haskellという言語を勉強し始めました。
インストール
さて、Haskellの処理系で有名な物ではHugs、GHC、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 wherehelloworld :: 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が出る…。