2012-09-08 2 views

Répondre

5

(:) <$> 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.

+0

Merci, mes < $ > sont cachés sauf si je mets des espaces dedans. Mon q pourrait avoir plus de sens maintenant. –

+1

Heh, vos vieux exemples typechecked aussi, donc ils ont un sens :) – nponeccop

Questions connexes