We present a runtime metalevel interface for BETA. BETA is a compiled and statically typed object-oriented programming language. The metalevel interface preserves the type safe properties of the language and supports static type checking. This is achieved through a novel language construct, the attribute reference, on top of which the metalevel interfacer is built. The metalevel interface is based on a simple conceptual model that reifies a few basic language primitives. For the implementation, a metalevel architecture based on a virtual machine view of the runtime system is introduced. In this model, an open implementation of compiled language is achieved by providening the runtime virtual machine with a metalevel interface supporting run...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
While Java is a statically-typed language, some of its features make it behave like a dynamically-ty...
Dynamically-typed object-oriented programming languages do not provide type information until runtim...
We present a runtime metalevel interface for BETA. BETA is a compiled and statically typed object-or...
Object-oriented programming languages are excellent for expressing abstractions in many application ...
Virtual classes [MMP89] are a very useful language construct introduced in the language Beta which p...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
AbstractThe virtual class [15] construct was first introduced in the language Beta to provide added ...
AbstractIncreasing trends towards adaptive, distributed, generative and pervasive software have made...
Object-oriented programming languages are excellent for expressing abstractions in many application ...
Object-oriented programming techniques allow the construction of reusable and extensible code. Howev...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
The concept of static exception handling has previously been investigated in a general setting. In ...
The ability to perform type tests at runtime blurs the line between statically-typed and dynamically...
The BETA programming language is a modern language in the SIMULA 67 tradition. It supports the obje...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
While Java is a statically-typed language, some of its features make it behave like a dynamically-ty...
Dynamically-typed object-oriented programming languages do not provide type information until runtim...
We present a runtime metalevel interface for BETA. BETA is a compiled and statically typed object-or...
Object-oriented programming languages are excellent for expressing abstractions in many application ...
Virtual classes [MMP89] are a very useful language construct introduced in the language Beta which p...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
AbstractThe virtual class [15] construct was first introduced in the language Beta to provide added ...
AbstractIncreasing trends towards adaptive, distributed, generative and pervasive software have made...
Object-oriented programming languages are excellent for expressing abstractions in many application ...
Object-oriented programming techniques allow the construction of reusable and extensible code. Howev...
Reflection and extensibility in object-oriented programming languages can be supported by meta-objec...
The concept of static exception handling has previously been investigated in a general setting. In ...
The ability to perform type tests at runtime blurs the line between statically-typed and dynamically...
The BETA programming language is a modern language in the SIMULA 67 tradition. It supports the obje...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
While Java is a statically-typed language, some of its features make it behave like a dynamically-ty...
Dynamically-typed object-oriented programming languages do not provide type information until runtim...