Apprendre Haskell en venant de Python : Partie 1 : l’Installation et la Configuration (exemple avec Notepad++ sur Windows)

Les Téléchargements

On va directement aller dans le vif du sujet : il vous faut un éditeur de bonne qualité (j’utilise Notepad++ sur Windows) et une distribution Haskell. La plus populaire semble être Haskell Platform (qui comprend entre autre le Glasgow Haskell Compiler, GHC, et le système Cabal pour gérer les bibliothèques).

Si vous venez de Python, cela est équivalent à avoir installé un environnement du type Anaconda ou Miniconda.

Si vous avez déjà un éditeur préféré, c’est que Haskell n’est certainement pas votre deuxième langage de programmation, et que vous devriez savoir adapter les conseils suivants à votre éditeur préféré.

Configurer Notepad++

D’abord, il faut s’assurer de pouvoir lancer GHCi (l’interpréteur GHC) avec Notepad++ (Npp). Un gestionnaire d’extension est maintenant présent en natif sur Npp. Donc, grâce à lui, installez NppExec :

  • Une fois Notepad++ installé, lancez-le
  • Allez dans le menu Modules d’extension, puis cliquez sur Gestionnaire des modules d’extension…
  • Recherchez NppExec, cochez la case correspondante, puis cliquez sur installer. [Note : je vous conseille aussi les modules Compare et NppExport].

Cette extension vous permet de lancer une console Windows dans la fenêtre en appuyant sur F6 directement, et cela directement en se plaçant dans le dossier où est placé votre script.

Nous allons commencer par enregistrer le script NppExec qui va nous servir à interpréter un script Haskell. En tapant sur F6, copiez-collez ce texte :

ghci "$(FULL_CURRENT_PATH)"

Enregistrez le sous un nom explicite comme « Haskell interprété ».

Hello World

Pour notre premier script, on va faire simple. Ouvrez grâce à Npp un nouveau fichier texte et enregistrez le avec une extension .hs, comme par exemple mon_premier_programme_Haskell.hs.

main = putStrLn "Hello, World!"

Puis tapez sur F6 : choisissez le script défini précédemment, et lancez-le. Dans la console, tapez main. Et voilà !

Compiler du Haskell

Alors, si vous n’avez vraiment fait que du Python avant, il se peut que vous n’ayez jamais créer d’exécutable, et que vous n’ayez donc fait que de l’interprétation de scripts, et jamais de compilation. Cela va donc être la création de votre premier exécutable dans ce cas-là.

Fermez la console (F6 puis Kill). Et appuyez de nouveau sur F6. Copiez-collez alors ce texte :

ghc --make "$(FULL_CURRENT_PATH)"

Enregistrez le sous un nom explicite comme « Haskell compilé », puis continuez avec OK. Normalement, cela devrait mettre un peu plus de temps. Quelques fichiers ont été créés dans votre dossier normalement, dont une fichier exécutable d’extension .exe. Si vous tentez de double-cliquer dessus, vous risquez de ne pas voir grand chose. En effet, dès le programme terminé, la fenêtre de la console se ferme. Et ce programme ce termine vite…

Refermez la console et appuyez de nouveau sur F6. Copiez-collez alors ce texte :

$(CURRENT_DIRECTORY)\$(NAME_PART).exe

Enregistrez le sous un nom explicite comme « Exécuter exécutable », puis continuez avec OK. Normalement, vous avez votre résultat. Et voilà !

Conclusion

Vous savez déjà :

  • Créer un script Haskell avec l’extension qui va bien (.hs).
  • Lancer l’interpréteur Haskell via un éditeur.
  • Lancer le compilateur Haskell via un éditeur.
  • Exécuter un exécutable via un éditeur.

Vous n’avez peut-être encore aucune idée de ce qu’est Haskell, mais vous avez maintenant tous les outils de base pour vous amuser avec.

Avant de finir

On se retrouve souvent avec des problèmes d’indentation lorsqu’on programme, en particulier lier à la présence de tabulation gênante.

On peut soit supprimer totalement l’indentation automatique de Notepad++ (ce que je trouve exagéré, c’est quand même pratique), soit la configurer correctement. Il ne faut surtout aucune tabulation dans votre script. Pour cela :

  • Dans le menu Paramètres…/Préférences…
  • Allez dans la partie Langage du menu de gauche.
  • Dans la partie droite de la fenêtre, cochez la case Insérer des espaces.
  • Si vous voulez vraiment supprimer l’indentation automatique : allez dans la partie Divers du menu de gauche et cochez la case correspondante.