Skip to main content

Explicit substitutitions for constructive necessity

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1443))

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.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit substitutions. Journal of Functional Programming, 1(4):375–416, 1991.

    MATH  MathSciNet  Google Scholar 

  2. C. Consel. Binding time analysis for higher order untyped functional languages. In Proc. ACM conference on Lisp and functional programming, pages 264–272, 1990.

    Google Scholar 

  3. R. Davies. A temporal logic approach to binding-time analysis. In Proc. of LICS'96, pages 184–193, 1996.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. N. Ghani. Adjoint Rewriting. PhD thesis, University of Edinburgh, 1995.

    Google Scholar 

  6. N. Ghani, V. de Paiva, and E. Ritter. Linear explicit substitutions. In Proc. of Westapp'98, 1998.

    Google Scholar 

  7. N. Ghani, V. de Paiva, and E. Ritter. Models for explicit substitution calculi. Technical report, School of Computer Science, University of Birmingham, 1998.

    Google Scholar 

  8. C.K. Gomard. Partial type inference for untyped functional programs. In Proc. ACM conference on Lisp and functional programming, pages 282–287, 1990.

    Google Scholar 

  9. J. Goubault-Larrecq. Logical foundations of eval/quote mechanisms, and the modal logic S4. Manuscript, 1996.

    Google Scholar 

  10. N.D. Jones, C.K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993.

    Google Scholar 

  11. P.-A. Mellies. Typed λ-calculi with explicit substitution may not terminate. Proc. of TLCA'95, pages 328–334. LNCS No. 902, 1995.

    MathSciNet  Google Scholar 

  12. A. Barber. Linear Type Theories, Semantics and Action Calculi. PhD-thesis, LFCS, University of Edinburgh, 1997.

    Google Scholar 

  13. A. Barber and G. Plotkin. Dual intuitionistic linear logic. Technical report, LFCS, University of Edinburgh, 1997.

    Google Scholar 

  14. F. Nielson and H.R. Nielson. Two-Level Functional Languages. CUP, 1992.

    Google Scholar 

  15. J. Palsberg. Correctness of binding-time analysis. J. of Functional Programming, 3(3):347–363, 1993.

    Article  MathSciNet  Google Scholar 

  16. E. Ritter and V. de Paiva. On explicit substitution and names (extended abstract). In Proc. of ICALP'97, LNCS 1256, pages 248–258, 1997.

    Google Scholar 

  17. Eike Ritter. Categorical abstract machines for higher-order lambda calculi. Theoretical Computer Science, 136(1):125–162, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  18. Eike Ritter. Normalization for typed lambda calculi with explicit substitution. In Proc. of CSL'93, pages 295–304. LNCS 832, 1994.

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kim G. Larsen Sven Skyum Glynn Winskel

Rights and permissions

Reprints 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

Publish with us

Policies and ethics