многие fmap раскрываются в (.)?
> :t fmap fmap fmap fmap
fmap fmap fmap fmap
:: (Functor f1, Functor f2, Functor f3) =>
f1 (f2 (a -> b)) -> f1 (f2 (f3 a -> f3 b))
> :t fmap fmap fmap fmap fmap
fmap fmap fmap fmap fmap
:: Functor f => (a1 -> b) -> (a2 -> a1) -> f a2 -> f b
когда мы уже делаем fmap fmap fmap, тут определяется тип функтора внешнего, так как аргумент - fmap, то и функтор - стрелка поэтому fmap fmap fmap это fmap . fmap
Обсуждают сегодня