Author: Christian.Queinnec@lip6.fr

## Pour en savoir plus

Le modèle modulaire souffre d'une faible réutilisation de code et de difficultés pour la programmation incrémentielle. L'article <<Programmation modulaire avec surcharge et liaison retardée>> ([AC96]) montre une extension simple du langage de modules, autorisant l'extension d'un module ainsi que la surcharge. Le choix du code d'un foncteur surchargé reprend les techniques de fonctions génériques de CLOS. La correction du système de types de ces modules étendus n'est pas établie.
La problématique du mélange des modèles est bien argumentée dans l'article <<Modular Object-Oriented Programming with Units and Mixing>> ([FF98]), dans le sens de la facilité de réutilisation du code. Le problème de l'extensibilité des composants est largement décrit. Cet article est en version HTML à l'adresse suivante :

### Lien

http://www.cs.rice.edu/CS/PLT/Publications/icfp98-ff/paper.shtml

On s'aperçoit dans ces propositions qu'il reste une part de typage dynamique pour la contrainte de type et/ou la résolution de conflits de types. Il n'est probablement pas déraisonnable d'ouvrir le typage statique pour obtenir des langages <<le plus souvent>> typés statiquement dans le but d'augmenter la réutilisabilité du code en autorisant un développement incrémentiel de celui-ci.