1
Haskell中的抽象數據類型的一些示例以及它們與代數數據類型有什麼特別的區別?什麼是Haskell中的一些抽象數據類型,它們與代數數據類型有什麼不同?
Haskell中的抽象數據類型的一些示例以及它們與代數數據類型有什麼特別的區別?什麼是Haskell中的一些抽象數據類型,它們與代數數據類型有什麼不同?
抽象數據類型不會導出它們的實現,而是傾向於導出可用於構建和使用它們的函數。 containers
包裝中有許多奇妙且經常使用的示例; Map
類型立即引發注意,它是一種非常豐富的API類型,但您不能看到實現細節。 Set
,Seq
和專門的IntMap
和IntSet
類型都是抽象的。
所有的Haskell類型都是代數的 - 這僅僅意味着它們都是由和,產品,函數類型和遞歸構成的。
您是否還有更多可供我們深入研究的抽象數據類型的例子? – McLeodx
像'Int'和'Char'這樣的原始類型是否真的被認爲是代數? – dfeuer
@dfeuer當然,他們只是(大,但)有限的總和。 –