Results 1 -
3 of
3
Lazy Continuations for Java Virtual Machines
"... Continuations, or ’the rest of the computation’, are a concept that is most often used in the context of functional and dynamic programming languages. Implementations of such languages that work on top of the Java virtual machine (JVM) have traditionally been complicated by the lack of continuations ..."
Abstract
- Add to MetaCart
Continuations, or ’the rest of the computation’, are a concept that is most often used in the context of functional and dynamic programming languages. Implementations of such languages that work on top of the Java virtual machine (JVM) have traditionally been complicated by the lack of continuations because they must be simulated. We propose an implementation of continuations in the Java virtual machine with a lazy or on-demand approach. Our system imposes zero run-time overhead as long as no activations need to be saved and restored and performs well when continuations are used. Although our implementation can be used from Java code directly, it is mainly intended to facilitate the creation of frameworks that allow other functional or dynamic languages to be executed on a Java virtual machine. As there are no widely used benchmarks for continuation functionality on JVMs, we developed synthetical benchmarks that show the expected costs of the most important operations depending on various parameters.
Context-Oriented Meta-Programming
, 2006
"... In current information systems, context information has an increasing influence on the functionality of an application and on how the application should be executed. The systems must be able to adapt their behavior to the context in which they are running. This adds a new dimension to the complexity ..."
Abstract
- Add to MetaCart
In current information systems, context information has an increasing influence on the functionality of an application and on how the application should be executed. The systems must be able to adapt their behavior to the context in which they are running. This adds a new dimension to the complexity of these systems but current programming languages do not offer the necessary means to modularize the context-dependent behavior. Recent research has lead to Context-Oriented Programming, a new programming paradigm that addresses this problem by defining a new unit of modularization that allows to group those parts of a program that are affected when the behavior of the program should be adapted to a different context. However, context-oriented programming only focuses on the application logic itself and does not yet provide means to adapt the way how the application is executed. How a program is executed is defined in the semantics of the used programming language, also called the meta-level. In this dissertation we present how context-oriented pro-gramming at the meta-level can be used to express language semantics that depend on

