{"title":"分类理论,第十八部分:镜中的多态性","authors":"A. Simons","doi":"10.5381/JOT.2005.4.4.C1","DOIUrl":null,"url":null,"abstract":"In this, the eighteenth article in a regular series on object-oriented type theory, we look at how object-oriented languages might evolve in the future, given that the formal notion of class is now better understood than at the outset. Object-oriented languages were the first family to suppose that there might be systematic sets of relationships between all the program data types and use this as the basis for a kind of type compatibility. However, the early formal models chosen were based on simple types and subtyping [1] and struggled in practice to support all the obvious, systematic relationships that programmers intuitively recognised [2]. For a while, objects were thought to have class and type independently, where class was demoted to a mere implementation construct. Later, it was realised that the notion of class is also a typeful construct that requires at least a bounded second-order λ-calculus model to explain it [3]. We have developed this model in the Theory of Classification, showing how it deals properly with typed inheritance [4, 5] and generic types [6] in a consistent framework.","PeriodicalId":383341,"journal":{"name":"J. Object Technol.","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2005-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":"{\"title\":\"The Theory of Classification, Part 18: Polymorphism through the Looking Glass\",\"authors\":\"A. Simons\",\"doi\":\"10.5381/JOT.2005.4.4.C1\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"In this, the eighteenth article in a regular series on object-oriented type theory, we look at how object-oriented languages might evolve in the future, given that the formal notion of class is now better understood than at the outset. Object-oriented languages were the first family to suppose that there might be systematic sets of relationships between all the program data types and use this as the basis for a kind of type compatibility. However, the early formal models chosen were based on simple types and subtyping [1] and struggled in practice to support all the obvious, systematic relationships that programmers intuitively recognised [2]. For a while, objects were thought to have class and type independently, where class was demoted to a mere implementation construct. Later, it was realised that the notion of class is also a typeful construct that requires at least a bounded second-order λ-calculus model to explain it [3]. We have developed this model in the Theory of Classification, showing how it deals properly with typed inheritance [4, 5] and generic types [6] in a consistent framework.\",\"PeriodicalId\":383341,\"journal\":{\"name\":\"J. Object Technol.\",\"volume\":\"18 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2005-05-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"3\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"J. Object Technol.\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.5381/JOT.2005.4.4.C1\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"J. Object Technol.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.5381/JOT.2005.4.4.C1","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
The Theory of Classification, Part 18: Polymorphism through the Looking Glass
In this, the eighteenth article in a regular series on object-oriented type theory, we look at how object-oriented languages might evolve in the future, given that the formal notion of class is now better understood than at the outset. Object-oriented languages were the first family to suppose that there might be systematic sets of relationships between all the program data types and use this as the basis for a kind of type compatibility. However, the early formal models chosen were based on simple types and subtyping [1] and struggled in practice to support all the obvious, systematic relationships that programmers intuitively recognised [2]. For a while, objects were thought to have class and type independently, where class was demoted to a mere implementation construct. Later, it was realised that the notion of class is also a typeful construct that requires at least a bounded second-order λ-calculus model to explain it [3]. We have developed this model in the Theory of Classification, showing how it deals properly with typed inheritance [4, 5] and generic types [6] in a consistent framework.