Je suis dans le processus d'apprentissage Haskell, et les classes de type sembler comme un moyen puissant de faire des type-safe fonctions polymorphes. Mais beaucoup de Haskell Prélude fonctions ne les utilisez pas. Plus précisément:
La plupart de la liste des fonctions ne fonctionnent pas avec d'autres structures de données (par exemple,
foldr
etlength
sont mis en œuvre pour les listes et ne peut pas être utilisé sur les tableaux).Des Modules comme
Data.ByteString
sont inutilisables, sauf si vous utilisezimport qualified
car elles contiennent des fonctions qui ont le même nom que le Prélude de fonctions.
Il semble que ces deux problèmes pourraient disparaître si la bibliothèque standard utilisé des fonctions génériques avec des classes de type (s'il vous plaît laissez-moi savoir si je suis complètement à côté de la base à ce sujet).
J'ai deux questions:
Quelles sont les caractéristiques techniques ou de conception raisons que le Prélude est comme ça, ou est-ce juste pour des raisons historiques?
En regardant autour, il semble qu'il y a quelques bibliothèques (comme
Data.Foldable
et, si je ne suis pas trompe, des déchets de Votre passe-partout) pour remplacer le standard Prélude fonctions avec des solutions de rechange génériques. Sont il y a des plans pour intégrer ces idées dans les futures versions de Haskell?