Haskell中的抽象数据类型有哪些,它们与代数数据类型有何不同



Haskell中抽象数据类型的一些例子是什么,它们与代数数据类型的具体区别是什么?

抽象数据类型不导出其实现,而是更喜欢导出可用于构建和使用它们的函数。containers包中有许多精彩且经常使用的示例;Map 类型立即浮现在脑海中,因为它具有非常丰富的 API,但不允许查看其实现详细信息。SetSeq、专门的IntMapIntSet类型也是抽象的。

所有Haskell类型都是代数的——这只是意味着它们都是由总和、乘积、函数类型和递归构造的。

最新更新