The Associative Programming Language (APL) is a database language developed by General Motors Research Laboratories in 1966.
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.
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. 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>, 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.
APL statements were initially 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.