Associative Programming Language

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

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

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

  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)

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.