Abstract
This paper introduces a λ-calculus with explicit substitutions, corresponding to an S4 modal logic of constructive necessity. As well as being semantically well motivated, the calculus can be used (a) to develop abstract machines, and (b) as a framework for specifying and analysing computation stages in the context of functional languages. We prove several syntactic properties of this calculus, which we call xDIML, and then sketch its use as an interpretation of binding analysis and partial evaluation which respects execution of programs in stages.
Research supported under the EPSRC project no. GR/L28296, x-SLAM: The Explicit Substitutions Linear Abstract Machine.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit substitutions. Journal of Functional Programming, 1(4):375–416, 1991.
C. Consel. Binding time analysis for higher order untyped functional languages. In Proc. ACM conference on Lisp and functional programming, pages 264–272, 1990.
R. Davies. A temporal logic approach to binding-time analysis. In Proc. of LICS'96, pages 184–193, 1996.
R. Davies and F. Pfenning. A modal analysis of staged computation. In Guy Steele, Jr., editor, Proc. of 23rd POPL, pages 258–270. ACM Press, 1996.
N. Ghani. Adjoint Rewriting. PhD thesis, University of Edinburgh, 1995.
N. Ghani, V. de Paiva, and E. Ritter. Linear explicit substitutions. In Proc. of Westapp'98, 1998.
N. Ghani, V. de Paiva, and E. Ritter. Models for explicit substitution calculi. Technical report, School of Computer Science, University of Birmingham, 1998.
C.K. Gomard. Partial type inference for untyped functional programs. In Proc. ACM conference on Lisp and functional programming, pages 282–287, 1990.
J. Goubault-Larrecq. Logical foundations of eval/quote mechanisms, and the modal logic S4. Manuscript, 1996.
N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.
P.-A. Mellies. Typed λ-calculi with explicit substitution may not terminate. Proc. of TLCA'95, pages 328–334. LNCS No. 902, 1995.
A. Barber. Linear Type Theories, Semantics and Action Calculi. PhD-thesis, LFCS, University of Edinburgh, 1997.
A. Barber and G. Plotkin. Dual intuitionistic linear logic. Technical report, LFCS, University of Edinburgh, 1997.
F. Nielson and H.R. Nielson. Two-Level Functional Languages. CUP, 1992.
J. Palsberg. Correctness of binding-time analysis. J. of Functional Programming, 3(3):347–363, 1993.
E. Ritter and V. de Paiva. On explicit substitution and names (extended abstract). In Proc. of ICALP'97, LNCS 1256, pages 248–258, 1997.
Eike Ritter. Categorical abstract machines for higher-order lambda calculi. Theoretical Computer Science, 136(1):125–162, 1994.
Eike Ritter. Normalization for typed lambda calculi with explicit substitution. In Proc. of CSL'93, pages 295–304. LNCS 832, 1994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ghani, N., de Paiva, V., Ritter, E. (1998). Explicit substitutitions for constructive necessity. In: Larsen, K.G., Skyum, S., Winskel, G. (eds) Automata, Languages and Programming. ICALP 1998. Lecture Notes in Computer Science, vol 1443. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055098
Download citation
DOI: https://doi.org/10.1007/BFb0055098
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64781-2
Online ISBN: 978-3-540-68681-1
eBook Packages: Springer Book Archive