如何使用 VS Code 開發 Haskell ?

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

内容简介:Haskell 是個非常純的 FP 語言,如所有 data 都是 Immutable,所有 function 都是 Lazy Evaluation,這些觀念都是一般程式語言所沒有的,透過 Haskell,可以讓我們學習更純的 FP 概念,而不是 workaround 式的 FP,進而改變思考方式。Haskell IDE Engine 是基於 LSP (Language Service Protocol),讓我們可以在 VS Code 就可以享受如 IDE 般強大的支援。Stack 1.7.1

Haskell 是個非常純的 FP 語言,如所有 data 都是 Immutable,所有 function 都是 Lazy Evaluation,這些觀念都是一般程式語言所沒有的,透過 Haskell,可以讓我們學習更純的 FP 概念,而不是 workaround 式的 FP,進而改變思考方式。

Haskell IDE Engine 是基於 LSP (Language Service Protocol),讓我們可以在 VS Code 就可以享受如 IDE 般強大的支援。

Version

Stack 1.7.1

Haskell IDE Engine 0.2.2.0

Haskell Language Server 0.0.21

VS Code 1.25.1

Haskell Stack

Stack 為 Haskell 的 CLI,最大特色是將 GHC 安裝在專案目錄下,不會污染系統環境。

$ brew install haskell-stack

使用 Homebrew 安裝 Stack。

如何使用 VS Code 開發 Haskell ?

$ stack install cabal-install

HIE 也需要 cabal ,使用 Stack 安裝 cabal-installcabal 將安裝到 ~/local/bin 目錄下。

如何使用 VS Code 開發 Haskell ?

設定路徑

HIE 所需的檔案都會放在 ~/.local/bin 下,先設定好系統路徑。

如何使用 VS Code 開發 Haskell ?

建立專案

$ stack new hello-world

使用 Stack 建立專案。

如何使用 VS Code 開發 Haskell ?

$ cd hello-world
hello-world $ stack setup

使用 Stack 安裝 Haskell 專案所需要的 GHC。

如何使用 VS Code 開發 Haskell ?

編譯專案

hello-world $ stack build

使用 Stack 編譯 Haskell 專案。

如何使用 VS Code 開發 Haskell ?

執行 Haskell

hello-world $ stack exec hello-world-exe

Stack 預設會將專案編譯成 專案名稱-exe ,使用 stack exec 執行 Haskell 執行檔。

其實 hello-world-exe 已經是執行檔,只在目錄在很深,使用 stack exec 會自動幫我們找到執行檔執行, stack exec 並非 Haskell run-time

如何使用 VS Code 開發 Haskell ?

Haskell IDE Engine

Haskell IDE Engine 是基於 LSP (Language Service Protocol) 實作,簡稱 HIE。

VS Code 透過 HIE,就能達成相當於 IDE 才有的功能,目前 HIE 還無法在 Homebrew 找到,必須親自編譯。

$ git clone https://github.com/haskell/haskell-ide-engine --recursive

Git clone 最新的 HIE 專案。

如何使用 VS Code 開發 Haskell ?

$ cd haskell-ide-engine
haskell-ide-engine $ make build-all
haskell-ide-engine

如何使用 VS Code 開發 Haskell ?

這段時間會非常久,請耐心等待,在我的 Macbook Pro 15 Mid2014,需要約 40 分鐘時間編譯

如何使用 VS Code 開發 Haskell ?

若 Make 沒錯誤,最後的訊息如上。

如何使用 VS Code 開發 Haskell ?

除了 cabal 為剛剛 stack install cabal-install 所安裝,剩下的檔案都是 make build-all 所編譯。

$ hie --version

如何使用 VS Code 開發 Haskell ?

  1. 能顯示 HIE 版本,表示 HIE 編譯成功

VS Code

HIE 已經編譯成功,最後一哩路是 VS Code 的套件部分。

如何使用 VS Code 開發 Haskell ?

  1. 在 VS Code 安裝 Haskell Language Server

如何使用 VS Code 開發 Haskell ?

VS Code 開啟 Haskell 專案,若沒有任何錯誤訊息,則表示 HIE 安裝成功。

~/.local/bin 設定在系統路徑非常重要,否則要在 VS Code 設定 HIE 路徑,非常麻煩

Conclusion

  • Haskell IDE Engine 為 LSP,透過 HIE,我們就可以使用我們喜歡的 VS Code 編輯 Haskell,並享受 IDE 般支援
  • HIE 目前在 macOS 尚無 Homebrew 可下載,必須親自編譯才能使用
  • 設定好 VS Code + HIE,就可以開心享受 Haskell 的純 FP 思維了

Reference

Haskell , Haskell IDE Engine

Waddlaw , VS Code と haskell-ide-engine で Haskell 開発環境を構築する


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

查看所有标签

猜你喜欢:

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

这就是OKR

这就是OKR

【美】约翰·杜尔(John Doerr) / 曹仰锋、王永贵 / 中信出版社 / 2018-12 / 68.00元

这本书是传奇风险投资人约翰·杜尔的作品,揭示了OKR这一目标设定系统如何促使英特尔、谷歌等科技巨头实现爆炸性增长,以及怎样促进所有组织的蓬勃发展。 20世纪70年代,在英特尔担任工程师时,杜尔首次接触到OKR。之后,作为一个风险投资人,杜尔不遗余力地将这一管理智慧,分享给50多家公司和机构,包括谷歌、亚马逊、领英、脸书、比尔及梅琳达·盖茨基金会,甚至摇滚歌手波诺的公益项目。在杜尔的帮助下,任......一起来看看 《这就是OKR》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

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

正则表达式在线测试