Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the purely functional setting, it has been shown how MSP can be used to reduce the overhead of abstractions, allowing clean, maintainable code without paying performance penalties. Unfortunately, MSP is difficult to combine with imperative features, which are prevalent in mainstream languages. The central difficulty is scope extrusion, wherein free variables can inadvertently be moved outside the scopes of their binders. This paper proposes a new approach to combining MSP with imperative features that occupies a “sweet spot” in the design space in terms of how well useful MSP applications can be expressed and how easy it is for programmers to under...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
This paper assesses the value of including extensibility as a feature of a programming language desi...
Multi-stage programming is a programming paradigm that supports runtime code generation and executio...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneo...
AbstractWe introduce MetaML, a practically motivated, statically typed multi-stage programming langu...
Multi-stage programming is a valuable technique for improving the performance of computer programs t...
. Safely adding computational eects to a multi-stage language has been an open problem. In previous ...
Execution environments such as CLR and JVM provide many features needed by multistage programming la...
Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneou...
Extensible programming languages allow users to create fundamentally new syntax and translate this s...
Abstract. Previous work on semantics-based multi-stage programming (MSP) language design focused on ...
AbstractMetaphor is a multi-stage programming language extension to an imperative, object-oriented l...
Applications that manipulate programs as data are called meta programs. Examples of meta programs ar...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
This paper assesses the value of including extensibility as a feature of a programming language desi...
Multi-stage programming is a programming paradigm that supports runtime code generation and executio...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
Multi-stage programming (MSP) provides a disciplined approach to run-time code generation. In the pu...
Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneo...
AbstractWe introduce MetaML, a practically motivated, statically typed multi-stage programming langu...
Multi-stage programming is a valuable technique for improving the performance of computer programs t...
. Safely adding computational eects to a multi-stage language has been an open problem. In previous ...
Execution environments such as CLR and JVM provide many features needed by multistage programming la...
Previous work on semantics-based multi-stage programming (MSP) language design focused on homogeneou...
Extensible programming languages allow users to create fundamentally new syntax and translate this s...
Abstract. Previous work on semantics-based multi-stage programming (MSP) language design focused on ...
AbstractMetaphor is a multi-stage programming language extension to an imperative, object-oriented l...
Applications that manipulate programs as data are called meta programs. Examples of meta programs ar...
This paper presents a new static type system for multithreaded programs; any well-typed program in o...
This paper assesses the value of including extensibility as a feature of a programming language desi...
Multi-stage programming is a programming paradigm that supports runtime code generation and executio...