【发布时间】:2021-10-17 09:25:47
【问题描述】:
在一本 Scala 书中我读到:
例如,这段代码是一个 ADT:
sealed trait Bool case object True extends Bool case object False extends Bool
....进一步说:
Haskell wiki 上这样描述 ADT 中的“代数”:
“代数”是指代数数据类型由“代数”运算创建的属性。这里的“代数”是“和”和“产品”(类型)。
但是上面代码 sn-p 中的那些“代数”运算在哪里?
【问题讨论】:
-
我对 Scala 一无所知,但代码看起来像是 sum 类型。
Bool是True和False的总和。 -
如果没有上下文,您也可以将“ADT”解读为抽象数据类型。
-
这里是 ADT 的精彩介绍:tomasp.net/blog/types-and-math.aspx
标签: scala haskell functional-programming