2
当我定义下面Functor
的也许,它工作正常错误仿函数的执行我的数据类型
instance Functor Maybe where
fmap func Nothing = Nothing
fmap func (Just val) = Just (func val)
我定义我的数据类型为:
type Vec2 = (Double, Double)
data Body = Body Vec2 Vec2 Double (Color3 Double) deriving(Eq,Ord, Show, Foldable)
但是,当我定义以下functor
因为它:
instance Functor Body where
fmap func (Body pos vel mass clr) = Body (func pos vel mass clr)
我得到以下错误:
Expected kind '* -> *', but Body has kind *
请确定是什么问题?
备注 - 我会推荐使用你的'Body'数据类型的记录语法 – epsilonhalbe