Haskell

出自Wikibooks

跳转到: 导航, 搜索




[编辑] Haskell:有类型的函数式编程

Haskell 是一门函数式编程语言。如果你之前有过编程经验,你可以在这里看一下Haskell是如何运作的并且它和其它编程语言有何不同。

Haskell的独特之处有两点。第一,它是函数性的。也就是说,一个函数在不同的环境下以相同的参数调用两次,那么它们的返回值是完全相同的。第二,Haskell提供了一个结合了诸如型别类(typeclasses)和通用代数数据型别(generalized algebraic data types)的现代化型别系统。现在你并不需要了解以上术语的具体含义,但我们希望当你看完了本书之后,对其能够融会贯通。为什么用Haskell的人是那么的喜爱这门语言?是因为它的独特和先进吗?不,是因为它的纯函数性能够让Haskell程序员更好得理解程序,和证明程序的正确性。尤其是在一个先进的型别系统的帮助下,能够让我们发现更多的错误, both the silly and profound ones。

本书旨在向你介绍Haskell语言的基础和大多数的高级特性,同时也包含计算机编程的一般化内容。对于有经验的程序员,我们强烈希望你能够耐心的看完这些。很可能,你最熟悉的编程语言和Haskell有极大的不同,对于这些语言的了解让你更加得难以理解Haskell的运作方式:简单而又与众不同的。那么,把这当作一次在异世界的冒险,以数学的眼光来看待编程吧!

Template:可打印版本

[编辑] 概述

本书分为三部分:初学,进阶和实践。最后一部分涵盖了日常遇到的问题,只要有初学的知识就可以看了。

Please contribute! Everyone, regardless of Haskell competency, can help out. Spend five minutes improving a module and save someone else hours of time. Check out the notes for contributors.

[编辑] 入门教程

这部分介绍了语言的最基础内容和最常用的一些库。那样你就可以写一些简单的程序,并为更进一步做好准备。

[编辑] Haskell基础

[编辑] 初级Haskell

[编辑] Haskell进阶

[编辑] Monads

[编辑] 高级教程

[编辑] 高级Haskell

[编辑] 类型的乐趣

[编辑] 理论提升

[编辑] Haskell的执行性能

[编辑] Haskell实务

[编辑] 程序库参考

[编辑] 普通实务

[编辑] 专门任务

[编辑] 附录

习题解答
贡献者须知
语法糖
任务列表
作者及致谢

[编辑] 其他教程

  • Write Yourself a Scheme in 48 Hours - (imported) An alternate approach to teaching Haskell (and perhaps Scheme), aimed at a more advanced audience (though not necessarily one that knows how to program!)
  • Yet Another Haskell Tutorial - (imported) is aimed at beginners and takes a practical approach to things. It is now part of this wikibook and will eventually be mixed in to the main text.
  • Haskell Meta-tutorial - the tutorial to find other tutorials

[编辑] 附加资源

个人工具