DocumentCode :
796046
Title :
Implementing non-strict evaluation on OOVMs
Author :
Perry, N.
Volume :
152
Issue :
6
fYear :
2005
Firstpage :
309
Lastpage :
315
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.
Keywords :
Java; object-oriented programming; program compilers; software performance evaluation; virtual machines; Ada style generics; C++ style template; CLI; Gyro; JIT object; JVM; Java virtual machine; OOVM; common language infrastructure; dynamic inheritance; just-in-time object; object-oriented virtual machine; polymorphic type systems; programming language; rotor extension;
fLanguage :
English
Journal_Title :
Software, IEE Proceedings -
Publisher :
iet
ISSN :
1462-5970
Type :
jour
DOI :
10.1049/ip-sen:20045070
Filename :
1577583
Link To Document :
بازگشت