Topcameleon
Qu'est-ce que Topcameleon ?

Topcameleon est une interface graphique en Gtk2 pour l'interprète OCaml. Il permet, comme l'interprète en mode texte, de saisir des phrases OCaml et de les faire interpréter immédiatement par OCaml. Des fonctionnalités supplémentaires sont offertes:

  • la sauvegarde du code saisi dans un fichier,
  • la possibilité de "voir" et de parcourir les valeurs évaluées, dans une vue arborescente,
  • accès rapide aux définitions de valeurs, modules, types, ....

Il est également possible de créer son propre interprète graphique avec l'outil cam-mktop.

Lancement

Topcameleon est lancé par la commande suivante:

topcameleon [options] [object-files] [source-file]

Les options sont les mêmes que pour le toplevel OCaml, et les fichiers en arguments sont traités de la même façon, sauf si un fichier source est donné, Topcameleon ne termine pas après l'interprétation du code dans ce fichier, mais affiche la fenêtre principale avec le code du fichier encore présent comme si l'utilisateur l'avait entré. De cette façon, il est possible d'entrer du code avec le code chargé et quand on est satisfait on peut sauver tout le code dans un fichier (par défaut le code est sauvé dans le fichier donné). Topcameleon ne peut donc pas être utilisé comme un interprète de scripts, mais ce n'est pas son but.

Utiliser Topcameleon

Sur la fenêtre principale de Topcameleon, la liste de gauche montre les éléments définis (valeurs, types, modules, ...). La seconde partie montre la valeur sélectionnée, de façon arborescente. La partie droite est la console, avec en haut les résultats de l'interprète et en bas la partie "saisie". Le bouton "Execute" lance l'évaluation du code tapé dans la partie "saisie".

Chaque fois qu'un nouvel élément est défini, il est ajouté à la liste des éléments. Quand un élement est sélectionné dans cette liste, sa valeur (si c'est une valeur) est affichée de façon arborescente, et la fenêtre de résultat "saute" à la ligne où cet élément est défini.

Les erreurs dans le champ de saisie sont mises en valeur lorsque la phrase est exécutée (ne pas oublier le ";;" à la fin de la phrase).

On peut utiliser les menus "File/Load file ...", "File/Save" et "File/Save as ..." pour charger et sauver des fichiers. Le fichier courant est affiché dans la barre de titre de la fenêtre. C'est le fichier dans lequel le code est sauvé lorsqu'on utilise le menu "File/Save".

Le menu "File/Preferences" ouvre la fenêtre de configuration depuis laquelle on change quelques couleurs, la fonte, et choisit si les valeurs affichées dans l'arbre sont affichées entièrement ou seulement "noeud par noeud" à la demande (par défaut, elles sont affichées entièrement mais cela peut prendre du temps et de la mémoire pour de grosses valeurs).

Créer un toplevel graphique avec cam-mktop

Comme pour l'interprète OCaml, une commande permet de définir son propre interprète graphique. Cette commande est cam-mktop et s'utilise de la même façon que la commande ocamlmktop (voir le manuel d'OCaml pour plus d'information). Les seules différences sont:

  • on obtient un interprète graphique au lieu d'un interprète en mode texte,
  • l'interprète contient déjà les bibliothèque suivantes: Unix, LablGtk, Lablglade, Config_file, Configwin, Gmylist, Okey.