![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Haskell
iteye_6931
这个作者很懒,什么都没留下…
展开
-
Learn Haskell(一)
这一系列博客是《Learn You a Haskell for Great Good》的读书笔记。 一句话介绍:Haskell是一门纯粹的函数式编程语言。至于什么是函数式编程?尽管网上也有很多关于函数式语言与指令式语言之间的区别与联系,但是没有实际使用过函数式编程语言的情况下,我也搞不清楚。因此,先从学习一门函数式编程语言开始吧。 1.安装Haskell要开始使用Hask...2012-08-07 17:45:54 · 124 阅读 · 0 评论 -
Learn Haskell(二)
1.Ranges 有时候我们有这样一种需求:我们需要一个List,它的元素从1到20。从1到20敲出每一个元素肯定是一种可以搞定的办法,但肯定不是好办法。这时候,我们可以使用Haskell的Ranges来处理这种需求。 Ranges用来构建元素可以按照某种顺序枚举的List。像数字1,2,3,4就是可枚举的;字母a,b,c,d也是。我们看看两个Ranges的例子:上面说到的1-20,使用Ran...2012-08-08 00:27:00 · 176 阅读 · 0 评论 -
Learn Haskell(三)
1.Tuple Tuple用来将几个元素打包成为一个值。Tuple用()包起来。看起来和List很像,但是Tuple和List有很重要的区别: (1)List元素数量是不固定的,但是Tuple的元素数量是固定的; (2)List必须存储同种类型的元素,但是Tuple可以存储不同类型元素。 看几个Tuple的例子: Prelude> (1,2) (1,2) ...2012-08-10 08:54:38 · 162 阅读 · 0 评论 -
Learn Haskell(四)
强大的类型系统是Haskell的一个非常大的优势。 Haskell所有表达式类型在编译期判断。这样的话,可以使得代码 更加安全,比如说,拿一个整数和一个字符串进行除法运算是没办法进行的,那么在编译器就会直接报错,不会等到运行时程序崩溃才知道。Haskell与 Java不一样,Haskell能够进行类型推断(Type Inference),也就是说,你不需要明确的说100是个数...2012-08-12 22:11:38 · 126 阅读 · 0 评论