Single HTML file   Multiple HTML files   Gzipped Postcript

On the (un)reality of virtual types

Didier Rémy and Jérôme Vouillon1

Mars, 2000, (in preparation)



Résumé: Nous montrons, principalement sur des exemples détaillés, que des schémas de programmation avec objets connus pour nécessiter la notion de types virtuels peuvent être écrits de façon directe et concise en utilisant le polymorphisme paramétrique. Une amélioration significative que nous apportons par rapport aux approches antérieures est de permettre à des classes liées de pouvoir être définies indépendemment. Cette solution est plus flexible, plus générale, et nous pensons, plus simple que les autres solutions correctement typées qui ont été proposées. Cette approche peut être utilisée dans plusieurs langages avec polymorphisme paramétrique qui peuvent déja typer les méthodes binaires et possèsent des types d'objets structurels.
Mots clés: Types Virtuels, Types Structurels, Types, Objets, Classes, Modularité, Ocaml

Abstract: We show, mostly through detailed examples, that object-oriented programming patterns known to involve the notion of virtual types can be implemented directly and concisely using parametric polymorphism. A significant improvement we make over previous approaches is to allow related classes to be defined independently. This solution is more flexible, more general, and we believe, simpler than other type-safe solutions previously proposed. This approach can be applied to several languages with parametric polymorphism that can already type binary methods and have structural object types.
Keywords: Virtual Types, Structural Types, Types, Objects, Classes, Modularity, Ocaml




This document was translated from LATEX by HEVEA and HACHA.