PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Inheritance as implicit coercion
Information and Computation
Automatic autoprojection of recursive equations with global variable and abstract data types
Science of Computer Programming
Logic programming in the LF logical framework
Logical frameworks
Two-level functional languages
Two-level functional languages
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Handbook of logic in computer science (vol. 2)
Type-directed partial evaluation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A modal analysis of staged computation
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A simple applicative language: mini-ML
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Efficient Multi-level Generating Extensions for Program Specialization
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Mechanically Verifying the Correctness of an Offline Partial Evaluator
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
Proceedings of the 8th International Workshop on Higher Order Logic Theorem Proving and Its Applications
Multi-stage programming with explicit annotations
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Dynamic typing as staged type inference
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Run-time code generation and modal-ML
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Modal types as staging specifications for run-time code generation
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
On the logical foundations of staged computation (invited talk)
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
PEPM '00 Proceedings of the 2000 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
A modal analysis of staged computation
Journal of the ACM (JACM)
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
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A foundation for embedded languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiling Embedded Programs to Byte Code
PADL '02 Proceedings of the 4th International Symposium on Practical Aspects of Declarative Languages
Reasoning about Staged Computation
SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
Multi-Stage Imperative Languages: A Conservative Extension Result
SAIG '00 Proceedings of the International Workshop on Semantics, Applications, and Implementation of Program Generation
Directions in Functional Programming for Real(-Time) Applications
EMSOFT '01 Proceedings of the First International Workshop on Embedded Software
An Idealized MetaML: Simpler, and More Expressive
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
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
Meta-programming through typeful code representation
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional 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
A computational formalization for partial evaluation
Mathematical Structures in Computer Science
Closed types for a safe imperative MetaML
Journal of Functional Programming
Inlining as staged computation
Journal of Functional Programming
MetaKlaim: a type safe multi-stage language for global computing
Mathematical Structures in Computer Science
Meta-programming through typeful code representation
Journal of Functional Programming
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)
Shifting the stage: staging with delimited control
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
A Logical Foundation for Environment Classifiers
TLCA '09 Proceedings of the 9th International Conference on Typed Lambda Calculi and Applications
Abstract parsing for two-staged languages with concatenation
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Classical Natural Deduction for S4 Modal Logic
APLAS '09 Proceedings of the 7th Asian Symposium on Programming Languages and Systems
A monadic multi-stage metalanguage
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
A new one-pass transformation into monadic normal form
CC'03 Proceedings of the 12th international conference on Compiler construction
Deriving compilers and virtual machines for a multi-level language
APLAS'07 Proceedings of the 5th Asian conference on Programming languages and systems
MetaKlaim: meta-programming for global computing
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Constructive linear-time temporal logic: Proof systems and Kripke semantics
Information and Computation
Program generation and components
FMCO'04 Proceedings of the Third international conference on Formal Methods for Components and Objects
Shifting the stage: Staging with delimited control
Journal of Functional Programming
Polymorphic multi-stage language with control effects
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Staged computation with staged lexical scope
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Explicitly heterogeneous metaprogramming with MetaHaskell
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
A logical correspondence between natural semantics and abstract machines
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 0.00 |
The Curry-Howard isomorphism identifies proofs with typed /spl lambda/-calculus terms, and correspondingly identifies propositions with types. We show how this isomorphism can be extended to relate constructive temporal logic with binding-time analysis. In particular we show how to extend the Curry-Howard isomorphism to include the O ("next") operator from linear-time temporal logic. This yields the simply typed /spl lambda//sup O/-calculus which we prove to be equivalent to a multi-level binding-time analysis like those used in partial evaluation for functional programming languages. Further, we prove that normalization in /spl lambda//sup O/ can be done in an order corresponding to the times in the logic, which explains why /spl lambda//sup O/ is relevant to partial evaluation. We then extend /spl lambda//sup O/ to a small functional language, Mini-ML/sup O/, and give an operational semantics for it. Finally, we prove that this operational semantics correctly reflects the binding-times in the language, a theorem which is the functional programming analog of time-ordered normalization.