标签: haskell
Haskell中抽象数据类型的一些示例以及它们与代数数据类型的具体区别是什么?
答案 0 :(得分:4)
抽象数据类型不会导出其实现,而是更喜欢导出可用于构建和使用它们的函数。 containers包中有许多奇妙且常用的例子; Map类型会立即引发作为具有非常丰富的API的类型,但您不允许查看实现详细信息。 Set,Seq以及专门的IntMap和IntSet类型都是抽象的。
containers
Map
Set
Seq
IntMap
IntSet
所有Haskell类型都是代数 - 这只意味着它们都是由求和,乘积,函数类型和递归构成的。