Hackage a plusieurs paquets pour monade transformers:
- mtl: Monade transformateur de la bibliothèque
- transformers: Béton foncteur et de l'errance de transformateurs
- les monades-fd: Monade classes, en utilisant des dépendances fonctionnelles
- les monades-tf: Monade classes, en utilisant le type de familles
- monadLib: Une collection de monade transformateurs.
- mtl-tf: Monade transformateur de bibliothèque en utilisant le type de familles.
- mmtl: Modulaire Monade transformateur de la bibliothèque
- mtlx: Monade transformateur de la bibliothèque avec le type d'index, l'offre de "libre" copies.
- composer-trans: Composable monade transformateurs
(et peut-être que j'ai raté quelques)
Lequel doit-on utiliser?
mtl est celui de la Plateforme Haskell, mais j'entends sur reddit que c'est pas cool.
Mais ce qui est mauvais sur le choix de toute façon, n'est-ce pas une bonne chose?
Eh bien, j'ai vu comment par exemple les auteurs de données-accesseur a dû faire toutes ces pour répondre à tout les choix populaires:
- données accesseur-monadLib bibliothèque: fonctions d'Accesseur pour monadLib de monades
- données accesseur-monades-fd bibliothèque: l'Utilisation de l'Accesseur pour accéder à l'état dans les monades-fd État de monade classe
- données accesseur-monades-tf bibliothèque: l'Utilisation de l'Accesseur pour accéder à l'état dans les monades-tf État de monade type de famille
- données accesseur-mtl bibliothèque: l'Utilisation de l'Accesseur pour accéder à l'état de mtl État de monade classe
- données accesseur-transformateurs de la bibliothèque: l'Utilisation de l'Accesseur pour accéder à l'état dans les transformateurs État de monade
J'imagine que si ce qui se passe et, par exemple, plusieurs concurrents Flèche paquets évoluer, nous pourrions voir quelque chose comme: spoonklink-flèches-transformateurs, spoonklink-flèches-monadLib, spoonklink-tfArrows-transformateurs, spoonklink-tfArrows-monadLib, ...
Et puis j'ai peur que si spoonklink obtient fourchue, Hackage sera à court d'espace disque. :)
Questions:
- Pourquoi sont-ils si nombreux monade transformateur de paquets?
- Pourquoi est-mtl [considéré comme] cool?
- Quelles sont les principales différences?
- La plupart de ces apparemment en concurrence paquets ont été écrit par Andy Gill et sont maintenus par Ross Paterson. Est-ce à dire que ces paquets ne sont pas en concurrence, mais plutôt de travailler ensemble en quelque sorte? Et n'Andy et Ross considérer l'une de leurs propres paquets obsolètes?
- On devrait vous et je utiliser?