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

原创 2007年09月26日 21:09:00
让我们从如下的代码开始介绍语言基础(相信和我一样,你看到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是大小写相关的。而且这里有一个关键点,对于值或者函数,标识符要以小写字母打头,对于类型,要以大写字母打头。

Haskell学习——语法

Haskell是以表达式为主的语言,纯函数
  • pyyaoer
  • pyyaoer
  • 2014年06月16日 09:38
  • 5367

Haskell语言学习笔记(2)

let-in where pattern-matching list tuple if-then-else case-of
  • zwvista
  • zwvista
  • 2016年04月25日 14:49
  • 1027

TIOBE 11月编程语言排行榜 : Haskell语言最终能打进20强吗?

有人说,Haskell语言是当今最成熟的纯函数式编程语言。它有相当长的历史,从上世纪90年代起,虽然缓慢,但是它的社区正在增长。本月,Haskell距离第20名只有0.255%的距离,而位居第23。让...
  • zhang5476499
  • zhang5476499
  • 2016年11月06日 19:28
  • 1389

haskell实现快排的代码为什么这么短

haskell快排的代码为什么这么短 q_sort n=case n of []->[] (x:xs)->q_sort [a|a
  • gohike
  • gohike
  • 2016年10月01日 23:52
  • 1117

为什么要学习Haskell语言

你会发现 Haskell 库里有能够处理各种事情的各种各样的函数。起初我以为这些只是一种技术上的积累,但随后我认识到,这些函数相比起其它语言里的函数,它们能应用到形式更广泛的问题中。这使得它们更有价值...
  • qq_33240000
  • qq_33240000
  • 2017年02月13日 16:51
  • 58

零基础快速学习新语言的方法总结

“Do you want to spend the rest of your life selling sugared water or do you want a chance to change ...
  • u014748887
  • u014748887
  • 2015年02月12日 18:37
  • 400

php语言基础学习笔记

花了一个小时复习了一下很多年没有碰了的php,mark一下,高二时学的。 1. 代码嵌在内 2.输出函数echo,相当于js中的document.write 3.可以在打印双引号时用...
  • Kevin_Samuel
  • Kevin_Samuel
  • 2013年06月23日 00:50
  • 3114

C语言学习入门

编译文件:cc -c one.c two.c  生成.o目标文件 链接文件:cc one.o two.o     默认生成 a.out 执行文件 指定生成的可执行文件名   cc -o one o...
  • shineflowers
  • shineflowers
  • 2014年10月13日 17:27
  • 12219

Haskell语言学习笔记(7)IO 与随机数

IO 随机数
  • zwvista
  • zwvista
  • 2017年02月03日 09:08
  • 793

零基础入门学习C语言

注:这些都是我辛苦找的资料,希望能对大家有帮助,然后就是大家选择性的下载!我个人推荐小甲鱼20G的那个,一整套!还带工具和众多电子书!全部都是免费的! 郝斌先生的视频讲解也很仔细,但是没有实践作业布...
  • e_wsq
  • e_wsq
  • 2014年11月05日 17:00
  • 881
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:无废话学习Haskell -- 语言基础
举报原因:
原因补充:

(最多只允许输入30个字)