
1.前言
An advanced, purely functional programming language
學(xué)習(xí)這門語(yǔ)言的好處,現(xiàn)在我也講不清楚,但如官網(wǎng)所說(shuō):這個(gè)是一門高級(jí)的純函數(shù)式編程語(yǔ)言,本人也是剛剛接觸,在此記錄下使用vscode搭建環(huán)境的過(guò)程。
2.安裝
具體安裝的話看這里就好,本人使用mac,經(jīng)過(guò)后面的折騰,我建議直接安裝stack,這個(gè)一些特性可以看下面:
Installing GHC automatically, in an isolated location.
Installing packages needed for your project.
Building your project.
Testing your project.
Benchmarking your project.
安裝的話很簡(jiǎn)單:brew install haskell-stack,雖然花的時(shí)間略長(zhǎng),但是好用又方便啊,如果不想使用satck,那么可以直接安裝:
brew install ghc
brew install cabal-install
個(gè)人推薦使用stack,具體安裝以及介紹可以看這里。
畢竟源在國(guó)外,所以我們首先必須要進(jìn)行換源,幸好清華大學(xué)開源網(wǎng)站鏡像站有提供,更具體一點(diǎn)可以看Stackage 鏡像使用說(shuō)明,這里記錄下:
vim ~/.stack/config.yaml
# add
package-indices:
- name: Tsinghua
download-prefix: https://mirrors.tuna.tsinghua.edu.cn/hackage/package/
http: https://mirrors.tuna.tsinghua.edu.cn/hackage/00-index.tar.gz
setup-info: "http://mirrors.tuna.tsinghua.edu.cn/stackage/stack-setup.yaml"
urls:
latest-snapshot: http://mirrors.tuna.tsinghua.edu.cn/stackage/snapshots.json
lts-build-plans: http://mirrors.tuna.tsinghua.edu.cn/stackage/lts-haskell/
nightly-build-plans: http://mirrors.tuna.tsinghua.edu.cn/stackage/stackage-nightly/
# 開始使用stack,這個(gè)命令需要稍稍等待
stack setup
# 安裝完成之后
stack ghci
# 會(huì)出現(xiàn)以下輸出
Configuring GHCi with the following packages:
GHCi, version 8.0.1: http://www.haskell.org/ghc/ :? for help
Loaded GHCi configuration from /private/var/folders/0s/j3c0tlx10z9_x9wzhl14xmgh0000gn/T/ghci11066/ghci-script
Prelude>
至此,已經(jīng)安裝完畢。
3.搭建
打開vscode,下載extension,這里我推薦這四個(gè)插件:Haskell Syntax Highlighting、Haskell ghc-mod 、haskell-linter、Haskelly,其中第四個(gè)插件離不開stack。
要想使用以上插件,必須安裝以下幾個(gè)包:
# for Haskell ghc-mod
stack install ghc-mod
# for haskell-linter
stack install hlint
# for Haskelly
stack install intero
stack install QuickCheck
stack install stack-run
然后打開vscode的配置文件,加上ghc-mod和hlint的路徑,如下:
"haskell.ghcMod.executablePath": "/Users/howie/.cabal/bin/ghc-mod",
"haskell.hlint.executablePath": "/Users/howie/.cabal/bin/hlint"
