内容简介:GHC 是 Haskell 最有名的 compiler,除了可編譯 Haskell 外,還提供了 REPL 與 Script 模式,讓我們甚至可以直接寫 Haskell Script,非常方便。macOS High Sierra 10.13.6GHC 8.4.3
GHC 是 Haskell 最有名的 compiler,除了可編譯 Haskell 外,還提供了 REPL 與 Script 模式,讓我們甚至可以直接寫 Haskell Script,非常方便。
Version
macOS High Sierra 10.13.6
GHC 8.4.3
安裝 GHC
$ brew install ghc
使用 Homebew 安裝 GHC。
REPL 執行 Haskell
修改 Prompt
預設 prompt 為 Prelude>
,可自行修改成 ghci>
。
.ghci
:set prompt "ghci> "
在 home directory 建立 .ghci
,設定 prompt 為 ghci
。
執行 GHCi
$ ghci
輸入 ghci 執行 GHC 的 REPL 模式。
- 輸入
ghci
- 在 REPL 模式輸入
putStrLn "Hello World"
顯示Hello World
離開 GHCi
ghci> :quit
輸入 :quit
離開 GHCi。
編譯執行 Haskell
GHC 可將 Haskell 編譯成執行檔執行。
建立 Hello World
hello-world.hs
main = putStrLn "Hello World"
以 Haskell 印出簡單的 Hello World
。
GHC 編譯
$ ghc -o hello-world ./hello-world.hs
使用 ghc
編譯 hello-world.hs
。
- -o :
o
utput 執行檔的檔名
- 編譯出
hello-world
執行檔,也一併編譯出.hi
、.hs
與.o
等中間檔
執行 Hello World
$ ./hello-world
直接執行 hello-world
執行檔。
Script 執行 Haskell
Haskell 也可以不用編譯,直接以 Script 形式執行。
建立 Hello World Script
hello-world.hs
#!/usr/bin/env runghc -- main = putStrLn "Hello World"
設定執行權限
Script 要能執行,必須先設定期有被執行權限。
$ chmod +x hello-world.hs
使用 chmod
設定 hello-world.hs
能被執行。
-
紅色
代表有執行權限。
執行 Hello World Script
$ ./hello-world.hs
直接執行 hello-world.hs
。
為了證明 GHC 沒有偷偷編譯,我們來看一下目前目錄。
- 仍然只有
hello-world.hs
,證明 GHC 沒有偷偷編譯再執行
Conclusion
- Haskell 除了可編譯外,尚提供 REPL 與 Script
- 尤其是 Haskell Script,讓 Haskell 的可用性又更上一層樓
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。