标签: haskell types peano-numbers
我为Peano数字定义了类型
class Plus (n :: T) (m :: T) (r :: T) | r n -> m instance Plus 'Zero m m instance Plus n m r => Plus ('Succ n) m ('Succ r)
现在我发现自己有两个约束Plus a b c和Plus c d e。
Plus a b c
Plus c d e
如何在我的类上定义一个加法运算,以便编译器能够派生Plus a (b + d) e?
Plus a (b + d) e