enter image description here

那天看到空军在谈Haskell学习心得,一时技痒,周末整了个Sublime Text 2的Haskell开发环境。

如我今天所说:使用Haskell,感觉自己就像个匠人,在打造武器的时候,不断给武器添加各种槽,最后往槽里镶嵌各种提升武器威力的宝石,一把威力无比的武器即告完成……

一般要尝试一种新语言,我都习惯先把开发环境打造得舒舒服服的。当然Emacs是函数式编程者的最爱,但是,我已经用Sublime Text 2配置了好几种语言的开发环境了,因此,这次依旧选择Sublime Text 2来配置Haskell的开发环境。

环境:Windows 7。Windows 8应该也一样吧,改天试试看。

1. 到这里下载对应版本的Haskell Platform,当前是2013.2.0.0版本号。安装,并设置系统路径:

...\2013.2.0.0;...\2013.2.0.0\lib;...\2013.2.0.0\lib\extralibs\bin;...\2013.2.0.0\bin;...\2013.2.0.0\mingw\bin

2. 安装依赖包

可以先cabal update一下,根据命令提示操作即可。

用Cabal安装额外的依赖包:aeson、haskell-src-exts 、haddock、ghc-mod、stylish-haskell:

cabal install aeson haskell-src-exts haddock ghc-mod stylish-haskell

base和bytestring这两个包应该是缺省已经安装了的,检查一下,如果还没安装请安装之。

如果安装haddock时出现与版本相关的冲突,请按以下命令安装:

cabal install haddock --constraint=haddock==2.13.2.1

3. 安装SublimeHaskell插件

在Sublime Text 2安装插件的方法网络上很多,这里就不再赘述,请安装SublimeHaskell插件,安装完毕Ctrl+Shift+P,输入Haskell,看看都有哪些命令。具体使用请参考官方网站

4. 配置Sublime Text 2

打开Sublime Text 2的Preferences | Browser Packages...。

进入Sublime Text 2自带的Haskell目录,编辑Haskell.sublime-build文件内容为:

{
    "cmd": [".../2013.2.0.0/bin/runghc", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.haskell",
    "encoding": "utf-8"
}

这样Haskell文件就能够以脚本方式运行了(Ctrl+B),注意:貌似Haskell运行文件所在路径中有中文时,运行就会失效。

打开Preferences | Package Settings | SublimeHaskell | Settings User。添加:

{
    "enable_hdevtools": false,
    "inspect_modules": false,
    "add_to_PATH": [ ".../AppData/Roaming/cabal/bin" ]
}

由于没有安装hdevtools库,所以设为false;因为Sublime Text 2启动时,每次都会长时间运行ModuleInspector以便提供自动完成功能,所以这里设为了false。

5. 测试

输入“main”并回车:

module Main where

main = putStrLn "Hello, Haskell!"

看看结果吧:

enter image description here

enter image description here