More dynamic object reclassification: Fickle(II)
Reclassification changes the class membership of an object at run-time while retaining its identity. We suggest language features for object reclassification, which extend an imperative, typed, class-based, object-oriented language. We present our proposal through the language Fickle(II). The imperative features, combined with the requirement for a static and safe type system, provided the main challenges. We develop a type and effect system for Fickle(II) and prove its soundness with respect to the operational semantics. In particular, even though objects may be reclassified across classes with different members, there will never be an attempt to access nonexisting members.
languages object-oriented languages type and effect systems theory