Function arrays

  • Authors:
  • Robert Bernecky

  • Affiliations:
  • I.P. Sharp Associates, Suite 1900, 2 First Canadian Place, Toronto, Ontario, Canada M5X 1E3

  • Venue:
  • APL '84 Proceedings of the international conference on APL
  • Year:
  • 1984

Quantified Score

Hi-index 0.00

Visualization

Abstract

A functional enclose operator, which returns the scalar representation of a function, is introduced. By providing a scalar representation of a function, functional enclose provides capabilities similar to those of SHARP APL Packages. When used in conjunction with the formatting function, functional enclose supplants (@@@@)cr. Apply is defined as a proper extension of the execute (@@@@) primitive function to the domain of enclosed function and array arguments. Apply, in conjunction with functional enclose, extends the architecture of APL from SIMD [Single-Instruction , Multiple-Data] to MIMD [Multiple-Instruction, Multiple-Data], by allowing creation and concurrent execution of 'arrays' of functions. This provides a concise facility for the establishment of concurrent processes within a single APL task. Additional extensions allow these processes to communicate via shared variables, permitting the logical creation of arbitrary interprocessor connections, and facilitating the synchronization and control of such processes. Apply provides a hardware-independent way of describing various MIMD architectures, such as banyan- or cube-connected machines, and dataflow machines.