たとえば、次のような名前のファイルを作成します。fact.hs
-- copying cedric's nicely formatted code
fact :: Int -> Int
fact n = if n == 0
then 1
else n * fact (n-1)
本当にそこにいる必要があるのはそれだけです。実際のモジュールを作成したい場合は、追加の作業を行う必要があります。
次に、同じフォルダーから ghci を開きます。ghci プロンプトで、:l
コマンドを使用して「モジュール」をロードします。
Prelude> :l fact.hs
[1 of 1] Compiling Main ( fact.hs, interpreted )
Ok, modules loaded: Main.
*Main> fact 3
6
*Main> fact 10
3628800
ハグと非常によく似たプロセスだと思います。抱擁では、ファイル名を大文字にする必要があると思います。ghci は単に「メイン」モジュールを作成し、コードをその中に入れます。そのため、プロンプトが からPrelude>
に変わります*Main>
小さな Haskell 関数を扱うときは、通常 2 つのターミナルを開いたままにします。1 つは vim 用で、もう 1 つは ghci 用です。vim でファイルを変更 (および保存) するときは:r
、ghci を使用して新しい定義をリロードします。
*Main> :r
Ok, modules loaded: Main.