> Do you want to continue? [Y/n]Il faut répondre "y" (yes) pour valider, ou "n" (no) pour abandonner, puis un retour à la ligne (touche "Entrée"). La lettre en majuscule indique le choix par défaut si vous faites simplement "Entrée". Il faut donc lancer les commandes données ci-dessous une à une et vérifier si des questions vous sont posées !
Avant d'utiliser opam pour la première fois, il faut l'initialiser. Pour ce faire, lancer les commandes suivantes :
opam init -y eval $(opam env)On peut ensuite installer des paquets opam avec la commande opam install. Installer les paquets qui seront utiles pour le cours :
opam install menhir merlin graphics dune ocamlformat tuareg ocp-index user-setup opam user-setup install eval $(opam env)Pour utiliser Down (amélioration du toplevel ; ne fonctionne pas sous Windows) :
opam install down touch ~/.ocamlinit && echo '#use "down.top";;' >> ~/.ocamlinitOn peut maintenant travailler confortablement avec OCaml, notamment avec un éditeur comme Emacs ou VIM (voir plus bas). Si on souhaite utiliser Visual Studio Code, il faut suivre les instructions ci-dessous.
opam install ocaml-lsp-server
Vous pouvez lancer VScode en cliquant sur son icône ou avec la commande
codeCliquer sur l'icône
Cliquer sur "Open folder" et choisir un dossier pour travailler, par exemple td2 (le créer si besoin avec l'icône en haut à droite du sélecteur de fichier).
Ajouter un fichier dans votre dossier de travail (par exemple test.ml). Il devrait être reconnu comme un fichier OCaml (petite icône orange avec un chameau). Il est typé à la volée et les types/erreurs sont affichés.
Pour exécuter un programme OCaml, ouvrir un nouveau terminal (menu Terminal) puis y lancer une commande comme :
ocamlopt test.ml -o test && ./test
Pour utiliser l'environnement Cygwin au sein de Visual Studio Code (et donc avoir accès à OCaml depuis VScode), il faut le lancer avec ocaml-env. Vous pouvez créer un raccourci (fichier .lnk) pour automatiser cela (il faut alors lancer VScode avec ce raccourci), avec une commande similaire à "C:\Ocaml64\usr\local\bin\ocaml-env-win.exe" -- "C:\\Program Files\\Path To\\VisualStudioCode.exe". Pour trouver l'emplacement de l'exécutable de VScode sur votre machine, vous pouvez vous aider de ce lien StackOverflow.
Alternative : Si l'installation ci-dessus ne fonctionne pas, il est possible d'utiliser une machine virtuelle Linux tournant sous Windows (pas idéal, un peu lent, mais devrait fonctionner tout de même). Télécharger the course Debian live CD et installer VirtualBox. Lancer VirtualBox, créer une nouvelle installation Debian 32-bit, la lancer et choisir de démarrer depuis l'image téléchargée. Ensuite, procéder comme décrit ci-dessous pour un système Debian.
brew install opam emacs
apt-get install opam emacs
On a expliqué plus haut comment configurer Visual Studio Code pour OCaml.
La configuration d'Emacs se fait dans un fichier .emacs situé à la racine de votre compte. L'installation ci-dessus aura ajouté des lignes dans ce fichier. Au final, il pourra ressembler à quelque chose comme ça.
Le mode Merlin compile votre programme chaque fois que vous sauvez (pour signaler les erreurs), mais ne construit pas d'exécutable.
Pour construire un exécutable, vous pouvez appeler le compilateur OCaml directement depuis Emacs avec la commande Meta-x compile (Meta s'obtient avec la touche Alt ou Esc, au choix). Vous pouvez relancer la même commande avec Meta-x recompile. Si le compilateur OCaml signale une erreur, vous pouvez vous placer directement sur la position correspondante avec Meta-x next-error. Vous pouvez simplifier les raccourcis clavier de ces trois commandes en insérant par exemple les lignes suivantes dans votre fichier ~/.emacs :
(global-set-key [f5] 'compile) (global-set-key [f6] 'recompile) (global-set-key [f7] 'next-error)C'est là une façon très efficace de travailler. (Et vous pourrez utiliser ces raccourcis pour toute autre chose que la programmation OCaml.)
Si vous souhaitez des raccourcis Ctrl-C, Ctrl-V, Ctrl-X pour le copier-coller sous Emacs, vous pouvez ajouter la ligne
(custom-set-variables '(cua-mode t nil (cua-base)))à votre fichier .emacs pour activer le mode Cua pour Emacs. C'est fait dans le fichier .emacs proposé.