A Virtual Class Calculus
DAIMI Report Series
View Publication InfoField | Value | |
Title |
A Virtual Class Calculus
|
|
Creator |
Ernst, Erik
Ostermann, Klaus Cook, William |
|
Description |
Virtual classes are class-valued attributes of objects.Like virtual methods, virtual classes are defined inan object’s class and may be redefined within subclasses.They resemble inner classes, which are alsodefined within a class, but virtual classes are accessedthrough object instances, not as static componentsof a class. When used as types, virtual classes dependupon object identity – each object instance introducesa new family of virtual class types. Virtual classes support large-scale program composition techniques,including higher-order hierarchies and familypolymorphism. The original definition of virtualclasses in Beta left open the question of static typesafety, since some type errors were not caught untilruntime. Later the languages Caesar and gbeta haveused a more strict static analysis in order to ensurestatic type safety. However, the existence of a sound,statically typed model for virtual classes has been along-standing open question. This technical reportpresents a virtual class calculus, vc, that capturesthe essence of virtual classes in these full-fledged programming languages. The key contributions of thepaper are a formalization of the dynamic and staticsemantics of vc and a proof of the soundness of vc.Categories: D.3.3 [Language Constructs and Features]:Classes and objects, inheritance, polymorphism.F.3.3 [Studies of Program Constructs]:Object-oriented constructs, type structure. F.3.2[Semantics of Programming Languages]: Operationalsemantics.
|
|
Publisher |
Aarhus University
|
|
Contributor |
—
|
|
Date |
2005-01-01
|
|
Type |
info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion Peer-reviewed Article |
|
Format |
application/pdf
|
|
Identifier |
http://ojs.statsbiblioteket.dk/index.php/daimipb/article/view/7225
10.7146/dpb.v34i577.7225 |
|
Source |
DAIMI Report Series; No 577 (2005): PB-577 A Virtual Class Calculus
DAIMI Report Series; No 577 (2005): PB-577 A Virtual Class Calculus 2245-9316 0105-8517 |
|
Language |
eng
|
|
Relation |
http://ojs.statsbiblioteket.dk/index.php/daimipb/article/view/7225/6165
|
|