Cours de base

pull/56/head
Julien Blanchard 10 years ago
parent 00554e6089
commit b4653b4a01

@ -134,7 +134,7 @@ Pour installer Haskell 7.8.4 depuis le dépôt non-officiel
```bash
$ sudo yum-config-manager --add-repo \
> https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/repo/fedora-21/petersen-ghc-7.8.4-fedora-21.repo
> https://copr.fedoraproject.org/coprs/petersen/ghc-7.8.4/repo/fedora-21/petersen-ghc-7.8.4-fedora-21.repo
$ sudo yum install ghc cabal-install
```
@ -201,7 +201,7 @@ echo $SHELL | xargs basename
J'utilise zsh, donc cette commande renvoie `zsh` quand je la lance.
Une fois que vous avez fait tout cela, vous allez devoir installer les outils
Une fois que vous avez fait tout cela, vous allez devoir installer les outils
complémentaires `alex` et `happy`.
```bash
@ -257,6 +257,67 @@ developpeur ou un inexprimenté. Si c'est le cas, commencez par le
---
## Le cours NICTA
> C'est le cours que je recommande après avoir suivi le cis194 de Yorgey
Disponible sur github [ici](https://github.com/NICTA/course).
Ce cours va renforcer et vous donnera de l'experience en implémentant directement
les abstractions introduites dans le cis194, c'est un exercice *critique* pour
être confortable avec les usages habituels des Functors/Applicatives/Monads/etc. en
Haskell. Suivre les cours cis194 puis NICTA est la recommendation principale
de mon guide et c'est comme ca que j'enseigne Haskell à tout le monde.
---
## Cours supplémentaire cs240h
> Fournit plus de matière sur des sujets intermédiaires
Disponible [en ligne](http://www.scs.stanford.edu/14sp-cs240h/).
C'est la version en ligne du cours de [Bryan O'Sullivan](https://github.com/bos)
enseigné à Stanford. Si vous ne savez qui il est, jetez un coup d'oeil à la moitié
des libraries utilisées par les applications Haskell, son nom est dessus. A souligner
si vous avez déjà fait le cours de Yorgey les modules sur les
types fantomes, les controles des flux d'informations, les extensions de language,
la concurrence, les pipes, et les lenses.
---
## Documentation de référence pour les trois cours
[Learn You a Haskell for Great Good (LYAH)](http://learnyouahaskell.com) et
[Real World Haskell](http://book.realworldhaskell.org) (Merci bos !) sont
disponibles en ligne.
Je recommande RWH comme reference (un livre épais). Les chapitres sur le parsing et
les monades sont super pour comprendre où les monades sont utiles. D'autres ont confirmé
qu'il l'avaient beaucoup apprécié. Certainement une bonne suite pour des idomes plus pratiques
lorsque vous aurez intégré les bases d'Haskell.
### Que sont les sucres syntactiques `<-` / `do` / comprehension de listes ?
Un [article](http://www.haskellforall.com/2014/10/how-to-desugar-haskell-code.html) excellent.
### Pour comprendre list et fold
- [Explain List Folds to Yourself](http://vimeo.com/64673035)
### Pour apprendre quelques typeclasses courantes
Utile pour comprendre `Functor`, `Applicative`, `Monad`, `Monoid` et autres
typeclasses en general mais aussi une peu de théorie des catégories spécifique
à Haskell:
- La [Typeclassopedia](http://www.haskell.org/haskellwiki/Typeclassopedia)
### Comprendre les messages d'erreurs standards d'Haskell
- [Understanding basic error messages](http://ics.p.lodz.pl/~stolarek/_media/pl:research:stolarek_understanding_basic_haskell_error_messages.pdf)
---
# Evaluation stricte et paresseuse, _guarded recursion_
@ -327,7 +388,7 @@ expressions en utilisant le papier sur les
Ecrire plusieurs interpréteurs en changeant juste la monde pour changer les
sémantiques peut aider à comprendre ce qui se passe.
- [Cette présentation](https://vimeo.com/73648150) de Tony justifie avec brio
- [Cette présentation](https://vimeo.com/73648150) de Tony justifie avec brio
l'utilité des transformateurs de monades. Les slides sont également
[disponibles](https://dl.dropboxusercontent.com/u/7810909/talks/monad-transformers/cbaa991e0eb49224eb286c1e418e2b9828e1fb21/monad-transformers.pdf).
@ -359,4 +420,3 @@ de Kazu Yamamoto est fantastique.
combinators en Haskell utilisant Parsec.
- [Ecrivez votre propre micro-Parsec](http://olenhad.me/articles/monadic-parsers/)

Loading…
Cancel
Save