Super-combinators a new implementation method for applicative languages

  • Authors:
  • R. J. M. Hughes

  • Affiliations:
  • -

  • Venue:
  • LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
  • Year:
  • 1982
  • A lazy evaluator

    POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages

Quantified Score

Hi-index 0.00

Visualization

Abstract

There is a growing interest nowadays in functional programming languages and systems, and in special hardware for executing them. Many of these implementations are based on a system called graph reduction (GR), in which a program is represented as a graph which is transformed, or reduced, by the machine until it represents the desired answer. The various graph reduction implementations differ in the structure of the “machine code” (the program graph) and the compilation algorithms necessary to produce it from a source language. This paper describes a new implementation method using super-combinators which is apparently more efficient than its predecessors. Consideration of the new method also helps clarify the relationships between several other graph-reduction schemes. This paper is necessarily brief, but a fuller account can be found in [Hughes]. The simplest machine language we shall consider consists of constants combined by function application. This is the language of constant applicative forms (cafs). Some of the constants are basic functions.