在Haskell Programming的《第一原理》中的一个练习中,它说通过首先为其创建TooMany
来声明类型(Num a, TooMany a) => (a, a)
的{{1}}实例。我的问题是向newtype
添加类型类约束。可能吗我在网上找不到其他示例。
Baz
答案 0 :(得分:6)
您可能需要对Baz
使用一个参数:
newtype Baz a = Baz (a, a) deriving (Eq, Show)
-- ^^^ --
instance (Num a, TooMany a) => TooMany (Baz a) where
...
我不确定Num a
是干什么的,但是我已经添加了,因为您提到了它。