如何執行 Haskell Script ?

栏目: 编程语言 · 发布时间: 7年前

内容简介: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

如何執行 Haskell Script ?

執行 GHCi

$ ghci

輸入 ghci 執行 GHC 的 REPL 模式。

如何執行 Haskell Script ?

  1. 輸入 ghci
  2. 在 REPL 模式輸入 putStrLn "Hello World" 顯示 Hello World

離開 GHCi

ghci> :quit

輸入 :quit 離開 GHCi。

如何執行 Haskell Script ?

編譯執行 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 執行檔的檔名

如何執行 Haskell Script ?

如何執行 Haskell Script ?

  1. 編譯出 hello-world 執行檔,也一併編譯出 .hi.hs.o 等中間檔

執行 Hello World

$ ./hello-world

直接執行 hello-world 執行檔。

如何執行 Haskell Script ?

Script 執行 Haskell

Haskell 也可以不用編譯,直接以 Script 形式執行。

建立 Hello World Script

hello-world.hs

#!/usr/bin/env runghc --

main = putStrLn "Hello World"

如何執行 Haskell Script ?

設定執行權限

Script 要能執行,必須先設定期有被執行權限。

$ chmod +x hello-world.hs

使用 chmod 設定 hello-world.hs 能被執行。

如何執行 Haskell Script ?

  1. 紅色 代表有執行權限。

執行 Hello World Script

$ ./hello-world.hs

直接執行 hello-world.hs

如何執行 Haskell Script ?

為了證明 GHC 沒有偷偷編譯,我們來看一下目前目錄。

如何執行 Haskell Script ?

  1. 仍然只有 hello-world.hs ,證明 GHC 沒有偷偷編譯再執行

Conclusion

  • Haskell 除了可編譯外,尚提供 REPL 與 Script
  • 尤其是 Haskell Script,讓 Haskell 的可用性又更上一層樓

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

SRE

SRE

贝特西 拜尔 (Betsy Beyer)、等 / 孙宇聪 / 电子工业出版社 / 2016-10-1 / CNY 108.00

大型软件系统生命周期的绝大部分都处于“使用”阶段,而非“设计”或“实现”阶段。那么为什么我们却总是认为软件工程应该首要关注设计和实现呢?在《SRE:Google运维解密》中,Google SRE的关键成员解释了他们是如何对软件进行生命周期的整体性关注的,以及为什么这样做能够帮助Google成功地构建、部署、监控和运维世界上现存最大的软件系统。通过阅读《SRE:Google运维解密》,读者可以学习到......一起来看看 《SRE》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具