{"title":"Match-O, a dialect of Eiffel with match-types","authors":"Dominique Colnet, L. Liquori","doi":"10.1109/TOOLS.2000.891369","DOIUrl":null,"url":null,"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.","PeriodicalId":198043,"journal":{"name":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","volume":"30 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings 37th International Conference on Technology of Object-Oriented Languages and Systems. TOOLS-Pacific 2000","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/TOOLS.2000.891369","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
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.