Explicit Substitutions for Constructive Necessity

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.

[1]  Paul-Andr Typed -calculi with Explicit Substitutions May Not Terminate , 1995 .

[2]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[3]  Eike Ritter,et al.  Normalization for Typed Lambda Calculi with Explicit Substitution , 1993, CSL.

[4]  Valeria de Paiva,et al.  Linear Explicit Substitutions , 2000, Log. J. IGPL.

[5]  Andrew Barber,et al.  Dual Intuitionistic Linear Logic , 1996 .

[6]  Frank Pfenning,et al.  A modal analysis of staged computation , 1996, POPL '96.

[7]  Eike Ritter,et al.  Categorical Abstract Machines for Higher-Order Typed lambda-Calculi , 1994, Theor. Comput. Sci..

[8]  Jens Palsberg,et al.  Correctness of binding-time analysis , 1993, Journal of Functional Programming.

[9]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[10]  Charles Consel,et al.  Binding time analysis for high order untyped functional languages , 1990, LISP and Functional Programming.

[11]  Carsten K. Gomard Partial type inference for untyped functional programs , 1990, LISP and Functional Programming.

[12]  Andrew G. Barber,et al.  Linear type theories, semantics and action calculi , 1997 .

[13]  Paul-André Melliès Typed lambda-calculi with explicit substitutions may not terminate , 1995, TLCA.

[14]  Jean Goubault-larrecq,et al.  Logical Foundations of Eval/Quote Mechanisms, and the Modal Logic S4 , 1997 .

[15]  Valeria de Paiva,et al.  On Explicit Substitution and Names (Extended Abstract) , 1997, ICALP.

[16]  Flemming Nielson,et al.  Two-level functional languages , 1992, Cambridge tracts in theoretical computer science.

[17]  Valeria de Paiva,et al.  Categorical Models of Explicit Substitutions , 1999, FoSSaCS.