Apple (programming language)
Apple is a PL/I-like programming language created by General Motors Research Laboratories for their Control Data Corporation STAR-100 supercomputer.
Apple is a subset of full PL/I, but has been extended to integrate with the Associative Programming Language (APL - not to be confused with APL (programming language) )[1]: p.9 [2]: p.92
Associative programming features
Data types | ||
Entity | "The ENTITY attribute specifies a variable that may be manipulated by the INSERT, REMOVE, FIND, and FOR EACH statements."[1]: p.94 | |
Set | "The SET attribute defines the name of a data aggregate that represents an ordered set of entity variables."[1]: p.107 | |
File_Set |
Statements | ||
Create | ||
Delete | ||
Find | ||
For Each | ||
Insert | ||
Remove | ||
Let |
Other features
The REGISTER
storage class and the INLINE
builtin subroutine allow access to STAR hardware features.
A scalar arithmetic variable can be declared REGISTER [register-specification]
. register-specification
can be an unsigned integer constant 0..255 to specify one of the computer's hardware registers. If it is omitted the compiler will assign a register.[citation needed]
The INLINE
procedure inserts an arbitrary machine-language instruction into the compiled compuled code. Except for the function code (operation code) and subcode of the instructions all operands can be numeric constants, variables, or arithmetic constants.
Example:[1]: p.202
CALL INLINE("F8", 5, 0, SOURCE, 0, "20", 0, TARGET);
Omitted PL/I features
Some features of standard PL/I are not included in Apple. The most significant are:
- The
CONTROLLED
and <AREA> storage attributes are not supported. <codse>FILE andFILESET
have many of the characteristics of <AREA>. - List-directed and data-directed Input output are not supported.
References
- ^ a b c d Krull, Fred; Marcotty, Michael; Pickrtt, Mary; Thomas, James; Zeilinger, Ronald (1972). Apple Reference Manual (PDF). General Motors Research Laboratories. Retrieved June 29, 2024.
- ^ 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) which was integrated with PL/1. General Motors used it extensively in the graphic design system for automotive development. IBM latter asked GM to give up the initials, APL, so they could use them with their, 'A Programming Language.'”