Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Organizing programs without classes
Lisp and Symbolic Computation
Abstract machines for programming language implementation
Future Generation Computer Systems
On the criteria to be used in decomposing systems into modules
Communications of the ACM
The problem of programming communication with changing machines: a proposed solution
Communications of the ACM
Pascal: The Language and Its Implementation
Pascal: The Language and Its Implementation
Java Virtual Machine Specification
Java Virtual Machine Specification
Multiple dispatch in reflective runtime environment
Computer Languages, Systems and Structures
Hi-index | 0.00 |
Abstract machines have been widely employed in computing systems in order to obtain different aims. Compiler simplification, platform neutrality, code distribution, interoperability, and direct support for specific paradigms are examples of the benefits they offer. Although performance has been its main drawback, the use of modern techniques like adaptive (hotspot) just in time compilation has overcome this weakness. Nowadays, well-known platforms based on abstract machines such as Java™ or Microsoft .NET are commercially used.With the purpose of supporting any programming-language computational-model in heterogeneous environments, we have noticed that most abstract machines have extensibility, adaptability and heterogeneously lacks. We have designed an abstract machine that, using reflection as the main design principle, overcomes the limitations discovered. In this paper, we describe its objectives, its design, a sample implementation, and a comparison with other similar platforms.