Title :
Match-O, a dialect of Eiffel with match-types
Author :
Colnet, Dominique ; Liquori, Luigi
Author_Institution :
Univ. Henri Poincare, France
Abstract :
It is well-known that the Eiffel language allows covariant redefinition. Regardless of system-level validity rules, Eiffel is not type-safe. In this paper, we present a dialect of Eiffel, called Match-O, which prohibits covariant redefinition. We introduce a new kind of types, the match types, inspired by the papers of K. Bruce (1993-1998). The scope of this project is many-fold: allowing binary methods; keeping sound “mytype method specialization”, i.e. an anchored type using Current; and allowing subtyping in all other sound cases. We claim that match types can be added in the Eiffel type system to eliminate type unsoundness without blocking many interesting Eiffel programs (e.g. the ones with “binary methods”). We have implemented a compiler for Match-O and we have experimented with our dialect on a large system using the original source code of smallEiffel itself
Keywords :
abstract data types; object-oriented languages; program compilers; Current; Eiffel dialect; Match-O; anchored type; binary methods; compiler; covariant redefinition; match types; method specialization; smallEiffel source code; subtyping; system-level validity rules; type safety; type unsoundness; Computer crashes; Runtime;
Conference_Titel :
Technology of Object-Oriented Languages and Systems, 2000. TOOLS-Pacific 2000. Proceedings. 37th International Conference on
Conference_Location :
Sydney, NSW
Print_ISBN :
0-7695-0918-5
DOI :
10.1109/TOOLS.2000.891369