Vous vous demandez maintenant après cette présentation quel genre de programmes on peut faire en Haskell. En fait, on peut à peu près faire tout ce qu'on peut faire dans un autre langage, mais ce chapitre va vous montrer quelques exemples.
Jeux et interface graphique
Frag, un FPS en 3D
En Haskell, on peut faire des jeux vidéo (même si, comme dans tous les langages, ça peut devenir compliqué) : Frag est un jeu de tir à la première personne en 3D, utilisant OpenGL pour les graphismes, capable de charger des niveaux au format Quake3. Pour plus de détails, vous pouvez lire la page dédiée sur le wiki haskell :
Frag. Voilà une capture d'écran :
xmonad, un gestionnaire de fenêtres
xmonad est un gestionnaire de fenêtre (ou
WM) X11 (donc pour Linux et autres). C'est un programme qui se charge de placer les fenêtres au bon endroit à l'écran. Cependant, xmonad à la particularité d'être un
tiling wm : par défaut, il organise les fenêtres de telle façon qu'elles occupent tout l'espace de l'écran et ne se recouvrent pas (cependant, certains modes permettent d'arranger les fenêtres différemment). Il est très léger, mais très configurable : le fichier de configuration est écrit en haskell. Il est aussi extensible, avec de nombreux modes de placement des fenêtres, et gère les écrans multiples.


Outils pour développeurs
GHC, le principal compilateur Haskell, est écrit en Haskell, mais c'est aussi le cas de la plupart des autres compilateurs pour Haskell.
Pugs, un interpréteur et compilateur pour Perl 6, a aussi été codé en Haskell.
darcs, un logiciel de gestion de version distribué, est aussi codé en haskell.
Et plus encore !
Plein d'autres choses
Il aussi possible de faire beaucoup d'autres choses, parmi lesquelles :
De nombreuses bibliothèques
Il y a aussi de nombreuses bibliothèques en Haskell, qui permettent de ne pas avoir à réinventer la roue pour coder quelque chose de simple et de faire beaucoup de choses : des applications web, de la musique, du traitement d'images, manipuler du XML, de la cryptographie, des mathématiques et beaucoup d'autres choses.
Vous pouvez voir une liste de bibliothèques et d'applications disponibles en Haskell sur
hackage.