趁着本身重装Linux 虚拟机的机会,把安装 haskell 的过程记录一下,顺便帮那些还犹豫徘徊在haskell门外的读者入门。html
是一门通用函数式语言,差点儿可以进行不论什么种类的开发,包含命令行,GUI,数据库,Web.源码可以跨平台: Linux,Mac, Windows, FreeBSD 等. python
函数式变成风格为主,命令式风格为辅,具备严格且方便易用的类型系统。类型检查可以帮助程序猿在开发过程当中避免很是多错误,并辅助组织程序的结构。 linux
主要有 GHC, hugs 两种, 还有中 nhc 没用过就不说了。咱们这里要安装的是 GHC,以及在 ghc 基础上的 Haskell Platform。数据库
全称: Glasgow Haskell Compiler , 包括一个高效的Haskell编译器ghc,以及一个类似 python 交互环境的解释器 ghci 。GHC可以编译生成高效的可运行程序。bash
Haskell Platform 是一个打包的haskell 开发环境,包括GHC以及很是多第三方开发库,以及cabal 包管理器等。函数
简单说就是 Ubuntu 的 apt-get, Perl 的 cpan , Python 的 easy_install , Ruby 的 gem 。 这么说明确了吧.工具
要安装一个第三方库,仅仅需要: cabal install lib-name 就可以了。 差点儿就这么简单。开发工具
有一个 HackageDB 类似与 Perl 的cpan 的东西,这个列表包括了 Haskell 可用的第三方库。安装用同一的方式: cabal install libname 就可以了。 大部分的库可以很是方便的安装,只是一些第三方库会依赖一些特定系统的库,所以不是总能顺利安装。命令行
===================调试
(本文基于 Ubuntu 9.10 , 对于其它基于 apt-get 的Linux也适用。)
sudo
apt-get
install
libedit2 libedit-dev freeglut3-dev libglu1-mesa-dev libgmp3-dev
在 GHC下载页面 , 选择适合的版本号下载(x86, x86_64) ,比例如如下载 x86版本号 Linux:
wget http://haskell.org/ghc/dist/6.12.1/ghc-6.12.1-i386-unknown-linux-n.tar.bz2
$ tar jxvf ghc-6.12.1-i386-unknown-linux-n.tar.bz2
$ cd ghc-6.12.1
$ ./configure
$ sudo make install
安装完,測试下:
下载: wget http://hackage.haskell.org/platform/2010.1.0.0/haskell-platform-2010.1.0.0.tar.gz
解压缩, ./configure , make, make install
make 的过程可能比較长,要编译一大堆的第三方库。
安装完 Haskell Platform 后,会提示用户进行 cabal update , 就是更新下库的文件夹列表:
$ cabal update
要安装一个库,首先在 HackageDB 上找到需要的库,而后执行 cabal install 就能够:
=====================
说了这么久,最终到了我最喜欢的 Hello World 阶段了。
haskell 程序既可以解释运行也可以编译运行,这在开发过程当中是很是方便用来调试的。
> print "hello world"
"hello world"
看上去很是easy,没啥出奇的东西。如下尝试些有意思的东西:
如下来写一个完整的程序,并且编译成可运行文件, 首先编写 hello.hs 文件,内容例如如下,用 ghc 编译。
隆重推荐 Emacs ,Emacs 中的 Haskell-mode 在编敲代码中,帮助进行缩进、语法高亮等,配合 unicode 显示,可以获得很美丽的效果。
另开一篇具体解释emacs 环境吧。