Programmation, concepts Techniques et modèles by Peter Van Roy / Seif Haridi

Programmation, concepts Techniques et modèles by Peter Van Roy / Seif Haridi

Auteur:Peter Van Roy / Seif Haridi [Haridi, Peter Van Roy / Seif]
La langue: fra
Format: epub
Tags: Informatique
ISBN: 9782100528615
Google: l19x3IqjlSEC
Éditeur: Dunod
Publié: 2007-09-05T13:19:57+00:00


i

i

“doc” (Col. : Science Sup 17x24) — 2007/7/19 — 18:18 — page 170 — #180

i

i

170

3 • Techniques de programmation déclarative

statement : :=

functor variable

[ import{ variable [ at atom ]

| variable ´(´ { ( atom | int ) [ ’:’ variable ] }+ ´)´

}+ ]

[ export { [ ( atom | int ) ’:’ ] variable }+ ]

define { declPart }+ [ in statement ] end

| . . .

Tableau 3.6 La syntaxe des foncteurs.

foncteur dans un environnement de modules. L’environnement de modules contient un ensemble de modules, dont chacun peut avoir un état d’exécution.

Une application est autonome si elle peut être exécutée en dehors de l’interface interactive. Elle contient un foncteur principal qui est évalué quand le programme démarre. Le foncteur principal importe les modules dont il a besoin, ce qui cause l’édition des liens d’autres foncteurs. Le foncteur principal est utile pour démarrer l’application et non pour le module renvoyé, qui est ignoré. L’évaluation ou l’édition des liens d’un foncteur crée un module en trois étapes.

D’abord, une variable est créée avec une synchronisation par besoin.17 Ensuite, quand on a besoin de la valeur de la variable (ce qui arrive quand le programme essaie de faire une opération sur le module), le foncteur sera chargé en mémoire et appelé dans un nouveau fil avec les modules qu’il importe comme arguments. Cela s’appelle l’édition dynamique des liens, par opposition à l’édition statique des liens dans laquelle les liens du foncteur sont édités avant l’exécution de l’application.

Enfin, l’appel du foncteur renvoie le nouveau module et le lie à la variable. À tout moment, l’ensemble de modules dont les liens sont édités s’appelle l’environnement de module.

L’implémentation des modules et des foncteurs

Nous allons construire un composant logiciel. Nous prenons un exemple de module et nous voyons comment obtenir un composant logiciel à partir de l’exemple. Ensuite nous le convertissons en abstraction linguistique.

➤ Un exemple de module

L’interface d’un module est un enregistrement. On peut y accéder par les champs de l’enregistrement. Nous construisons un module MyList qui fournit une interface 17. La synchronisation par besoin est l’opération fondamentale de l’exécution paresseuse (voir section 4.1).

i

i

i

i



Télécharger



Déni de responsabilité:
Ce site ne stocke aucun fichier sur son serveur. Nous ne faisons qu'indexer et lier au contenu fourni par d'autres sites. Veuillez contacter les fournisseurs de contenu pour supprimer le contenu des droits d'auteur, le cas échéant, et nous envoyer un courrier électronique. Nous supprimerons immédiatement les liens ou contenus pertinents.