Haskell

维基教科书,自由的教学读本

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


Haskell 是一种函数式编程语言。如果学过编程,并想了解 Haskell 如何工作以及和其它编程语言有何不同,你可以看一下概述

Haskell 有两大特点。第一,它是纯函数性的。如果一个函数在不同的环境下以相同的参数调用两次,那么这两次的返回值是完全相同的。第二,Haskell提供了一个结合了诸如类型类(typeclasses)和泛代数数据类型(generalized algebraic data types)等特征的非常现代化的类型系统。现在你并不需要了解以上术语的含义,但我们非常希望你看完本书后能融会贯通。那么,为何 Haskell 用户喜爱这种语言?仅仅是因为它的独特和先进吗?不,是因为它的纯函数性能让Haskell程序员更好地理解程序,从而保证程序正确无误。尤其是在一个先进的类型系统的帮助下,我们能够发现更多的错误,无论是简单的还是复杂的。

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


概述[编辑]

本书分为三部分:初学、进阶和实践。最后一部分涵盖了更多日常运用 Haskell 时的问题,只要有初学者的知识就可以看了。

请作出贡献!无论 Haskell 技术如何,每个人都可以帮忙。花费五分钟改进一个模块可以节省他人数小时的时间。详情见贡献者须知

入门教程[编辑]

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

绝大多数章节都包含练习,通过这些练习你能学会 Haskell 最新的特性。在每一章的结尾都有练习答案的链接,你可以对照答案检查自己的解答是否正确。

Haskell基础[编辑]

初级Haskell[编辑]

Haskell进阶[编辑]

Monads[编辑]

高级教程[编辑]

这一部分将介绍更多函数式编程的概念,例如数据结构和类型理论,也将涵盖更多像并行计算这样的实用主题。

高级Haskell[编辑]

类型的乐趣[编辑]

理论提升[编辑]

Haskell性能[编辑]

Haskell实务[编辑]

这部分涵盖了更多日常运用 Haskell 时遇到的问题,如使用标准库,创建图形界面或使用数据库。你可以直接从基本阶段跳到这里阅读。

程序库参考[编辑]

普通实务[编辑]

专门任务[编辑]

附录[编辑]

习题解答
语法糖
作者及致谢
贡献者须知
任务列表
这本Haskell维基书使用的模板

其他教程[编辑]

附加资源[编辑]