Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Handbook of logic in computer science (vol. 2)
Run-time code generation and modal-ML
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
C and tcc: a language and compiler for dynamic code generation
ACM Transactions on Programming Languages and Systems (TOPLAS)
MetaML and multi-stage programming with explicit annotations
Theoretical Computer Science - Partial evaluation and semantics-based program manipulation
A modal analysis of staged computation
Journal of the ACM (JACM)
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient Multi-level Generating Extensions for Program Specialization
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
An Idealized MetaML: Simpler, and More Expressive
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
A temporal-logic approach to binding-time analysis
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Closed types for a safe imperative MetaML
Journal of Functional Programming
A tour of tempo: a program specializer for the C language
Science of Computer Programming - Special issue on program transformation
Staged computation with names and necessity
Journal of Functional Programming
A polymorphic modal type system for lisp-like multi-staged languages
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A modal type system for multi-level generating extensions with persistent code
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
ACM Transactions on Computational Logic (TOCL)
Reasoning about multi-stage programs
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Hi-index | 0.00 |
Taha and Nielsen have developed a multi-stage calculus *** *** with a sound type system using the notion of environment classifiers. They are special identifiers, with which code fragments and variable declarations are annotated, and their scoping mechanism is used to ensure statically that certain code fragments are closed and safely runnable. In this paper, we investigate the Curry-Howard isomorphism for environment classifiers by developing a typed *** -calculus *** *** . It corresponds to multi-modal logic that allows quantification by transition variables--a counterpart of classifiers--which range over (possibly empty) sequences of labeled transitions between possible worlds. This interpretation will reduce the "run" construct--which has a special typing rule in *** *** --and embedding of closed code into other code fragments of different stages--which would be only realized by the cross-stage persistence operator in *** *** --to merely a special case of classifier application. We prove that *** *** enjoys basic properties including subject reduction, confluence, and strong normalization and that the execution of a well-typed *** *** program is properly staged. Finally, we show that the proof system augmented with a classical axiom is sound and complete with respect to a Kripke semantics of the logic.