La funzione +
è specifica per i numeri e inoltre è solo un modo per implementare Monoid per i numeri (*
è ugualmente valido). Allo stesso modo, con i booleani, sarebbe ugualmente valido usare &&
e ||
. Utilizzando il simbolo +
si suggerisce che i mono sono circa in aggiunta in particolare, quando in realtà si tratta di qualsiasi operazione associativa .
E 'vero che, almeno nella mia esperienza, uno è probabile che l'uso mappend
in un modo che assomiglia più: concatenazione di liste o vettori, prendendo le unioni di set o mappe, ecc, ecc, tuttavia, la mentalità Haskell favorisce generalità e l'aderenza ai principi matematici su (probabilmente) ciò che è più intuitivo. È certamente ragionevole, a mio parere, per pensare a di mappend
come una sorta di aggiunta generale e apportare modifiche nei casi in cui non lo è.
fonte
2014-05-21 22:42:19
xmonad utilizza ['<+>'] (http://xmonad.org/xmonad-docs/xmonad/XMonad-ManageHook.html#v:-60--43--62-) per 'mappend'; IIRC è stato introdotto prima che '<>' sia stato aggiunto alle librerie standard. – raymonad