📑 Table of Contents

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]

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

edit

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 

  • Create is a synonym for Allocate. It causes storage to be allocated for a based variable. A file or set where the data is to be allocated may be specified.
  • Delete is a synonym for Free. Delete frees a based variable and optionally removes it from all sets of which it is a member.
  • Find locates an entity that is a member of a set or container based on specified conditions. An optional ELSE clause is executed if no entities are found.
  • For Each heads a group of statements to be executed for all entities or sets matching a specified condition.
  • Insert inserts an entity into a specified set. Optionally, the placement of the new entity relative to other elements of the set may be specified.
  • Let sets a locator variable to reference a specified set.
  • Remove removes an entity from a set.

Implementation

edit

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.

References

edit
  1. ^ a b c d 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)

📚 Artikel Terkait di Wikipedia

List of programming languages by type

list of notable programming languages, grouped by notable language attribute. As a language can have multiple attributes, the same language can be in multiple

Programming language

A programming language is an engineered language for expressing computer programs, typically allowing software to be written in a human readable manner

Associative array

that support associative arrays. Content-addressable memory is a form of direct hardware-level support for associative arrays. Associative arrays have

C (programming language)

C is a general-purpose programming language created in the 1970s by Dennis Ritchie. By design, C gives the programmer relatively direct access to the features

Operator associativity

determined by the associativity of the operators. Operators may be associative (meaning the operations can be grouped arbitrarily), left-associative (meaning the

Python (programming language)

introductory programming language. Since 2003, Python has consistently ranked among the top ten most popular programming languages in the TIOBE Programming Community

Comparison of programming languages (associative array)

This comparison of programming languages (associative arrays) compares the features of associative array data structures or array-lookup processing for

SNOBOL

SNOBOL (StriNg Oriented and symBOlic Language) is a series of programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David