Skip to main content

Labeled λ-calculus and a generalised notion of strictness

An extended abstract

  • Knowledge Representation and programming Languages
  • Conference paper
  • First Online:
  • 134 Accesses

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

Abstract

The problem of analyzing functional programs requires us to identify subterms of a given term with certain properties. In this paper, we introduce a variant of λ-calculus called labeled λ-calculus to help us build a theory of positional analysis. Labeled λ-calculus uses sets of labels as a means of naming subterms and keeping track of them. We then define a stronger form of strictness called need and show how labeled λ-calculus can be used to compute need. We extend the notion of the need to subterms and use labeled λ-calculus to identify needed subterms. We also use this notion to qualify a function's need for its argument — to identify how much of the argument to a function is needed to evaluate an application to head normal form.

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. Samson Abramsky and Chris Hankin, editors. Abstract Interpretation of Declaration Languages, Chicester, Great Britain, 1987. Ellis Horwood.

    Google Scholar 

  2. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics. North Holland, 1984.

    Google Scholar 

  3. C. Bohm, editor. Lambda Calculus and Computer Science, Volume 37 of Lecture Notes in Computer Science, Berlin, 1975. Springer Verlag. Proceedings of the Symposium held in Rome.

    Google Scholar 

  4. Geoffrey L. Burn, Chris Hankin, and Samson Abramsky. The theory and practice of strictness analysis for higher order functions. Science of Computer Programming, 7:249–278, 1986.

    Google Scholar 

  5. J.R. Hindley and J.P. Seldin, editors. To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, New York and London, 1980. Academic Press.

    Google Scholar 

  6. J. Hughes. Strictness detection in non-flat domains. In Programs as Data Objects, volume 217 of Lecture Notes in Computer Science, pages 42–62, New York, 1986. Springer Verlag.

    Google Scholar 

  7. J.M.E. Hyland. A syntactic characterisation of the equality in some models of the λ calculus. Journal of the London Mathematical Society, 12(2):361–370, 1976.

    Google Scholar 

  8. J.-J. Levy. An algebraic interpretation of the λβκ calculus and a labelled λ-calculus. In Bohm

    Google Scholar 

  9. J.-J. Levy. Optimal reductions in the lambda calculus. In Hindley and Seldin [5], pages 159–192.

    Google Scholar 

  10. Alan Mycroft. The theory and practice of transforming call-by-need into call-by-value. In Procs. of an International Symposium on Programming, volume 83 of Lecture Notes in Computer Science, pages 269–281, New York, 1980. Springer Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kanchana Kanchanasut Jean-Jacques Lévy

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gandhe, M., Venkatesh, G., Sanyal, A. (1995). Labeled λ-calculus and a generalised notion of strictness. In: Kanchanasut, K., Lévy, JJ. (eds) Algorithms, Concurrency and Knowledge. ACSC 1995. Lecture Notes in Computer Science, vol 1023. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60688-2_38

Download citation

  • DOI: https://doi.org/10.1007/3-540-60688-2_38

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60688-8

  • Online ISBN: 978-3-540-49262-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics