web-dev-qa-db-fra.com

Que signifie <$> à Haskell?

En lisant un morceau de code Haskell, je suis tombé sur ceci: <$>. Qu'est-ce que cela signifie à Haskell? Après quelques recherches sur Google, je reste dans le noir.

38
prometheus21

Google n'est pas le meilleur moteur de recherche pour Haskell. Essayez Hoogle ou Hayoo , les deux vous indiqueront immédiatement à ceci:

(<$>) :: Functor f => (a->b) -> f a -> f b

C'est simplement un synonyme d'infixe pour fmap , vous pouvez donc écrire par ex.

Prelude> (*2) <$> [1..3]
[2,4,6]
Prelude> show <$> Just 11
Just "11"

Comme la plupart des fonctions d'infixe, ce n'est pas la syntaxe intégrée, juste une définition de fonction. Mais les foncteurs sont un outil tellement fondamental que <$> se trouve à peu près partout.

56
leftaroundabout