Modules, Objets et Calcul Formel

S. Boulmé, Th. Hardin, R. Rioboo

LIP6 1999/012: Rapport de Recherche LIP6 / LIP6 research reports
14 pages - Mai/May 1999 - French document.

PostScript : 50 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Sémantique, Preuve et Implantation

Titre français : Modules, Objets et Calcul Formel
Titre anglais : Modules, Objects and Computer Algebra


Résumé : Le langage Ocaml propose des classes et des modules très élaborés. Ces deux paradigmes apportent tous deux des facilités de décomposition, d'abstraction, etc., relativement proches. Cette richesse peut laisser le programmeur perplexe, lorsqu'il s'agit de choisir la manière d'implanter une spécification un peu complexe. Nous avons entrepris le développement (en Ocaml) d'un environnement de programmation certifiée pour le calcul formel. Nous présentons dans cet article les étapes d'élaboration de notre propre méthodologie, qui marie objets et modules dans un style peu conventionnel. Nous expliquons en quoi la solution retenue nous permet de rendre compte au mieux de tous les aspects de notre spécification. Nous espérons ainsi apporter quelques éléments au débat modules/objets et montrer l'intérêt de certaines extensions des langages à base de modules ou de classes.

Abstract : Ocaml language offers powerful classes and modules. These two paradigms provide some quite similar features (abstraction, modularity, ...). Faced to a complex specification, the working programmer may wonder which one is the best choice for his/her purpose. We attempt to create (in Ocaml) an environment for "certified programming" of computer algebra. This paper presents our methodology for building computer algebra libraries, which mixes objects and modules in an original way. It explains why our final implementation satisfy our software requirements. We hope this paper brings some new elements to the modules/objects discussion and shows some interesting extensions to study for languages based on classes or modules.


Mots-clés : programmation objet, typage sûr, modularité

Key-words : object programming, safe typing, modularity


Publications internes LIP6 1999 / LIP6 research reports 1999

Responsable Éditorial / Editor :David.Massot@lip6.fr