Results 1 -
6 of
6
Tagless Staged Interpreters for Typed Languages
- In the International Conference on Functional Programming (ICFP ’02
, 2002
"... Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a co ..."
Abstract
-
Cited by 43 (11 self)
- Add to MetaCart
Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of deriving an implementation that is both readable and efficient. In an untyped setting, staging an interpreter "removes a complete layer of interpretive overhead", just like partial evaluation. In a typed setting however, Hindley-Milner type systems do not allow us to exploit typing information in the language being interpreted. In practice, this can have a slowdown cost factor of three or more times.
Tag Elimination and Jones-Optimality
"... Tag elimination is a program transformation for removing unnecessary tagging and untagging operations from automatically... ..."
Abstract
-
Cited by 20 (3 self)
- Add to MetaCart
Tag elimination is a program transformation for removing unnecessary tagging and untagging operations from automatically...
Mechanical Proof of the Optimality of a Partial Evaluator
, 1999
"... We present a proof of the optimality of lambda-mix, Gomard's partial evaluator for an untyped applied lambda calculus. We also report on a mechanically verified version of the proof, which was done using Isabelle/HOL, the typed higher order logic instance of the generic proof system Isabelle. ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
We present a proof of the optimality of lambda-mix, Gomard's partial evaluator for an untyped applied lambda calculus. We also report on a mechanically verified version of the proof, which was done using Isabelle/HOL, the typed higher order logic instance of the generic proof system Isabelle.
Interpretive overhead and optimal specialisation. or: Life without the pending list (workshop version)
- FIRST INTERNATIONAL WORKSHOP ON METACOMPUTATION IN RUSSIA (META 2008)
, 2008
"... A self-interpreter and a program specialiser with the following characteristics are developed for a simple imperative language: 1) The self-interpreter runs with program-independent interpretive overhead; 2) the specialiser achieves optimal specialisation, that is, it eliminates all interpretation o ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
A self-interpreter and a program specialiser with the following characteristics are developed for a simple imperative language: 1) The self-interpreter runs with program-independent interpretive overhead; 2) the specialiser achieves optimal specialisation, that is, it eliminates all interpretation overhead; 3) the specialiser has been run on a variety of small and large programs, including specialising the selfinterpreter to itself; 4) all specialiser parts except for loop unfolding have been proven to terminate. We achieve the above by using a structured language with separated control and data flow, containing loops but without while. The specialiser uses two-level binding-time annotations in a new way: source annotations are used to ensure correctness of specialised programs. A novelty: the specialiser has no need for a pending list, and does no call graph analysis of the residual program. A source-to-source normalisation phase does program transformations to avoid situations where the specialiser would need to specialise code based on an unknown state. A pruning phase efficiently achieves the effect of Romanenko’s arity raising.
Tag Elimination and Jones-Optimality (includes proofs)
"... . Tag elimination is a program transformation for removing ..."
by
, 2004
"... http://www.fceia.unr.edu.ar/~russo / For my grandfather Antonio, who was an skilled worker that always worked to improve my country. Contents Agradecimientos ..."
Abstract
- Add to MetaCart
http://www.fceia.unr.edu.ar/~russo / For my grandfather Antonio, who was an skilled worker that always worked to improve my country. Contents Agradecimientos

