Higher-Order and Symbolic Computation

, Volume 18, Issue 3–4, pp 371–388

A Variadic Extension of Curry's Fixed-Point Combinator

Article
  • 36 Downloads

Abstract

We present a systematic construction of a variadic, applicative-order, multiple fixed-point combinator in Scheme. The resulting Scheme procedure is a variadic extension of the n-ary version of Curry's fixed-point combinator. It can be used to create mutually-recursive procedures, and expand letrec-expressions.

Keywords

fixed points fixed-point combinators applicative order lambda-calculus Scheme variadic functions 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abelson, H., Jay Sussman, G., and Sussman, J. Structure and Interpretation of Computer Programs. The MIT Press, McGraw-Hill Book Company, Second edition, 1996.Google Scholar
  2. 2.
    Barendregt, H.P. The Lambda Calculus, Its Syntax and Semantics. North-Holland, 1984.Google Scholar
  3. 3.
    Barendregt, H.P. Functional programming and the λ-calculus. In Handbook of Theoretical Computer Science, J. van Leeuwen (Ed.), chapter 7. MIT Press, Cambridge, Massachusetts, 1990, pp. 323–363.Google Scholar
  4. 4.
    Bekič, H. Programming Languages and Their Definition. Number 177 in Lecture Notes in Computer Science. Springer-Verlag, 1984.Google Scholar
  5. 5.
    Curry, H.B., Feys, R., and Craig, W. Combinatory Logic, volume I. North-Holland Publishing Company, 1958.Google Scholar
  6. 6.
    Dyadic Systems, Limited. Dyalog APL. http://www.dyadic.com/.
  7. 7.
    Friedman, D.P. and Felleisen, M. The Little LISPer. Science Research Associates, Inc., 1986.Google Scholar
  8. 8.
    Goldberg, M. A variadic extension of Curry's fixed-point combinator. In Proceedings of the 2002 ACM SIGPLAN Workshop on Scheme and Functional Programming, O. Shivers (Ed.), October 2002, pp. 69–78.Google Scholar
  9. 9.
    Iverson, K.E. A Programming Language. John Wiley & Sons, Inc., 1962.Google Scholar
  10. 10.
    Kohlbecker, E.M. and Wand, M. Macro-by-example: Deriving syntactic transformations from their specifications. In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, 1987, pp. 77–84.Google Scholar
  11. 11.
    Landin, P.J. The mechanical evaluation of expressions. Computer Journal, 6 (1964), 308–320.MATHGoogle Scholar
  12. 12.
    Péter, R. Recursive Functions. Academic Press, 1967.Google Scholar
  13. 13.
    Queinnec, C. LISP In Small Pieces. Cambridge University Press, 1996.Google Scholar
  14. 14.
    Turing, A. The p-functions in λ-k-conversion. Journal of Symbolic Logic (1937) p. 164.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  1. 1.Department of Computer ScienceBen Gurion UniversityBeer ShevaIsrael

Personalised recommendations