GADT:'代数'和'抽象'之间的区别?

Fez*_*zzo 5 haskell abstract-data-type algebraic-data-types gadt

似乎术语"广义抽象数据类型"和"广义代数数据类型"可互换使用,但我确信从技术上讲它们不是一回事.

有人可以解释这个区别,也许在Haskell的上下文中使用一个简单的例子?

The*_*nce 13

没有名为通用抽象数据类型的独立概念.短语"广义抽象数据类型"有时被错误地用于广义代数数据类型.出现这种错误是因为"代数数据类型"和"抽象数据类型"都缩写为"ADT".