Abstract

Object-oriented virtual machines (OOVMs), such as the Common Language Infrastructure (CLI) and Java Virtual Machine (JVM), are increasingly common. The CLI, with its support for objects and value types, provides a good platform for many, but not all, programming languages. Gyro, the generics for Rotor extension, improves the CLI as a platform for languages with polymorphic type systems, C++ style templates, Ada style generics, and so on. The introduction of Gyro also simplified extending languages to include generic features. However, there remain a number of programming language features that are hard to implement well on these OOVMs. These include general closures, continuations, block structure, non-strict evaluation, and dynamic inheritance. The author looks at just one of these and introduces just-in-time (JIT) objects as an OOVM version of non-strict evaluation. The method is evolutionary rather than revolutionary, but is a significant improvement over existing techniques. These have been implemented for an unreleased development version of Microsoft's CLI. Such JIT objects support the compilation of non-strict languages. The design also enables strict languages, such as C#, to also access and create JIT objects.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call