Haskell开发环境配置

初学Haskell,首先是要有一个练习环境的配置,虽然自带的ghci控制台已经足够好,但是深受IDEA的毒害,总想使用开发工具来编写代码,因此,这里写一下配置Haskell语言开发工具的痛苦历程。
由于Haskell是小众语言,开发工具支持度较弱,加之国内使用这种语言的公司也较少,安装遇到的问题挺多,百度是一时也无法找到,说它是辛酸史也不为过,因此,这里建议大家在学习Hashkell这门语言的时,遇到的问题(奔着学习技术的心态)多多google。废话不多说了,下面开始环境的配置:

系统环境

ubuntu16.04

开发工具

Visual Studio Code

code插件

  • Haskell Syntax Highlighting
  • Haskell ghc-mod
  • haskell-linter
  • Haskelly

安装 Haskell工具栈:stack

安装stack,Hashkell编译器(ghc)时,不建议大家直接使用ubuntu apt命令安装,即:

1
2
3
sudo apt install haskell-platform
sudo apt install haskell-stack
...

由于apt源里面的ghc以及stack比较老旧,建议大家选择最新版本稳定版本,手动安装,一定要选择稳定版本。
手动安装stack方式

1
2
3
#查看stack是否安装成功
:~$ stack --version
Version 1.5.1, Git revision 600c1f01435a10d127938709556c1682ecfd694e (4861 commits) x86_64 hpack-0.17.1

镜像源配置

配置stack以及cabal中科大的镜像源:信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ cat ~/.stack/config.yaml
package-indices:
- name: USTC
download-prefix: https://mirrors.ustc.edu.cn/hackage/package/
http: https://mirrors.ustc.edu.cn/hackage/00-index.tar.gz
setup-info: "http://mirrors.ustc.edu.cn/stackage/stack-setup.yaml"
urls:
latest-snapshot: http://mirrors.ustc.edu.cn/stackage/snapshots.json
lts-build-plans: http://mirrors.ustc.edu.cn/stackage/lts-haskell/
nightly-build-plans: http://mirrors.ustc.edu.cn/stackage/stackage-nightly/

```
*GHC安装*

安装好stack工具,以及配置config.yaml镜像源后,执行一下步骤:

#初始化环境
stack setup

#查看是否安装成功
stack ghci

#通过 stack 安装 cabal
stack install cabal

#查看ghc的的路径
stack path
得到如下信息:
~/.stack/snapshots/x86_64-linux/lts-9.14/8.0.2/bin
~/.stack/programs/x86_64-linux/ghc-8.0.2/bin
并加入到环境系统的PATH环境变量里面,查看是否加入PATH路径

```
启动code,尽情的编写haskell代码吧。

注意事项

  • 先安装stack,然后通过stack安装ghc编译器。
  • 通过stack安装cabal。
  • 检查ghc、cabal等是否加入PATH路径。