定义FMAP所以我有这些数据类型:数据类型
data Stuff a = Stuff (StuffPart a) (StuffPart a) deriving (Show,Eq)
data StuffPart a = Add a (StuffPart a)| End deriving (Show,Eq)
,现在是有可能写的东西一FMAP功能?喜欢的东西:
instance Functor Stuff
where
fmap f (Stuff x y) = Stuff (f x) (f y)
显然,我的FMAP不会工作,但我能做些什么来使它发挥作用。 我也尝试这样的代码:
instance Functor Stuff
where
fmap f (Stuff x y) = Stuff (f x) (fmap f y)
不知怎的,我在FMAP功能方面感到失落..
你需要一个'StuffPart',同一个列表...或者只是启用'DeriveFunctor'为你做这项工作... – karakfa