“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 315 — #325
i
i
i
i
i
i
i
i
A.2 L’interface de commande
315
A.1.2 L’utilisation interactive des foncteurs
Les foncteurs sont des spécifications de modules utilisés pour la construction des
programmes. Instancier un foncteur crée un module. Un module est une entité qui
regroupe d’autres entités. Les modules peuvent contenir des enregistrements, des
procédures, des objets, des classes, des fils en exécution et toute autre entité qui existe
à l’exécution.
Les foncteurs sont des unités de compilation : leur code source, mis dans un fichier,
peut être compilé en une fois. Les foncteurs peuvent aussi être utilisés dans l’interface
interactive, selon le principe dans Mozart que tout peut être fait interactivement.
– Un foncteur compilé peut être chargé et ses liens édités interactivement. Par
exemple, supposez que le module Set, qui est sur le site Web du livre, est
compilé dans le fichier Set.ozf. Il sera chargé et ses liens édités interactivement
avec le code suivant :
declare
[Set]={Module.link ["Set.ozf"]}
Cela crée et édite les liens du module Set. La fonction Module.link prend
une liste de noms de fichier ou d’URL et renvoie une liste de modules.
– Un foncteur est une valeur, comme une classe. Il peut être défini interactivement
avec une syntaxe analogue à la syntaxe des classes :
F=functor $ define skip end
Cela définit un foncteur et le lie à F. Nous pouvons créer un module à partir de F
comme ceci :
declare
[M]={Module.apply [F]}
Cela crée et édite les liens du module M. La fonction Module.apply prend
une liste de valeurs de foncteur et renvoie une liste de modules.
Pour plus d’opérations sur les foncteurs, consultez la documentation du module
Module [22].
A.2 L’INTERFACE DE COMMANDE
Le système Mozart peut être utilisé à partir d’une ligne de commande. Les fichiers
Oz peuvent être compilés et leurs liens édités. Chaque fichier source à compiler doit
contenir un foncteur. Par exemple, supposez que nous ayons le fichier source Set.oz.
Nous créons le foncteur compilé Set.ozf avec la commande suivante sur la ligne de
commande :
ozc -c Set.oz
© Dunod – La photocopie non autorisée est un délit
Précédent

- 330/370

Suivant