Haskell: はろーわーるど

(2008.11.9 この節更新。2014.2.4 更新)

まずはお約束の「はろーわーるど」から。

Haskellソースファイルは, ファイル名の拡張子を .hs にします。

GHCでは、ソースコードの文字コードはUTF-8 限定です。UTF-8以外の場合、コメント以外の場所に書けるのはASCIIだけです。

Haskell
[RAW]
  1. {- 01.hs: Haskell "Hello World" -}
  2. main = putStrLn $ tail "はろーわーるど!" -- putStrLn は文字列を出力する

ソースコードを説明します。

  • コメントは「--」から行末までか,「{-」から「-}」までの間です。
  • 「=」は関数の定義です。左辺の名前の関数を作ります。内容は右辺です。関数の再定義(再代入)はできません。
  • プログラムは,「main」という名前の関数から, 実行が開始されます。ですので, mainはどのプログラムにも必要です。
  • putStrLn は文字列を出力する関数です。Haskellでは, 関数呼び出しで, 実引数に括弧を付けません (付けてはいけません)。
  • tail は, リストの2番目から最後までを取り出します。
  • ($) は関数をつなげる記号で, $の右側を実行した結果を左側の関数の引数として, 左側の関数を呼び出します。

コンパイル、実行

コンパイルして実行ファイルを作るか, 直接実行します。

コンパイルは ghc コマンドです。オプションを何も付けないと, リンクまでおこないます。コンパイルに成功すると, ソースファイルの拡張子を除いた名前の実行ファイルが作られます。

$ ghc 01.hs
[1 of 1] Compiling Main             ( 01.hs, 01.o )
Linking 01 ...

または, runhaskell コマンドで, 直接ソースファイルを実行できます。

実行結果:

ろーわーるど!

文字列は, 内部では Unicode で表現され, 日本語ではおおむね文字単位で保持されます。tail 関数できちんと2文字目からが得られています。