Skip to main content

A generalization of Backus' FP

  • Session 2 Logic Programming And Functional Programming
  • Conference paper
  • First Online:
Foundations of Software Technology and Theoretical Computer Science (FSTTCS 1986)

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

  • 134 Accesses

Abstract

We view Backus' FP as a framework consisting of a set of basic tools for programming in the functional style, which can accommodate a large number of changeable parts. We argue that functional forms logically belong to the latter because they are specific to the data type. To support a programming methodology based upon this view, we extend FP by introducing "fdef" — a facility for defining new functional forms, based upon the extended definitions of Backus. In an "fdef", the parameters of the form are specified on the left and the function that the functional form is to return as its result is written on the right. We use lazy evaluation instead of APPLY to implement this extension because we feel that APPLY is a hindrance to the algebraic style of proving FP programs. The significant feature of "fdef" is that algebraic laws can be generated from the definitions of functional forms.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arvind, Brock, J. D. and Pingali, K. "FP1.5: Backus' FP with higher order functions", M.I.T. Lab. for Computer Science, (Unpublished 1984).

    Google Scholar 

  2. Backus, J., "Can programming be liberated from the von Neumann style? A functional style and its algebra of programs," Comm. of the ACM, 21, 8, August 1978.

    Google Scholar 

  3. Backus, J., "The algebra of functional programs: function level reasoning, linear equations, and extended definitions" in Formalization of Programming Concepts, Lecture Notes in CS, Vol. 107, Springer-Verlag, April 1981.

    Google Scholar 

  4. Burge, W. H., Recursive Programming Technniques, Addison-Wesley Publishing Co., Reading, Massachusetts, 1975.

    Google Scholar 

  5. Curry, H. B. and Feys, R., Combinatory Logic, Vol. 1, North-Holland Publishing Co., Amsterdam, 1958.

    Google Scholar 

  6. Henderson, P. and Morris, J. M., "A lazy evaluator," Proc. of the 3rd ACM Symp. on Principles of Prog. Lang., 1976.

    Google Scholar 

  7. Henderson, P., Functional Programming, Applications and Implementation, Prentice-Hall, Englewood Cliffs, NJ, 1980.

    Google Scholar 

  8. Roberts, Nirmal P., Implementation of Higher-Order Functions in FP, M.Tech. thesis (August 1985), Dept. of Computer Sc. & Engg., Indian Institute of Technology Kanpur.

    Google Scholar 

  9. Smith, B. C., Reflection and Semantics in a Procedural Language, Ph. D. dissertation, M.I.T. Lab. for CS, LCS/TR/272, 1982.

    Google Scholar 

  10. Srinivas, Y. V., M.Tech. thesis (April 1985), Dept. of Computer Sc. & Engg., Indian Institute of Technology Kanpur.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kesav V. Nori

Rights and permissions

Reprints and permissions

Copyright information

© 1986 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Srinivas, Y.V., Sangal, R. (1986). A generalization of Backus' FP. In: Nori, K.V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1986. Lecture Notes in Computer Science, vol 241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17179-7_8

Download citation

  • DOI: https://doi.org/10.1007/3-540-17179-7_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17179-9

  • Online ISBN: 978-3-540-47239-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics