113 votes

Quel est le point de la carte en Haskell, quand il y a fmap?

Partout où j'ai essayé d'utiliser map , fmap a également fonctionné. Pourquoi les créateurs de Haskell ont-ils ressenti le besoin d'une fonction map ? Ne pourrait-on pas simplement supprimer ce qui est actuellement connu sous le nom de fmap et fmap ?

107voto

luqui Points 26009

Je tiens à apporter une réponse à attirer l'attention sur augustss du commentaire ci-dessus:

Ce n'est pas réellement comment ça se passe. Ce qui s'est passé est que le type de carte a été généralisé pour couvrir Foncteur en Haskell 1.3. I. e., en Haskell 1.3 fmap a été appelé carte. Ce changement est ensuite revenue en Haskell 1.4 et fmap a été introduit. La raison de ce changement était pédagogiques; lors de l'enseignement de Haskell pour les débutants de la très général type de carte messages d'erreur les plus difficiles à comprendre. À mon avis, ce n'était pas la bonne façon de résoudre le problème.

Haskell 98 est considéré comme un pas en arrière par certains Haskellers (moi y compris), les versions précédentes ayant défini d'une manière plus abstraite et cohérente de la bibliothèque. Oh bien.

41voto

rampion Points 38697

Des raisons historiques.

La première venue map, parce que, eh bien, il y avait des listes.

Puis quelqu'un a dit: "qu'il soit foncteurs!". Et a été un peu vexé, b/c map était déjà pris. Alors ils ont dit "fuck it, appellent fmap."

Et il en fut ainsi.

Ensuite, Functor est devenu une partie de la bibliothèque standard, et toute personne a dit "c' fmap nom est boiteux, mais nous ne voulons pas changer le nom de l' map, parce que cela risquerait de casser des trucs."

Donc ils n'ont pas.

Edit: Ou, selon le cas, en fait, je me trompe: voir augustss de commentaire ci-dessous.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X