Le langage de base Haskell est vraiment simple. Issu d'un milieu OO, la principale difficulté est de s'adapter au pur paradigme fonctionnel.
Tout en apprenant Haskell "basique", j'ai toujours considéré les extensions de langage comme des jouets pour les CS ou comme des expériences pour les futures versions du langage (comme from future import ???
en python).
Cependant, quand j'ai commencé à regarder les frameworks Web tels que Yesod, je trouve que beaucoup de fichiers source nécessitent entre 3 et 4 extensions. Certains semblent assez simples (StringOverload). D'autres sont vraiment intimidants (GADT, Type Famillies, Template Haskell). Leur documentation est liée à des documents de recherche, ce qui fait peur à quelqu'un qui s'attend à apprendre "juste" une nouvelle bibliothèque.
Est-il nécessaire d'apprendre les extensions de langage GHC pour être productif dans Haskell? Si vous deviez embaucher un développeur Haskell pour une application de production, demanderiez-vous une telle connaissance?