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 时遇到的问题,如使用标准库,创建图形界面或使用数据库。你可以直接从基本阶段跳到这里阅读。
程序库参考[编辑] |
普通实务[编辑] |
专门任务[编辑] |
附录
[编辑]其他教程
[编辑]- Write Yourself a Scheme in 48 Hours 一个交替讲述 Haskell(也可能是 Scheme)的教程,针对高级用户(虽然并不必要懂得怎么编程!)
- 自己动手用 haskell 写 scheme 解释器在此基础上进行完善,最终接近于 r6rs
- Yet Another Haskell Tutorial 针对初学者的并且含有一些具体的练习,它现在是这本维基书的一部分并将最终被融入这本书的主题。
- Haskell 元教程 - 教你寻找其它教程的教程
- http://learnyouahaskell-zh-tw.csie.org/ Haskell 趣学指南 (繁体中文版)]
附加资源
[编辑]- 资源页面 — Haskell:函数式编程的技艺