在类型级别添加Peano数字

时间:2018-05-23 08:21:53

标签: 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 cPlus c d e

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

0 个答案:

没有答案