Vers le LITIS
Nicolas Bedon
Vers NormaSTIC Vers l'université de Rouen
Enseignement

Ocaml sous Eclipse

Eclipse est un "Integrated Development Environment" (IDE: environnement de développement intégré), c'est-à-dire un programme conçu pour aider les développeurs dans leur travail. Très utilisé par la communauté Java, et à l'origine développé pour elle, Eclipse est conçu de manière générique; ainsi, le coeur de son architecture fait abstraction du langage de programmation, qu'on peut choisir en lui ajoutant des plugins. Le mécanisme des plugins permet aussi d'ajouter des fonctionnalités à Eclipse.

Parmi les fonctionnalités importantes d'Eclipse, citons entre autres:

Le plugin Eclipse que nous utilisons pour développer en ocaml se nomme OcaIDE.

Il est assez basique, mais permet:

Contrairement à l'interprète, les termes ne sont pas évalués au fur et à mesure, de manière interactive avec le développeur. Pour que les termes soient évalués, il faut exécuter explicitement le programme en entier, ou sélectionner les termes à évaluer et demander explicitement leur évaluation.

Pour faire fonctionner OcaIDE il faut une version assez récente d'Eclipse. Les essais sont réalisés avec Eclipse Kepler (sortie juin 2013). Cette version d'Eclipse n'est pas celle qui est utilisée pour les TPs de Java. Elle doit être lancée par eclipse_OCAML &.

Avant de créer un fichier source, il faut créer un projet. Un projet est constitué d'un ensemble d'entités, dans notre cas des fichiers source, par un exemple un fichier source par TP.

Pour créer un projet: New/Ocaml Managed Project. Donner un nom au projet, par exemple MesTpsDeCaml

Pour créer un fichier source: New/Source File ou New/Module. Donner un nom au fichier source, par exemple tp1.ml.

Il faut indiquer à Eclipse la forme sous laquelle l'exécutable associé au source doit être calculée: Project/Properties et dans Targets: tp1.byte

Il suffit ensuite de taper le code source dans la vue Eclipse dont le nom est celui du fichier source. Au fur et à mesure de la frappe, Eclipse détecte de possibles erreurs, qu'il indique par du rouge. Quand l'écriture du terme est terminée, il est ajouté dans la vue "Outline" (sans type). Il n'est pas évalué ni typé, le sera uniquement lors de la sauvegarde. Le raccourci clavier (très utile) pour sauvegarder est standard: CTRL-S.

Dans la vue "Navigator" une entrée "tp1.byte" est ajoutée. Pour exécuter, il suffit de cliquer droit dessus et de selectionner "Run As", puis le mode d'exécution (dans un interprète ou comme un exécutable). Une autre solution est de selectionner tous les termes du fichier (CTRL-A) puis Ocaml/Eval in toplevel.

Note: certains TPs utilisent la bibliothèque graphique de ocaml, qui n'est pas, par défaut, incluse dans le procédé de fabrication de l'exécutable. Pour qu'elle soit prise en compte, il faut aller dans la vue "Navigator", "External files", cliquer droit sur graphics.mli, sélectionner "Properties", puis "OCaml external file" et enfin donner le chemin de graphics.cma dans le système de fichiers (typiquement /usr/lib/ocaml/graphics.cma).

Il peut être utile de demander à Eclipse de produire un exécutable à partir du fichier ML, en particulier lorsqu'on ne souhaite pas utiliser l'interprète. Il suffit, dans la vue "Navigator", de cliquer droit sur le fichier ML, aller dans "Properties" puis "OCaml module", et de cocher la case "Make executable". Alors, l'exécutable sera automatiquement généré à chaque sauvegarde du fichier ML.

Attention: les fichiers d'Eclipse, donc ceux que vous tapez, sont sauvegardés dans le workspace d'Eclipse, qui se trouve en général dans l'arborescence

~/workspace

Pour en savoir plus, le site de OcaIDE contient des tutoriaux très bien faits.

La fiche du département d'informatique du CNAM sur OcaIDA peut également être utile.


My email address

Valid HTML 4.01! Valid CSS!


My email address 06 March 2023 15:37:41