Haskell, a functional programming language

最近一直在整理邮件。因为有个习惯,把关注的东西放到邮件的草稿箱中。这个习惯还是在blogger.com可以访问的时候养成的。往博客里发内容只需要发邮件就可以了,很方便。现在访问不了,所以还是整理了出来,省得将来都不知道当时为什么要关注。

Haskell 是一种通用的纯函数编程语言。感兴趣的话可以看看这篇五步走

Haskell is an advanced purely functional programming language. An open source product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable high-quality software.

比较感兴趣的是在Why use haskell中关于qsort的例子:

qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

看起来非常简洁。

下面是维基百科中关于Haskell的介绍:

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

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

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

打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注