类型Either a [b]和函数f :: (b -> c)如何在Either a [b]类型的值上使用f来获得Either a [c]?
Either a [b]
f :: (b -> c)
f
Either a [c]
f2uvfpb91#
使用fmap函数就可以了。其中一个是Functor类型类的示例,第一个类型是固定的:
fmap
data Either a b = Left a | Right b instance Functor (Either a) fmap _ (Left x) = Left x famp f (Right y) = Right (f y)
字符串因此Either a的fmap类型为:
Either a
fmap :: (b -> c) -> Either a b -> Either a c
型将fmap应用于Either会导致:类型a的Left数据构造函数保持不变,类型B的Right数据构造函数得到应用于类型c的函数f。
1条答案
按热度按时间f2uvfpb91#
使用
fmap
函数就可以了。其中一个是Functor类型类的示例,第一个类型是固定的:
字符串
因此
Either a
的fmap类型为:型
将fmap应用于Either会导致:类型a的Left数据构造函数保持不变,类型B的Right数据构造函数得到应用于类型c的函数f。