Graal : A Functional Programming system with uncurryfied combinators and its reduction machine

  • Patrick Bellot
Functional Programming Language Implementation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 213)


This work presents a new programming language issued from Functional Programming systems of J.W. Backus. GRAAL is a functional programming language without variables. The basic tools provided for expressing functions are functional forms as in FP systems. The main change is that functional forms are constructed using uncurryfied combinators, that is polyadic combinators. The introduction of a new kind of functional form (user form) allows users of the system to define their own functional forms and to compute them dynamically. Another difference with FP systems is that functions are polyadic. The main consequence of these choices is an efficient reduction machine, implementing the language, which is described here. Independently of efficiency considerations, GRAAL seems to be a realistic programming language.

6) References

  1. [1]
    J.W. Backus Can programming be liberated from Von Neumann style? A functional style and its Algebra of programs., CACM 21, Volume 8, 1978.Google Scholar
  2. [2]
    F. Bellegarde Rewriting systems on FP expressions that reduce the number sequences they yield, Symposium on Lisp and Functional Programming 1984, LNCS, pp 63–73, Austin (Texas), 1984.Google Scholar
  3. [3]
    P. Bellot JYM: un language de programmation sans variables et ses réalisations, Actes des journées Afcet-Groplan, Bulletin BIGRE+GLOBULE, J. André éditeur, à paraftre, Toulouse 1985.Google Scholar
  4. [4]
    P. Bellot High order programming in extended FP, IFIP conference on Functional Programming and Computer Architecture, LNCS 201, pp 65–80, Nancy 1985.Google Scholar
  5. [5]
    P. Bellot and B. Robinet Functional programming with uncurryfied combinators, First Workshop on Reduction Machines, to appear in LNCS, Ustica (Italy), 1985.Google Scholar
  6. [6]
    L. Cardelli Compiling a functional language, Symposium on Lisp and Functional Programming 1984, LNCS, Austin (Texas) 1984.Google Scholar
  7. [7]
    G. Cousineau, PL. Curien and M. Mauny The categorical abstract machine, IFIP conference on Functional Programming and Computer Architecture, LNCS 201, pp 50–64, Nancy 1985.Google Scholar
  8. [8]
    J.H. Williams Formal representation of recursively defined functional programs, Formalization of programming concepts, LNCS 107, Penniscola 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1986

Authors and Affiliations

  • Patrick Bellot
    • 1
    • 2
  1. 1.Litp-Cnrs (LA 248)Paris
  2. 2.Université de Metz, Ile du SaulcyMetz-Cedex

Personalised recommendations