Jump to content

Apple (programming language)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Zinnober9 (talk | contribs) at 16:10, 30 June 2024 (Cleared typo errors). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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:[1]

  • The CONTROLLED and <AREA> storage attributes are not supported. FILE and FILESET have many of the characteristics of <AREA>.
  • List-directed and data-directed Input output are not supported.

References

  1. ^ a b c d e Krull, Fred; Marcotty, Michael; Pickrtt, Mary; Thomas, James; Zeilinger, Ronald (1972). Apple Reference Manual (PDF). General Motors Research Laboratories. Retrieved June 29, 2024.
  2. ^ 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.'”