“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 160 — #170
i
i
i
i
i
i
i
i
160
3
• Techniques de programmation déclarative
des fichiers et les interfaces graphiques. Une troisième classe, la compilation des
applications, est expliquée dans la section 3.8.
Les opérations de cette section sont regroupées dans des modules. Un module est
un enregistrement qui contient des opérations apparentées. Par exemple, le module
List contient beaucoup d’opérations sur les listes, comme List.append et
List.member (qui peuvent être référencées comme Append et Member). Cette
section introduit les deux modules File (pour les fichiers texte) et QTk (pour
les interfaces graphiques). Certains modules de Mozart (modules de base appelés
« Base modules » [23] et modules système appelés « System modules » [22]) sont
immédiatement utilisables quand le système démarre, mais d’autres (comme File
et QTk) doivent être chargés. Nous montrons comment charger File et QTk. Plus
d’informations sur les modules sont données dans la section 3.8.
3.7.1 L’entrée/sortie de texte dans un fichier
Une manière simple d’interfacer un programme déclaratif avec le monde réel est
d’utiliser des fichiers. Un fichier est une séquence de valeurs qui est enregistrée à
l’extérieur du programme sur un substrat permanent comme un disque dur. Un fichier
de texte est un fichier qui contient une séquence de caractères. Dans cette section, nous
expliquons comment lire et écrire des fichiers de texte. Cela suffit pour l’utilisation
pratique des programmes déclaratifs. La manière d’utilisation est simple :
Fichier d’entrée
lire
−→ évaluation de fonction
écrire
−→ fichier de sortie
Nous utilisons le module File, qui peut être chargé sur le site Web du livre.
Charger le module File
La première chose à faire est de charger le module File dans le système, comme
l’explique l’annexe A.1.2. Nous supposons que vous avez une version compilée du
module File, dans le fichier File.ozf. Alors exécutez l’instruction suivante :
declare [File]={Module.link [´File.ozf´]}
Module.link est appelée avec une liste de noms ou chemins de modules compilés.
Dans cet exemple il n’y a qu’un module compilé. Le module est chargé avec le nom
File, ses liens sont édités dans le système et il est initialisé.
15 Maintenant nous
sommes prêts pour faire des opérations sur des fichiers.
15. Pour être précis, le module est chargé et ses liens sont édités de façon paresseuse : les liens seront
effectivement édités au moment de sa première utilisation.
Précédent

- 175/370

Suivant