{"title":"The Theory of Classification, Part 7: A Class is a Type Family","authors":"A. Simons","doi":"10.5381/jot.2003.2.3.c2","DOIUrl":null,"url":null,"abstract":"We shall discover circumstances in which a type system based on subtyping breaks down, providing less than useful information. Object-oriented languages like Smalltalk and Eiffel exhibit sophisticated, systematic kinds of behaviour which cannot adequately be described in terms of types and subtyping. By appealing to natural notions of classification in biology, we shall demonstrate the extent to which the subtyping model fails to capture the intuitive notion of a class. In this article, we shall define the notion of class formally, and prove that it is more than just a type. To understand this, we will need to extend our formal model to include type polymorphism. This requires the second-order λ-calculus and notions of universal [4, 5] and function-bounded quantification [6, 7].","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Object Technol.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5381/jot.2003.2.3.c2","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14
Abstract
We shall discover circumstances in which a type system based on subtyping breaks down, providing less than useful information. Object-oriented languages like Smalltalk and Eiffel exhibit sophisticated, systematic kinds of behaviour which cannot adequately be described in terms of types and subtyping. By appealing to natural notions of classification in biology, we shall demonstrate the extent to which the subtyping model fails to capture the intuitive notion of a class. In this article, we shall define the notion of class formally, and prove that it is more than just a type. To understand this, we will need to extend our formal model to include type polymorphism. This requires the second-order λ-calculus and notions of universal [4, 5] and function-bounded quantification [6, 7].