如何執行 Haskell Script ?

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

内容简介: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 的可用性又更上一層樓

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

查看所有标签

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

UNIX系统编程: 通信、并发与线程

UNIX系统编程: 通信、并发与线程

【美】Kay Robbins、Steve Robbins / 师蓉 / 电子工业出版社 / 2018-5 / 198

《UNIX系统编程: 通信、并发与线程》是一本基于最新UNIX标准的完备的参考书,对UNIX编程的要点进行了清晰易懂的介绍,从一些用于说明如何使用系统调用的短小代码段开始,逐渐过渡到能帮助读者扩展自己技能水平的实际项目中。《UNIX系统编程: 通信、并发与线程》中对通信、并发和线程问题进行了深入探讨,对复杂的概念(如信号和并发)进行了全面且清晰的解释,还覆盖了与文件、信号、信号量、POSIX线程和......一起来看看 《UNIX系统编程: 通信、并发与线程》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试