Ernst, E. ; Ostermann, K. ; Cook, W. R. (2006)
A Virtual class calculus.
33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '06). Charleston, South Carolina, USA (11.01.2006-13.01.2006)
doi: 10.1145/1111037.1111062
Konferenzveröffentlichung, Bibliographie
Kurzbeschreibung (Abstract)
Virtual classes are class-valued attributes of objects. Like virtual methods, virtual classes are defined in an object's class and may be redefined within subclasses. They resemble inner classes, which are also defined within a class, but virtual classes are accessed through object instances, not as static components of a class. When used as types, virtual classes depend upon object identity -- each object instance introduces a new family of virtual class types. Virtual classes support large-scale program composition techniques, including higher-order hierarchies and family polymorphism. The original definition of virtual classes in BETA left open the question of static type safety, since some type errors were not caught until runtime. Later the languages Caesar and gbeta have used a more strict static analysis in order to ensure static type safety. However, the existence of a sound, statically typed model for virtual classes has been a long-standing open question. This paper presents a virtual class calculus, VC, that captures the essence of virtual classes in these full-fledged programming languages. The key contributions of the paper are a formalization of the dynamic and static semantics of VC and a proof of the soundness of VC.
Typ des Eintrags: | Konferenzveröffentlichung |
---|---|
Erschienen: | 2006 |
Autor(en): | Ernst, E. ; Ostermann, K. ; Cook, W. R. |
Art des Eintrags: | Bibliographie |
Titel: | A Virtual class calculus |
Sprache: | Deutsch |
Publikationsjahr: | 2006 |
Ort: | New York, NY, USA |
Verlag: | ACM |
Buchtitel: | POPL '06: Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages |
Veranstaltungstitel: | 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '06) |
Veranstaltungsort: | Charleston, South Carolina, USA |
Veranstaltungsdatum: | 11.01.2006-13.01.2006 |
DOI: | 10.1145/1111037.1111062 |
Kurzbeschreibung (Abstract): | Virtual classes are class-valued attributes of objects. Like virtual methods, virtual classes are defined in an object's class and may be redefined within subclasses. They resemble inner classes, which are also defined within a class, but virtual classes are accessed through object instances, not as static components of a class. When used as types, virtual classes depend upon object identity -- each object instance introduces a new family of virtual class types. Virtual classes support large-scale program composition techniques, including higher-order hierarchies and family polymorphism. The original definition of virtual classes in BETA left open the question of static type safety, since some type errors were not caught until runtime. Later the languages Caesar and gbeta have used a more strict static analysis in order to ensure static type safety. However, the existence of a sound, statically typed model for virtual classes has been a long-standing open question. This paper presents a virtual class calculus, VC, that captures the essence of virtual classes in these full-fledged programming languages. The key contributions of the paper are a formalization of the dynamic and static semantics of VC and a proof of the soundness of VC. |
Fachbereich(e)/-gebiet(e): | 20 Fachbereich Informatik |
Hinterlegungsdatum: | 20 Nov 2008 08:25 |
Letzte Änderung: | 28 Nov 2024 09:10 |
PPN: | |
Export: | |
Suche nach Titel in: | TUfind oder in Google |
Frage zum Eintrag |
Optionen (nur für Redakteure)
Redaktionelle Details anzeigen |