I – Introduction
I-A – Résumé
I-B – Téléchargements
I-C – Licence
I-D – Préface et notes sur le style
II – Un langage surprenant !
II-A – Les Bizarreries d’Haskell
II-B – Les Entrées et Sorties
II-C – Une petite introduction aux types
II-D – La compréhension de liste
II-E – La lumière sur ‘fibs’
III – Introduction aux fonctions
III-A – L’ordre des choses
III-B – Les types et les fonctions
III-C – Les types polymorphes
III-D – Les fonctions, enfin !
IV – C’est parti pour les fonctions !
IV-A – Les motifs
IV-B – Après les motifs, les gardes
IV-C – Le ‘If’
IV-D – L’ Indentation
IV-E – Les lambdas fonctions
IV-F – Les types polymorphes et les constructeurs de types
IV-G – La Monade IO
IV-H – Le ‘main’ à la loupe
V – Haskell et vous
V-A – Où sont passées les boucles » for « ?
V-B – Types avancés
V-C – Pour conclure
VI – Le mot de la fin
VI-A – La ‘Transparence référentielle’ est-elle vraiment utile ?
VI-B – Contacts et références
VI-C – Digression finale
I – Introduction
I-A – Résumé
La plupart des gens sont habitués aux langages impératifs comme C, C++, Java, Python et Pascal.
Pour les étudiants en informatique, Haskell est étrange et incompréhensible.
Ce tutorial suppose que le lecteur connaît le C/C++, le Python, le Java ou le Pascal. Je l’ai écrit parce qu’il m’a semblé qu’aucun autre tutorial n’a été fait pour aider les étudiants à passer d’un langage comme C/C++ ou Java à Haskell.
Peut-être avez-vous regardé du coté des manuels de références comme » A Gentle Introduction to Haskell « , sans toutefois arriver à tout déchiffrer ?…
Haskell n’est pas » un peu différent » et ne vous prendra pas » un peu de temps » pour arriver à le comprendre. Il est très différent des autres langages et vous ne pourrez pas le maîtriser du jour au lendemain. Néanmoins, j’espère que ce tutorial pourra vous aider.
Je ferais pas mal de pauses tout au long de ce tutorial, parce que Haskell, ça fait mal. En ce qui me concerne, j’ai eu besoin de beaucoup de pauses et j’ai eu beaucoup de migraines en essayant de comprendre ce langage !
Haskell possède à la fois plus de » flexibilité » et plus de » contrôle » que la plupart des langages. Je ne connais rien qui puisse battre la capacité de contrôle du C, mais Haskell peut faire aussi bien que le C dans tous les domaines à moins que vous vouliez contrôler des octets particuliers en mémoire. C’est pour cette raison que Haskell n’est pas seulement » bon « , il est » puissant « .
I-B – Téléchargements
Ndt : ADU
I-C – Licence
J’ai décidé d’être précis dans le choix de la licence de ce tutorial. Pour faire simple, vous pouvez faire tout ce que vous voulez avec ce tutorial tant que mon nom figure dessus : vous pouvez le modifier, le redistribuer ou vendre des travaux qui s’en inspirent. En particulier, vous pouvez l’utiliser dans le cadre d’une formation professionnelle. Je serais enchanté d’apprendre qu’une entreprise intéressée par Haskell a utilisé ce tutorial comme support de formation. Donc n’hésitez pas ! De toute manière, tout travail dérivé restera sous cette licence. » Share alike « . Merci, Creative Commons. Ce lien vous mènera aux mentions légales :
Creative Commons Attribution-ShareAlike 2.5 License.
Note du traducteur : Cette version traduite du tutorial reste effectivement sous la licence Creative Commons » Share Alike « . Si vous utilisez ou modifiez cette version du tutorial en Français, merci de mentionner le nom de l’auteur ainsi que du traducteur !
I-D – Préface et notes sur le style
Ceci n’est pas un ouvrage de référence du langage Haskell. C’est un tutorial fait pour aider les gens qui ont des difficultés à comprendre Haskell. Ce tutorial est destiné aux gens qui, comme moi, ont besoin de comprendre les concepts avant de s’attaquer à la compréhension du code. Haskell permet de faire des choses facilement et simplement, mais il n’est ni facile ni simple et peut être très ardue pour un débutant. Vous ne pourrez pas comprendre du code Haskell d’emblée au premier coup d’#il. En écrivant ce tutorial j’ai essayé de couvrir tous les aspects les plus courants d’Haskell qui posent problème.
Au fil du tutorial, une chose devrait devenir de plus en plus claire : Haskell révèle sa vraie puissance lorsque vous vous attaquez aux problèmes difficiles. C’est pour cela que j’utiliserai quelques exemples non triviaux dans ce tutorial. Ne vous inquiétez pas si vous ne comprenez pas les solutions à la première lecture# Haskell n’est pas un langage gadget et même un nombre réduit de fonctions pourront mettre en #uvre des fonctionnalités complexes d’Haskell. Voilà un dilemme pour le formateur : dois-je utiliser des exemples ridiculement simples pour couvrir un seul sujet à la fois, ou dois-je décrire quelque chose d’effectivement utile et essayer d’expliquer chaque élément et leurs articulations ?
Beaucoup de tutoriaux et de cours ont choisi la première solution, je préfère la seconde. Cela implique souvent des explications plus longues pour chaque exemple.
Tutorial Haskell (208 KO) (Cours PDF)