(:) <$> Just 3 <*> Just [4]
est « Cons appliqué à seulement trois appliqué à la liste seulement avec un élément quatre »
Just (+3) <*> Just 9
est « juste plus trois appliqué à seulement neuf ».
En outre, <$>
est fmap
, non <*>
:
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
Prelude Control.Applicative> :t (<$>)
(<$>) :: Functor f => (a -> b) -> f a -> f b
Prelude Control.Applicative> :t fmap
fmap :: Functor f => (a -> b) -> f a -> f b
Il y a beaucoup de sortes de choses à appliquer. a $ b
, a <$> b
, a <*> b
et ap a b
sont toutes les applications, juste pour différents types de a
et b
. De même, >=>
et .
sont toutes les compositions etc.
Merci, mes < $ > sont cachés sauf si je mets des espaces dedans. Mon q pourrait avoir plus de sens maintenant. –
Heh, vos vieux exemples typechecked aussi, donc ils ont un sens :) – nponeccop