Haskellの勉強も始めた.教科書としては以下のものを使ってる.
処理系
Hugsは軽量で可搬性の高いインタプリタである.コンパイル時間が速く,インクリメンタルなコンパイルを行うことも出来る.しかし,インタプリタであるため実行時のパフォーマンスが落ちる.
GHCはHugsより遅くメモリ消費が大きい.しかし,生成されたコードの実行時間ははるかに速くなる.
その他の処理系についてはここを参照
Hello, World
-- Hello, World main = putStrLn "Hello, World!"
'--'以降がコメント.'main ='となっているのは,mainという関数を定義している.Cと同じようにプログラムはmain関数を実行する.putStrLnは文字列を受け取って改行付きで標準出力に出力する関数.
コマンド
ghci
$ ghci hello.hs ___ ___ _ / _ \ /\ /\/ __(_) / /_\// /_/ / / | | GHC Interactive, version 6.4.1, for Haskell 98. / /_\\/ __ / /___| | http://www.haskell.org/ghc/ \____/\/ /_/\____/|_| Type :? for help. Loading package base-1.0 ... linking ... done. Skipping Main ( hello.hs, hello.o ) Ok, modules loaded: Main. Prelude Main> main Hello, World Prelude Main> Leaving GHCi. $
hugs
$ hugs hello.hs __ __ __ __ ____ ___ _________________________________________ || || || || || || ||__ Hugs 98: Based on the Haskell 98 standard ||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005 ||---|| ___|| World Wide Web: http://haskell.org/hugs || || Report bugs to: hugs-bugs@haskell.org || || Version: March 2005 _________________________________________ Haskell 98 mode: Restart with command line option -98 to enable extensions Type :? for help Main> main Hello, World Main> [Leaving Hugs] $