ghci の実行 (対話モード)
> stack ghci
ghci> 2+2
4
ghci> (+) 2 2
4
ghci> foldl1 (+) [1..10]
55
ghci> :q
Leaving GHCi.
runghc の実行 (スクリプト実行)
- 下記のようなスクリプトを作成し、ファイル名を hello.hs とする。
main = putStrLn "Hello, world!"
> stack runghc hello.hs
Hello, world!
> stack ghc hello.hs
[1 of 2] Compiling Main ( hello.hs, hello.o )
[2 of 2] Linking hello.exe
> .\hello.exe
Hello, world!
プロジェクトの作成とビルド
> stack new hello
- app/Main.hs に下記のようなコードが吐かれる。
module Main (main) where
import Lib
main :: IO ()
main = someFunc
- src/Lib.hs に下記のようなコードが吐かれるので、少し改変してみる。
module Lib
( someFunc
) where
someFunc :: IO ()
someFunc = putStrLn "Hello, world!"
> cd .\hello
> stack build
- 実行する。(プロジェクト名-exe で指定する。)
> stack exec hello-exe
Hello, world!
- 実行ファイルは下記のようなディレクトリに出力されている。(ビルド時のメッセージに表示される。)
hello\.stack-work\install\xxxxxxxx\bin\hello-exe.exe