haskell - GADT 的实际使用

标签 haskell gadt

如何使用广义代数数据类型?

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/

相关文章:

Haskell:如何测试未编译的代码?

haskell - 如果没有依赖类型,是否可以确保两个 GADT 类型变量相同?

haskell - 为什么默认情况下 forall(RankNTypes 用法)不适用?

haskell - Monadic if - 它是如何工作的?

Haskell 与 erlang : difference in foldl?

haskell - 存在类型包装器库

haskell - 如何在 Haskell 中定义异构列表的 Show

haskell - GHC 导入功能或错误

multithreading - 并行和并发编程(Haskell)方面的开销是多少?