Haskell小白初探——Haskell 安装(ubuntu12.04)
2015-05-30 14:09
274 查看
Haskell语言简介:
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版本:
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]
编译成功,如果没有更改前缀,此时状态应为“ *Main> ”
(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
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版本:
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]
编译成功,如果没有更改前缀,此时状态应为“ *Main> ”
(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
相关文章推荐
- 流的概念(来自MSDN)
- Android实战简易教程-第二枪(Spinner下拉级联效果)
- 调查表样式设计
- Android Stdio 引入自定义framework.jar 自定义framework-res.apk 中 attr
- <论语.八佾>之绘事后素
- [MFC]画线
- [Android] Android开发优化之——使用软引用和弱引用
- 百度地图最新版本sdk使用系列(八)-获取当前地图中心点的经纬度并计算与当前位置的距离
- JAVA虚拟机垃圾回收机制
- 3.2-6
- iOS多线程编程NSOperation的使用
- Hibernate的主键声称策略
- 那个和你一起吃路边摊的姑娘为什么没有陪你走到最后
- Android 开发工具类 27_多线程下载大文件
- Android中Gallery和ImageSwitcher的使用
- CF 305A——Strange Addition——————【暴力加技巧】
- SQLite数据库操作
- 安卓开发打开系统下载管理历史.
- Android多窗体退出
- 有时我们需要调用一个函数时,返回多个不同类型的数据