3
我试图实现Semigroup
接口,用于伊德里斯简单依赖对,取决于对但这并不编译:实施半群在伊德里斯
Semigroup (n ** Vect n f) where
(<+>) (_ ** xs) (_ ** ys) = (_ ** xs ++ ys)
与错误
Type mismatch between
ty
and
Nat
但是这样编译:
myPair:Type -> Type
myPair f = (n ** Vect n f)
Semigroup (myPair f) where
(<+>) (_ ** xs) (_ ** ys) = (_ ** xs ++ ys)
为什么?什么是完成这个最好的方法?