Cela fait maintenant assez longtemps que RWH est sorti (presque 3 ans). J'étais impatient d'obtenir ma copie après avoir suivi l'écriture progressive du livre en ligne (ce qui, je pense, est l'une des meilleures façons d'écrire un livre). Quelle lecture enrichissante au milieu de tous les articles plutôt académiques qu'un étudiant en haskell rencontre habituellement!
C'était un compagnon solide lors de nombreux voyages et j'y fais régulièrement référence. Pourtant, ma copie a commencé à avoir plutôt mauvaise mine et même si la plupart du contenu est toujours valable, de nombreux nouveaux sujets dans le monde de haskell mériteraient d'être abordés de manière similaire.
Compte tenu de l'impact qu'a eu (et a toujours) RWH, j'espère sincèrement qu'il y aura un jour une suite :) Certains sujets pour une suite qui me viendraient immédiatement à l'esprit:
- Iterateurs
- plus sur la programmation concurrente en haskell
- mérites et dangers de l'évaluation paresseuse
- éventuellement couvrir certaines bibliothèques courantes qui traitent de cela
- en particulier l'io paresseux
- nouvelles fonctionnalités de ghc (par exemple, le nouveau gestionnaire d'E/S, générateur de code LLVM)
- Mémoïsation
- ..
Quels sont les sujets pour lesquels la communauté haskell a besoin d'une explication dans le style RWH?
ceci est un résumé des suggestions jusqu'à présent :
Concepts
- Iterateurs / io paresseux
- Flèches
- gestionnaire d'événements ghc
Techniques
- génériques (uniplate, syb)
- méta-programmation (Template Haskell)
- structures de données (utilisation de structures de données fonctionnelles, conception de structures de données)
- EDSL (conception de EDSL)
- mémoïsation
- conception avec des monades
- bonnes pratiques pour la programmation impérative
Outils
- ThreadScope
- Outils avancés FFI (c2hs, utiliser Haskell depuis C)
- cabal
- haddock
- hoogle
- Optimisation du runtime, en particulier les drapeaux GC
- Djinn
Librairies
- tableaux et programmation de tableaux (vector, repa, hmatrix)
- numériques (nombres aléatoires)
- programmation parallèle (le monade Par)
- unicode et localisations (text, text-icu)
- analyse (attoparsec, tagsoup)
- réseautage (snap, yesod)
- trucs web (templating)
- persistence (en particulier les liens de stockage no-sql)
- graphiques (cairo, sdl, opengl)
- xml (haxml)
- crypto
- processeurs et systèmes