LIP6 2000/014
-
Rapports de recherche «Types Polymorphes, Objets, Modules, Foncteurs: Est-ce de trop.?»
- S. Boulmé, Th. Hardin, R. Rioboo
- 18 pages - 31/05/2000 - document en - http://www.lip6.fr/lip6/reports/2000/lip6.2000.014.ps.gz 132 Ko
- Contact Sylvain.Boulme (at) nulllip6.fr, Therese.Hardin (at) nulllip6.fr, Renaud.Rioboo (at) nulllip6.fr
- Ancien Thème : CALFOR
L'abstraction est un mécanisme très puissant, offert par de nombreux traits de programmation, comme le polymorphisme, les classes, les modules et les foncteurs, . . Les développeurs de programme peuvent donc être embarrassés devant tant d'abondance. Nous avons développés une bibliothèque de Calcul Formel que nous avons l'intention de certifier. A partir de cette expérience avec un langage (Ocaml) offrant tous ces traits de programmation, nous pensons que tous ces traits sont nécessaires, ensemble. Nous comparons plusieurs manières d'utiliser les classes pour représenter des concepts d'algèbre, en essayant d'être le plus près possible de la spécification mathématique. Ensuite, nous montrons comment combiner les classes et les modules pour produire du code ayant des propriétés de typage fortes. Actuellement, la bibliothèque contient plus d'une centaine d'unités, avec des programmes fonctionnels dont l'efficacité n'a rien à envier à leurs équivalents dans des systèmes comme Axiom.
- Mots clés : classes, modules, foncteurs, objets, typage, polymorphisme, programmation
fonctionnelle, Calcul Formel, spécification, bibliothèque
- Directeur de la publication : David.Massot (at) nulllip6.fr