HYDROGRAPHIC SURVEY · 水文志 · 1987—2026

U P S T R E A M

你在 Kotlin 里写的 sealed class、Java 里的 Optional 与 record、TypeScript 里的判别联合、React 里「UI 是状态的纯函数」——这些让你觉得「真好用」的东西,没有一个是凭空发明的。它们都来自同一条河的上游:Haskell 与 ML 语系

这本小书不劝你转行。它带你溯流而上,到源头看一遍原版:原版的代数数据类型、原版的模式匹配、原版的 Maybe、被过度神化的 Monad,以及只有源头才有的惰性求值、QuickCheck 与解析器组合子——然后带着思想顺流回家,把你手里的 Kotlin、Java、TS 写得更好。

20 章 · 5 卷 12 个零依赖泅渡点 Demo 真·类型推断 / 真·惰性求值 / 真·QuickCheck GHC 9.12 · GHC2024
⚓ 从河口出发
STATION I · 河口 ESTUARY

出发之地

先把「为什么是 Haskell」讲清楚:一张特性溯源地图,和一段避免成功的历史。

STATION II · 干流 MAINSTREAM

语言的骨与形

六章过完语言核心:表达式、类型、ADT、fold、类型类、惰性——每一章都在给你的语言「认亲」。

STATION III · 峡谷 GORGE

最湍急的一段:效应与 Monad

劝退发生地。我们不从范畴论进,从你写过一百遍的判空代码进——五章之后,Monad 只是个普通接口。

STATION IV · 上游 UPSTREAM

独门手艺

只有源头才有的东西:性质代替用例、组合子代替正则、事务代替锁,以及给惰性付账的方法。

STATION V · 回航 RETURN

带着思想顺流而下

学 Haskell 的意义在离开 Haskell 之后:三章把上游思想逐条落回你的日常技术栈。