Associative Programming Language: Difference between revisions
Peter Flass (talk | contribs) |
Peter Flass (talk | contribs) →Description: fix link |
||
Line 14: | Line 14: | ||
==Description== |
==Description== |
||
APL consists of six statements, <code>CREATE</code>, <code>INSERT</code>, <code>FIND</code>, <code>FOR EACH</code>, <code>REMOVE</code>, and <code>DELETE</code>,<ref name=Price />{{rp|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.<ref name=Price />{{rp|p.95}}. The underlying database is assumed to follow the [[network model]]. GM's first database manager was implemented via [[linked list]], but in 1977 the "Virtual Associative Access Manager" {VAAM) was developed to use [[virtual storage]] and implementing entity relationships as arrays.<ref name=Price />{{rp|p.86}}. APL was later ported to the [[MCTS]] operating system. |
APL consists of six statements, <code>CREATE</code>, <code>INSERT</code>, <code>FIND</code>, <code>FOR EACH</code>, <code>REMOVE</code>, and <code>DELETE</code>,<ref name=Price />{{rp|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.<ref name=Price />{{rp|p.95}}. The underlying database is assumed to follow the [[network model]]. GM's first database manager was implemented via [[linked list]], but in 1977 the "Virtual Associative Access Manager" {VAAM) was developed to use [[virtual storage]] and implementing entity relationships as arrays.<ref name=Price />{{rp|p.86}}. APL was later ported to the [[Multiple Console Time Sharing System|MCTS]] operating system. |
||
==Implementation== |
==Implementation== |
Revision as of 21:44, 2 July 2024
The Associative Programming Language (APL) is a database language developed by General Motors Research Laboratories in 1966.[1]
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]
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 . The underlying database is assumed to follow the network model. GM's first database manager was implemented via linked list, 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.
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
- ^ a b c d Price, Carol (1978), "APL/VAAM" (PDF), NASA Conference Publication 2055: Engineering and Scientific Data Management, NASA, pp. 85–97
- ^ Bachman, Charles. "An interview with Charles W. Bachman". ACM Digital Library. Retrieved June 29, 2024."George [Dodd] built a very attractive IDS like system, called 'Associative Programming Language' (APL)"
- ^ 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: 677–684. doi:10.1145/1464291.146436. Retrieved July 2, 2024.