Some implications of APL order-of-execution rules

  • Authors:
  • Richard H. Lathwell

  • Affiliations:
  • I.P. Sharp Associates Ltd., Suite 1400, 145 King Street West, Toronto, Canada M5H 1J8

  • Venue:
  • APL '79 Proceedings of the international conference on APL: part 1
  • Year:
  • 1979

Quantified Score

Hi-index 0.00

Visualization

Abstract

An implementation of APL is necessarily a rigid encoding of the rules of the language, including a de facto order in which expressions are evaluated. The order of execution is perceived in an APL program by the way in which side effects such as nested specification, specification of global variables within defined functions, and shared variable values affect the outcome of expressions. Concern about variation among implementations and distasteful results (see for example, “APL Problems with Order of Execution”, Clark Wiedmann, in the March 1978 issue of Quote Quad) led to a proposed definition for the order of evaluation of APL expressions which received general acceptance at an APL implementors' workshop at Minnowbrook in September 1977. The refined “right to left” evaluation rule is examined and compared with other possible choices, through the use of simple APL syntax analysis models, to determine its implications on storage requirements, computation requirements, and mathematical identities.