Introduction
Tout langage vient avec un ensemble de programmes réutilisables par le
programmeur, appelés bibliothèques. La qualité et la diversité
de celles-ci est souvent un des critères de facilité d'utilisation
d'un langage. On peut distinguer deux catégories de
bibliothèques : celles qui fournissent des types et fonctions d'usage
courant définissables dans le langage et celles qui offrent des
fonctionnalités non définissables dans le langage. Les premières
évitent simplement au programmeur à avoir à redéfinir les
utilitaires tels que les piles, les files d'attente, etc. Les secondes
étendent les possibilités d'utilisation du langage en y
incorporant de nouvelles fonctionnalités.
La distribution du langage Objective CAML vient avec de nombreuses
bibliothèques. Elles sont fournies sous forme de
fichiers compilés. Néanmoins, pour le lecteur curieux, les sources de ces
bibliothèques viennent avec les distributions des sources du langage.
En Objective CAML, l'ensemble des bibliothèques est organisé en
modules qui sont autant d'unités de compilation. Chacun d'entre eux
contient des déclarations globales de types, d'exceptions et de
valeurs qui peuvent être utilisées dans les programmes. On ne
s'intéressera pas dans ce chapitre à la manière de construire de
nouveaux modules, mais seulement à l'utilisation des modules
existants. Le chapitre 14 reprendra les concepts de module
(unité logique) et d'unité de compilation en décrivant le langage de
modules d'Objective CAML, incluant les modules paramétrés. Pour ce qui est
de la constitution de bibliothèques incorporant du code autre
qu'Objective CAML, le chapitre 12 décrira comment intégrer
aux programmes Objective CAML des traitements écrits en C.
La distribution du langage Objective CAML comporte une bibliothèque préchargée
(module Pervasives), un ensemble de modules de base, appelé
bibliothèque standard, et plusieurs autres bibliothèques ajoutant
des fonctionnalités au langage. Certaines bibliothèques sont
simplement évoquées dans ce chapitre ou décrites
dans les chapitres suivants.