An experiment in partial evaluation: the generation of a compiler generator
Proc. of the first international conference on Rewriting techniques and applications
Notions of computation and monads
Information and Computation
Two-level functional languages
Two-level functional languages
M-LISP: a representation-independent dialect of LISP with reduction semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
The formal semantics of programming languages: an introduction
The formal semantics of programming languages: an introduction
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
On abstraction and the expressive power of programming languages
TACS'91 Selected papers of the conference on Theoretical aspects of computer software
A staging calculus and its application to the verification of translators (preliminary report)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Parallel reductions in &lgr;-calculus
Information and Computation
A modal analysis of staged computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Foundations of programming languages
Foundations of programming languages
Multi-stage programming with explicit annotations
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
An Automatic Program Generator for Multi-Level Specialization
Lisp and Symbolic Computation
Dynamic typing as staged type inference
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Theory of Fexprs is Trivial
Lisp and Symbolic Computation
Higher order operational techniques in semantics
Higher order operational techniques in semantics
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
Sound Specialization in the Presence of Computational Effects
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
Multi-Stage Programming: Axiomatization and Type Safety
ICALP '98 Proceedings of the 25th International Colloquium on Automata, Languages and Programming
Efficient Multi-level Generating Extensions for Program Specialization
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Fast Binding-Time Analysis for Multi-Level Specialization
Proceedings of the Second International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Reasoning about Hierarchies of Online Program Specialization Systems
Selected Papers from the Internaltional Seminar on Partial Evaluation
A temporal-logic approach to binding-time analysis
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
A Categorical Analysis of Multi-Level Languages (Extended Abstract)
A Categorical Analysis of Multi-Level Languages (Extended Abstract)
An Idealized MetaML: Simpler, and More Expressive
An Idealized MetaML: Simpler, and More Expressive
Multistage programming: its theory and applications
Multistage programming: its theory and applications
A computational formalization for partial evaluation
Mathematical Structures in Computer Science
Macros as multi-stage computations: type-safe, generative, binding macros in MacroML
Proceedings of the sixth ACM SIGPLAN international conference on Functional programming
Meta-programming with names and necessity
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Tagless staged interpreters for typed languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Managing Dynamic Changes in Multi-stage Program Generation Systems
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Tag Elimination and Jones-Optimality
PADO '01 Proceedings of the Second Symposium on Programs as Data Objects
Closed Types as a Simple Approach to Safe Imperative Multi-stage Programming
ICALP '00 Proceedings of the 27th International Colloquium on Automata, Languages and Programming
Implementing multi-stage languages using ASTs, Gensym, and reflection
Proceedings of the 2nd international conference on Generative programming and component engineering
Proceedings of the 2nd international conference on Generative programming and component engineering
Closed types for a safe imperative MetaML
Journal of Functional Programming
Compiling for template-based run-time code generation
Journal of Functional Programming
A methodology for generating verified combinatorial circuits
Proceedings of the 4th ACM international conference on Embedded software
Implementing DSLs in metaOCaml
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
ACM SIGPLAN Notices
Staged computation with names and necessity
Journal of Functional Programming
Termination analysis and specialization-point insertion in offline partial evaluation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A monadic approach for avoiding code duplication when staging memoized functions
Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
In search of a program generator to implement generic transformations for high-performance computing
Science of Computer Programming - Special issue on the first MetaOCaml workshop 2004
A multi-stage language with intensional analysis
Proceedings of the 5th international conference on Generative programming and component engineering
Reflective program generation with patterns
Proceedings of the 5th international conference on Generative programming and component engineering
Closing the stage: from staged code to typed closures
PEPM '08 Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Implicitly heterogeneous multi-stage programming
New Generation Computing
Shifting the stage: staging with delimited control
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Finally tagless, partially evaluated: Tagless staged interpreters for simpler typed languages
Journal of Functional Programming
Mnemonics: type-safe bytecode generation at run time
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Diagrams for meaning preservation
RTA'03 Proceedings of the 14th international conference on Rewriting techniques and applications
Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs
GPCE '10 Proceedings of the ninth international conference on Generative programming and component engineering
Multi-stage programming with functors and monads: Eliminating abstraction overhead from generic code
Science of Computer Programming
Mnemonics: type-safe bytecode generation at run time
Higher-Order and Symbolic Computation
Shifting the stage: Staging with delimited control
Journal of Functional Programming
Multi-stage programming with functors and monads: eliminating abstraction overhead from generic code
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Implicitly heterogeneous multi-stage programming
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Staged computation with staged lexical scope
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Synchronous digital circuits as functional programs
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
A multi-stage computation is one involving more than one stage of execution. MetaML is a language for programming multi-stage computations. Previous studies presented big-step semantics, categorical semantics, and sound type systems for MetaML. In this paper, we report on a confluent and sound reduction semantics for untyped call-by name (CBN) MetaML. The reduction semantics can be used to formally justify some optimization performed by a CBN MetaML implementation. The reduction semantics demonstrates that non-trivial equalities hold for object-code, even in the untyped setting. The paper also emphasizes that adding intensional analysis (that is, taking-apart object programs) to MetaML remains an interesting open problem.