无废话学习Haskell -- 语言基础
让我们从如下的代码开始介绍语言基础(相信和我一样,你看到Haskell的语法时候,肯定以为自己到了火星了)

List makeList()
{
    List current = new List();
    current.value = 1;
    current.next = makeList();
    return current;
}
如果在类似于C/C++语言的代码中,建立一个列表可能会有这样的函数。不过显然这样的函数在运行中会出现死循环——或者会生成一个无限长的列表。
然而,在Haskell中,可以这样来写代码:

makeList=1:makeList

“:”是haskell中的一个操作符,用来生成列表的。
那么如果你单独运行这段代码,同样的道理,会生成一个没有边界的数组(程序也因此不会停止了)。但是如果你只需要使用makeList中的有限长度的内容(比如长度为10),那么这段代码就可以很好的工作,因为基于“lazy”的原则,haskell只会执行10次。这就是懒加载
另外,haskell是大小写相关的。而且这里有一个关键点,对于值或者函数,标识符要以小写字母打头,对于类型,要以大写字母打头。
阅读更多
想对作者说点什么? 我来说一句

《无废话XML》电子书下载

2006年08月18日 1.4MB 下载

废话XML无废话XML

2011年06月10日 2.18MB 下载

《无废话XML》《无废话XML》

2009年05月14日 1.38MB 下载

废话C _ 设计模式

2011年04月25日 993KB 下载

没有更多推荐了,返回首页

不良信息举报

无废话学习Haskell -- 语言基础

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭