Associative Programming Language

Last updated

The Associative Programming Language (APL) is a database language developed by General Motors Research Laboratories in 1966. [1]

Contents

APL was developed to provide high-level language data access and manipulation functions to support GM's CADANCE interactive computer graphics system. It was designed to integrate with PL/I. [2] [3]

The underlying database is assumed to follow the network model. GM's first database manager was implemented via linked lists, but in 1977 the "Virtual Associative Access Manager" {VAAM) was developed to use virtual storage and implementing entity relationships as arrays. [1] :p.86 APL was later ported to the MCTS operating system.

Description

APL consists of six statements, CREATE, INSERT, FIND, FOR EACH, REMOVE, and DELETE, [1] :p.85 and miscellaneous functions such as counting the number of members in a set, determining the length or type of an entity, or locating an entity by name. [1] :p.95

Implementation

APL statements were implemented as PL/I preprocessor macros, which translated into calls to the database manager. Later GM's Apple PL/I dialect supported APL directly in the language.

References

  1. 1 2 3 4 Price, Carol (1978), "APL/VAAM" (PDF), NASA Conference Publication 2055: Engineering and Scientific Data Management, NASA, pp. 85–97
  2. Bachman, Charles (January 2006). "An interview with Charles W. Bachman". ACM Oral History interviews. doi:10.1145/1141880.1141882. ISBN   978-1-4503-1771-9 . Retrieved June 29, 2024."George [Dodd] built a very attractive IDS like system, called 'Associative Programming Language' (APL)"
  3. Dodd, George G. (November 1966). "APL: A language for associative data handling in PL/I". AFIPS '66 (Fall): Proceedings of the November 7-10, 1966, fall joint computer conference. pp. 677–684. doi:10.1145/1464291.146436 (inactive 11 July 2025). ISBN   978-1-4503-7893-2 . Retrieved July 2, 2024.{{cite book}}: CS1 maint: DOI inactive as of July 2025 (link)