3.9 KiB
Le Guide
Ceci est ma façon recommandée d'apprendre Haskell.
Quelque chose à garder en tête: ne bloquez pas sur les points que vous ne comprenez pas immédiatement. Continuez à avancer.
Communauté
Notre canal IRC est #haskell-beginners
sur Freenode.
Client web IRC ici.
Les listes de diffusion Haskell.
Lignes directrices de la communauté
Voir le post sur l'enseignement de Chris Done
Soyez gentils et courtois. Etre méchant ou déagréable fait peur aux autres et ne les encourage pas à participer.
Une critique pour le plaisir de critiquer ne sers que la personne qui la fait, pas celle qui la reçoit.
Ne décrivez pas les choses comme "faciles" ou "triviales". Vous créerez un malaise pour les autres qui auraient la sensation de devoir travailler plus durement pour progresser. Les personnes qui apprenent lentement sont souvent celles qui font un apprentissage plus approfondi, c'est quelque chose que nous devons célébrer et encourager !
Ne pas feindre la surprise. N'ayez pas l'air surpris lorsque quelqu'un affirme ne pas savoir quelque chose. La personne se sentira mal et vous n'aurez rien accompli mis à part flatter votre égo.
Pas de "en fait...". Lorsqu'une personne dit quelque chose de presque - mais pas entièrement - correct, et vous répondez, "Ouais… en fait…" puis les corrigez. C'est particulièrement ennuyeux lorsque la correction n'a aucune incidence sur la conversation actuelle. Cela ne signifie pas que Hacker School ne se souci pas de la recherche de la vérité ou que nous ne nous soucions pas d'être précis. Presque tous les "Ouais… en fait…" sont de la démagogie, et non de la recherche de la vérité.
Pas de conduite accompagnée. Si vous voyez des personnes buter sur un problème, vous ne devez pas immédiatement donner des conseils. Laissez travailler dessus à moins que quelqu'un demande de l'aide. Eviter les interruptions est un des objectifs fondateurs du canal #haskell-beginners.
Pas de -ismes. Racisme, sexisme, homophobie, transphobie, et autres biais ne sont pas bienvenus et ne seront pas tolerés.
Lignes directrices du manuel de the Hacker School. Merci de l'avoir partagé Hacker School.
Qu'est ce que Haskell, GHC, et Cabal?
Haskell est un langage de programmation, défini par une spécification, la plus récente datant de 2010. Celle-ci est disponible en ligne.
GHC
GHC est le moyen le plus populaire de travailler avec le langage Haskell. Il inclut compilateur, REPL(interpréteur), gestion de paquets, et plus encore.
Cabal
Cabal s'occupe de la gestion du projet et de la résolution des dépendances. C'est lui qui aide à l'installation de projets, typiquement dans leurs propres sandbox.
Cabal est l'équivalent de Bundler pour Ruby, de pip pour Python, de NPM pour Node, Maven, etc. GHC gère le packaging lui-même, Cabal choisit quelles versions doivent être installées.
Cours de base
Le cours cis194 de Yorgey
Faites le en premier, c'est la principale introduction à Haskell que je recommande.
Disponible en ligne.
Le cours de Brent Yorgey est le meilleur que j'ai trouvé jusque là. La valeur de ce cours est qu'il vous équipera pour écrire du code basique en Haskell mais aussi vous aidera à comprendre les combinateurs d'analyse (parser combinators).
La seule raison pour laquelle vous ne devriez pas commencer avec cis194 est si vous n'êtes pas un developpeur ou un inexprimenté. Si c'est le cas, commencez par le livre de Thompson puis enchainez avec cis194.