相关疑难解决方法(0)

在 Haskell 中检测冗余约束?

有没有办法检测 Haskell 中的冗余约束?

例如:

class    (A a, B a) => C1 a -- C1 ~ A AND B
instance (A a, B a) => C1 a

class    (A a, B a, C a) => C2 a
instance (A a, B a, C a) => C2 a

f :: (C1 a, C2 a) => a
f = ...
Run Code Online (Sandbox Code Playgroud)

这里,C2 暗指C1,并且在签名中使用C1f是多余的,即重言式。

在现实世界的元编程的情况下,这将是waaaay更加复杂,并会显著帮助去杂波签名头,以及帮助我了解和跟踪是怎么回事的。

鉴于 GHC 的形式主义,这在逻辑上是否可行?

GHC 内的基础设施是否可用?

haskell constraints ghc

6
推荐指数
1
解决办法
154
查看次数

标签 统计

constraints ×1

ghc ×1

haskell ×1