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.