Environnement de travail
Ocaml

Présentation

Installation

Ocaml est

Vue d'ensemble

  • Gestionnaire de paquetages opam.
  • Interpréteurs ocaml et utop.
  • Compilateurs ocamlc et ocamlopt.
  • Machine virtuelle ocamlrun.
  • Débogueur ocamldebug.
  • Navigateur de bibliothèque ocamlbrowser.
  • Intégration dans les éditeurs.

Description des outils

Gestionnaire de paquetages opam

  • Permet d'installer facilement:
    • plusieurs versions d'ocaml pour un même utilisateur.
    • Des bibliothèques et des logicels.
    • Installation sur le compte privé de l'utilisateur.
    • Utilisation très simple: https://opam.ocaml.org/

Les interpréteurs ocaml et utop

  • Évaluent les expressions tapées au clavier.
$ ocaml
        OCaml version 4.02.3

# 1+2;;
- : int = 3
  • utop (URL) gère en plus
    • l'historique,
    • la complétion automatique (raccourcis clavier « emacs »),
    • navigation et édition de ligne, copié-collé, etc.
    • la coloration syntaxique.

Compilateurs ocamlc et ocamlopt

OCaml possède deux compilateurs:

  • ocamlopt, un compilateur vers du code natif.
  • ocamlc, un compilateur vers du bytecode.

  • Le code natif est
    • exécutable seulement sur l'architecture pour laquelle il a été créé.
    • plus rapide que le bytecode.
  • Le bytecode est
    • exécutable sur toute machine disposant d'ocamlrun.
    • est plus lent à l'exécution que le code natif.

Machine virtuelle ocamlrun

ocamlrun permet d'exécuter le bytecode produit par ocamlc.

Débogueur ocamldebug

Le programme ocamldebug.

  • Permet de déboguer les programmes compilés avec ocamlc -g.

  • Commandes similaires à gdb:
    • points d’arrêt, pas à pas avant et arrière,
    • affichage de variables,
    • examen de la pile d’appels, etc.

  • Peut être exécuté sous emacs.

Navigateur de bibliothèques ocamlbrowser

  • De nombreuses bibliothèques sont disponibles sous Ocaml.

  • Bibliothèque = ensemble de types, variables, fonctions
    • déjà écrits,
    • accessibles au programmeur.

  • Le programme ocamlbrowser:
    • Permet de naviguer dans les bibliothèques installées.
    • Donne accès à
      • l'interface de chaque fonction.
      • son implémentation.

Intégration dans les éditeurs

  • Ocaml bénéficie d'une bonne intégration dans plusieurs éditeurs.
  • Par exemple tuareg et merlin sous emacs.
  • Un script d'installation est fourni.