【发布时间】:2021-10-06 18:40:43
【问题描述】:
我希望 Haskell 的编译器能够理解 f v 在给定 Unfold v f 的情况下是类型安全的(尽管这是一项艰巨的任务)。
data Sequence a = FirstThen a (Sequence a) | Repeating a | UnFold b (b -> b) (b -> a)
有没有什么方法可以在不添加额外模板参数的情况下为数据类型封装通用模式。
(我知道针对这种特定情况使用惰性映射的解决方案,但我正在寻求更通用的解决方案)
【问题讨论】:
-
您能否举一个导致 GHC 产生错误的示例并将错误消息包含在您的帖子中?
标签: haskell functional-programming pattern-matching algebraic-data-types custom-data-type