Haskell是一种标准化的,通用的纯 函数编程语言,有 非限定性语义和 强 静态类型。作为一门 函数编程语言,主要控制结构是 函数。
Haskell支持 惰性求值、 模式匹配、 列表解析、 类型类和 类型多态。
Haskell的主要实现—— GHC——是个 解释器,也是个原生代码 编译器。它可以在大多数平台运行。
Haskell Platform:
Haskell Platform 是一个打包的haskell 开发环境,包含GHC以及很多第三方开发库,以及cabal 包管理器等。
GHC:
GHC主要有三个部分组成。
- ghc是生成快速本底代码的优化编译器。
- ghci是一个交互解析器和调试器。
- runghc是一个以脚本形式(并不要首先编译)运行Haskell代码的程序。
Cabal:
cabal 简单说就是 Ubuntu 的 apt-get, Perl 的 cpan , Python 的 easy_install , Ruby 的 gem 。要安装一个第三方库,只需要: cabal install lib-name 就可以了。
我们使用Haskell Platform 进行开发。安装Haskell Platform
ubuntu下安装十分简单:
sudo apt-get update
sudo apt-get install haskell-platform
就ok了
终端输入
ghc --version 查看GHC版本:
cabal --version 查看Cabal版本:
ok 成功安装
(注:有其他安装方法,参考 http://blog.csdn.net/albert_lee/article/details/5469933。由于是10年的教程,ubuntu是9.10版本,笔者没有尝试过)
初次接触haskell:
1 使用ghci
在终端输入ghci,打开解释器:
此时输入 :set prompt "ghci> " 可变为下图状态。
尝试一些简单的算术逻辑运算
2 使用ghci编译
选择你喜欢的文本编辑器输入以下Haskell代码,存储为 “qsort.hs” 的文件:
quicksort :: Ord a => [a] -> [a]
quicksort [] = []
quicksort (p:xs) = (quicksort lesser) ++ [p] ++ (quicksort greater)
where
lesser = filter (< p) xs
greater = filter (>= p) xs
(1) 在解释器下输入:
:l [file_path]
(2) 此时调用quicksort函数
(3) 退出解释器
输入:quit
( :?可以获得相应帮助)
3 使用ghc编译并运行你的程序。
最简单的“hello world”程序:
输入:
main = putStrLn "hello world"
保存为hello.hs
打开终端,进入hello.hs 的文件目录
输入:
ghc hello.hs -o hello
执行:
./hello
很简单,和编译C/C++一样。
接下来开始更加系统的学习吧。
——参考资料:
Haskell学习笔记(1) http://www.wuzesheng.com/?p=2265
Haskell几乎无痛苦上手指南 http://blog.csdn.net/albert_lee/article/details/5469933