如何執行 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 的可用性又更上一層樓

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

查看所有标签

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

互联网创业核心技术:构建可伸缩的web应用

互联网创业核心技术:构建可伸缩的web应用

【美】Artur Ejsmont / 李智慧、何坤 / 电子工业出版社 / 2016-12 / 89

可伸缩架构技术是所有互联网技术中最重要,也是最引人入胜的技术。《互联网创业核心技术:构建可伸缩的web应用》针对互联网创业需求快速迭代,业务快速发展,短时间内用户、数据、访问量激增的特点,提纲挈领地描述了伸缩性架构的基本原理与设计原则,详细阐述了Web应用前端层、服务层、数据层的可伸缩架构,并花大量篇幅讲述了缓存技术和异步处理技术的可伸缩设计及其在Web系统中的具体应用。 《互联网创业核心技......一起来看看 《互联网创业核心技术:构建可伸缩的web应用》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具