我想从一些自定义类的 Num 声明中提取一些样板(称为单项式和多项式)。而不是写
instance Num (Monomial) where
f - g = f + (negate g)
abs _ = undefined
有没有办法解决这个问题?我遇到了默认的超类实例和一种叫做“ strathclyde haskell 增强”的东西,如果实现它可能会让我写出类似的东西,
class SimpleNum a => Num a where
(+) :: a -> a -> a -- standard ring stuff
(*) :: a -> a -> a
one :: a
zero :: a
instance Num (SimpleNum a) where
f - g = f + (negate g)
abs _ = undefined
处理这个的通常/简单的方法是什么?