Modules, Objects and Computer Algebra
Modules, Objets et Calcul Formel
Résumé
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.
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.
Domaines
Informatique [cs]
Origine : Fichiers produits par l'(les) auteur(s)
Loading...