2016-05-17 14 views
20

Während ich ein Stück Haskell Code las, stieß ich auf dieses: <$>. Was bedeutet es in Haskell? Nach einigen Google-Suchen bleibe ich im Dunkeln.

+2

Dies ist nicht das letzte "seltsame Haskell-Symbol", das Sie finden werden :) – Jubobs

+1

FYI symbolhound (http://symbolhound.com/?q=%3C%24%3E+haskell) oder genauer gesagt hoogle (https : //www.haskell.org/hoogle/? hoogle =% 3C% 24% 3E) sind in dieser Situation nützlich. – ron

Antwort

34

Google ist nicht die beste Suchmaschine für Haskell. Versuchen Sie Hoogle oder Hayoo, werden beide Sie zeigen sofort to this:

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

Es ist nur ein Infix Synonym für fmap, so dass Sie schreiben können z.B.

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

Wie die meisten Infix Funktionen ist es nicht eingebaute Syntax, nur eine Funktionsdefinition. Aber Funktoren sind so ein grundlegendes Werkzeug, dass <$> so ziemlich überall gefunden wird.