APL/700

From APL Wiki
Revision as of 07:43, 8 September 2020 by Adám Brudzewsky (talk | contribs)
Jump to navigation Jump to search

APL/700' was an APL implementation by wikipedia:Burroughs Corporation for their B6700/B7700 line of mainframe computers. The language was mostly identical to that of APL.SV and its successors, but differed in a few details:

  • The statement separator was a semicolon (;) rather than the conventional diamond ¨ and statements in such a so-called list were evaluated from right to left, much as if the semicolon was the Left identity function ().
  • In primitive pairs with both a last and first axis version, for example / vs and vs , the first axis version would use the function axis syntax to indicate the applicable axis counted from the last axis rather than from the first axis. For example ⊖[1] was equivalent to just like ⌽[1] was equivalent to .
  • While in general reduction using scalar functions were supported by for arrays of a compatible data type (numeric or character), =/ and ≠/ did not support character data.
  • APL/700 included modified assignment, but the pass-through value was the new value of the updated array.
  • More set functions were included than even modern APLs have. In particular and were Subset and Superset, though not strict subset and superset, but rather as {∧/(,a)∊(,⍵)} and {∧/(,⍵)∊(,⍺)}. Further-more, all the set functions except for Membership were defined in terms of the ravel of the arguments, and thus always returned a vector.
  • Format allowed an advanced formatting specification through a character left argument.
  • Many additional quad names were available, including a set of two-letter system functions with all the combinations of S/R/Q (for Stop, Reset, Query) with T/S/M (Trace, Stop, Monitor), and character constants for control characters (⎕B, ⎕L, ⎕R, ⎕T, and ⎕N for Backspace, Linefeed, Return, Tab, and Null), the digits ⎕D, and the alphabet (⎕A).
  • In a manner similar to the much later APLX, APL/700 had primitive functions for file operations. In particular, to create, rename and change password for files, and for deleting files. and were used to read+pop and append components to the beginning and end of a file, respectively. This was in addition to and for read and write operations (as in APLX).
  • Equivalents of normal primitive functions were supplied for operations on component files, treating the files as vectors of elements: and acted like Take and [Drop]] ( and ).
    would Reverse and Rotate ().
APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000Pometo
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages