我正在阅读/聆听克里斯·泰勒有关代数数据类型的演示。
链接:http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/ 其中有一节是关于函数类型的,特别是这个例子。
这难道不只是
链接:http://chris-taylor.github.io/blog/2013/02/10/the-algebra-of-algebraic-data-types/ 其中有一节是关于函数类型的,特别是这个例子。
data Bool = True | False
data Trio = First | Second | Third
鉴于法律
a -> b == B^A
鉴于
Trio -> Bool should equal 8
为什么使用乘法时是8而不是6?
如果我理解正确,具体的组合应该是:
First -> True
First -> False
Second -> True
Second -> False
Third -> True
Third -> False
这难道不只是
Trio -> Bool
的六种具体实现吗?我是否遗漏了什么?