A comparison of reduction in APL with polyarity in LISP

  • Authors:
  • David S. Touretzky

  • Affiliations:
  • Computer Science Department, Carnegie-Mellon University, Schenley Park, Pittsburgh, PA

  • Venue:
  • APL '83 Proceedings of the international conference on APL
  • Year:
  • 1983

Quantified Score

Hi-index 0.00

Visualization

Abstract

APL'S reduce operator can be viewed as a hybrid of two simple models of reduction; these models sometimes disagree. LISP, which lacks a reduce operator, has polyadic functions that implicitly imitate the behavior of reduce. Several differences between reduction in APL and reduction as it appears in LISP are discussed. The paper goes on to develop a flexible model of polyarity based on an applicative operator distributing arguments to a dyadic function. It is shown that, while reduce is the applicative operator most commonly used for this task, some polyadic functions require other operators. The relationship between reduction and polyarity has implications for the design of other programming languages.