Haskell开发环境配置
小白第一次写这样的教程,更多的是记录。
TL;DR: ghc is installed and on the PATH
参考
先去装 Haskell工具栈:stack
https://docs.haskellstack.org/en/stable/install_and_upgrade/
之后运行这个安装包。
安装haskell的编译器
网络条件不好先配置stack镜像源,好的话不必配置镜像源。
config.yaml写这个,使用清华镜像源
setup-info-locations: ["http://mirrors.tuna.tsinghua.edu.cn/stackage/stack-setup.yaml"]
urls:
latest-snapshot: http://mirrors.tuna.tsinghua.edu.cn/stackage/snapshots.json
接着,
#初始化环境
stack setup
#查看是否安装成功
stack ghci
#通过 stack 安装 Cabal。
stack install Cabal
#查看ghc的的路径
stack path
大功告成——写你的HelloWorld
能弄出来这样的界面姑且认为配置成功了吧。
新建hello.hs文件,里面写
main = print "Hello"
haskell写个快排
-- modified from https://www.educba.com/haskell-sort/
{-# LANGUAGE ScopedTypeVariables #-}
quickSort :: [Int] -> [Int]
quickSort [] = []
quickSort (x:xs) = quickSort [a|a<-xs,a<=x] ++ [x] ++ quickSort [a|a<-xs,a>x]
a=[5,3,7,4]
b=quickSort a
main = do
putStrLn "The result is"
print $b
拓展阅读
实际中如果只有stack,ghc,ghci还远不够方便
你可能还需要:
ghcup GHCup 类似 Rustup,可以用于安装 Haskell 工具链。建议搭配 Hackage 和 Stackage 源使用。
cabal 包管理和自动化编译工具
Hackage和Stackage 类似于Docker的DockerHub
HackageDB 这个列表包含了Haskell可用的三方库
Haddock类似JavaDoc、docco等工具
Haskell Platform 是一个打包的haskell 开发环境,包括GHC以及非常多第三方开发库,以及cabal 包管理器等。
Hugs The Hugs interpreter is not currently maintained, and is based on the stable but superseded Haskell 98 standard.
WinHugs Hugs的windows UI版本
我用到啥我写啥,本人不保证我写的方法就一定对
2022-01-29今天发现我缺库containers,于是
wget https://downloads.haskell.org/~cabal/cabal-install-3.6.0.0/cabal-install-3.6.0.0-x86_64-windows.zip
解压到合适的位置
把cabal.exe放到PATH里
cabal update
cabal list containers
cabal install containers
cabal install --lib containers #把containers库加到GHC环境中