A temporal-logic approach to binding-time analysis
- 24 December 2002
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- No. 10436871,p. 184-195
- https://doi.org/10.1109/lics.1996.561317
Abstract
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.Keywords
This publication has 15 references indexed in Scilit:
- Very efficient conversionsPublished by Springer Nature ,1995
- Mechanically verifying the correctness of an offline partial evaluatorPublished by Springer Nature ,1995
- Efficient multi-level generating extensions for program specializationPublished by Springer Nature ,1995
- Correctness of binding-time analysisJournal of Functional Programming, 1993
- Extending the Curry-Howard interpretation to linear, relevant and other resource logicsThe Journal of Symbolic Logic, 1992
- Automatic autoprojection of recursive equations with global variables and abstract data typesScience of Computer Programming, 1991
- Logic programming in the LF logical frameworkPublished by Cambridge University Press (CUP) ,1991
- Inheritance as implicit coercionInformation and Computation, 1991
- Refinement types for MLPublished by Association for Computing Machinery (ACM) ,1991
- A partial evaluator for the untyped lambda-calculusJournal of Functional Programming, 1991