如何使用广义代数数据类型?
haskell wikibook 中给出的示例太短了,无法让我深入了解 GADT 的真正可能性。
最佳答案
我发现“Prompt”monad(来自“MonadPrompt”包)在几个地方是一个非常有用的工具(以及来自“operational”包的等效“Program”monad。结合GADTs(这就是它的目的)使用),它允许您以非常便宜和非常灵活的方式制作嵌入式语言。在 Monad Reader issue 15 中有一篇名为“三个 Monad 的冒险”的文章,它很好地介绍了 Prompt monad 以及一些现实的 GADT。
关于haskell - GADT 的实际使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859200/