Treffer: Implementing non-strict evaluation on OOVMs.

Title:
Implementing non-strict evaluation on OOVMs.
Authors:
Perry, N. perryresearch@zoot.net.nz
Source:
IEE Proceedings -- Software. Dec2005, Vol. 152 Issue 6, p309-315. 7p.
Database:
Business Source Premier

Weitere Informationen

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. [ABSTRACT FROM AUTHOR]

Copyright of IEE Proceedings -- Software is the property of Institution of Engineering & Technology and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)