0

我已经为 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 cPlus c d e.

如何在我的类上定义一个加法操作,以便编译器能够派生Plus a (b + d) e

4

0 回答 0