如何執行 Haskell ?
Haskell 除了編譯,也提供 REPL 與 Script
Contents
Haskell 提供各種執行方式,除了可編譯之外,還提供 REPL、Script,也可直接在 IDE 內執行,非常方便。
Version
macOS High Sierra 10.14
GHC 8.4.3
Haskell for Mac 1.6.0
安裝 GHC
1 | $ brew install ghc |
使用 Homebew 安裝 GHC。
執行 GHCi
預設 prompt 為 Prelude>,可自行修改成 GHCi>。
.ghci
1 | :set prompt "GHCi> " |

- 在 home directory 建立
.ghci,設定 prompt 為GHCi。
1 | $ ghci |

- 輸入
ghci - Prompt 為
GHCi
1 | ghci> :q |

- 輸入
:q離開 GHCi。
編譯執行 Haskell
GHC 可將 Haskell 編譯成執行檔執行。
HelloWorld.hs
1 | main = |
以 Haskell 印出簡單的 Hello World。
main 為 Haskell 執行檔第一個執行的 function
1 | $ ghc HelloWorld.hs |
使用 ghc 編譯 HelloWorld.hs。


- 編譯出
HelloWorld執行檔,也一併編譯出.hi與.o等中間檔
1 | $ ./HelloWorld |

- 直接執行
hello-world執行檔。
以 GHCi 執行 Haskell
Haskell 亦可以使用 REPL 方式執行。

- 輸入
ghci進去 GHCi - 輸入
:l+檔名載入檔案 - 在 GHCi 執行 function
以 runghc 執行 Script
Haskell 也可以不用編譯,直接以 script 形式執行。

runghc+檔案名稱即可立即執行
直接執行 Script
也可如同 Bash 一樣,直接執行 script。
HelloWorld.hs
1 | #!/usr/bin/env runghc |
在第一行加上 #!/usr/bin/env runghc
1 | $ chmod +x HelloWorld.hs |
使用 chmod 設定 HelloWorld.hs 能被執行。
1 | $ ./HelloWorld.hs |
直接執行 HelloWorld.hs。

Haskell for Mac

- 建立
HelloWorld.hs - 在左側建立
mainfunction - 在右側
Run Playground執行 function,相當於 GHCi - 下方顯示結果
Conclusion
- Haskell 除了可編譯外,尚提供 REPL 與 Script 模式,無論你習慣編譯式語言或者 Script,都可以找到自己習慣的方式
- Haskell 也可以類似 Bash 方式直接執行
- 若使用 Haskell for Mac 這類 IDE,也類似 GHCi,可以每個 function 單獨測試