[PLT] 柯里化的前生今世(九):For Great Good

关于

本文是系列文章中的第九篇,
上文第二~八篇中,我们学习了Racket语言,它很有代表性,是一种Lisp方言。
很多概念用Racket描述会更加简便。

我们介绍了高阶函数,词法作用域,闭包以及continuation,
这些概念对理解函数式编程来说十分重要。


然而,偏见却经常起于片面。
只学习一种语言,会让我们对事物的同一个侧面产生习惯。
事实上,我们需要多样化的角度,也需要经常更换思维方式。

这对学习新知识很有帮助,
有些时候,我们理解不了某些概念,很有可能是因为这个概念被描述的不够全面,
我们经常走到深入思考这一特定描述的误区。
实际上,我们应该尝试寻找不同的描述方式,换个角度重新审视。

Haskell Curry

第一篇中,我们提到了美国著名的数学家,逻辑学家Haskell Curry,
当时我们对他的生平进行了非常详细的介绍,因为,柯里化是用Curry来命名的。
除此之外,那是因为还有一门编程语言用Haskell来命名。

Haskell是一种通用的,纯函数式编程语言,
其中包含了很多编程语言研究领域中的新概念。
Haskell提供了高阶函数,非严格语义(non-strict semantics),静态多态类型,
用户自定义的代数数据类型,模式匹配,列表解析(list comprehension),
模块系统,monadic IO系统。

Haskell包含了丰富的原始数据类型,
包括列表,数组,任意精度的整数,以及浮点数。

Haskell是非严格(non-strict)函数式语言领域多年研究的结晶。

An expression language is said to have non-strict semantics if expressions can have a value even if some of their subexpressions do not

历史

1987年9月在美国俄勒冈州的波特兰,
举行了一次关于函数式编程语言和计算机体系结构的会议,FPCA'87。
会议看到了函数式编程社区的现状,
社区中已经出现了十几个非严格语义的纯函数式编程语言,
它们全都表现力丰富,而且建立在语义学基础之上。


人们看到,没有一门公共语言妨碍了这些语言的广泛使用。
于是,会议达成共识,决定设计一门新的语言,用来更快的交流新想法,
这样可以保证基础更加牢固,也可以推动实际生产环境中的使用。
对于那些想学习函数式语言的人们,也方便了许多。
这门语言就是Haskell,以逻辑学家Haskell B. Curry命名。

方法论

学习Haskell是一件困难的事情,会让你想起第一次写程序时的感觉。
它非常有趣,而且强迫你Think different。


Haskell社区中流行着这样一句话,我认为对学习非常有帮助,
Don't sweat the stuff you don't understand immediately. Keep moving!
别在不懂的地方打转,先继续读下去!

我觉得这句话说的极好,也是软件相对于其他行业的根本区别。
编程领域中的很多概念,通常会涉及尚未学到的知识点,
因此,寄希望于在遇到的那一刻去理解它,几乎是不可能的。
这就要求我们敢于放弃,先强行建立模糊的印象,等有机会不断的回来再看。

下文

Haskell有着纯正的血统,(此处应该加引号,“纯正”
这门语言是一群非常聪明的人设计的,他们每个人都有 PhD 学位,
他们聚在一起就是想设计一个吊到爆的编程语言。
to design a kick-ass language。。

下文我们准备从Haskell语言的基础概念谈起,然后循序渐进,
等熟悉之后,再来探讨Monad和Category Theory这些有趣的话题。

参考

History of Haskell
Haskell趣学指南 · GitBook
编程语言学习曲线

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容