APL/700

APL/700 was an APL implementation by Burroughs Corporation for their 700 series of mainframe computers.

The system was written in Paoli, by Jim Ryan, Glenn Martin, Jim Williams, and Ken Carvin. Ron Murray joined the team in 1974. Due to the physical location, just outside of Philadelphia, the team had close contact with Ken Iverson and Adin Falkoff, who were at the IBM's Philadelphia office at that time.

Though an an independent ALGOL 60 implementation, it was based on the ideas from APL\360, and borrowed some ideas from APL.SV.

Unique features
Despite its similarity However, it also differed in quite 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   was equivalent to   just like   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   and  . All the set functions except for Membership were defined in terms of the ravel of the arguments, and thus always returned a vector. Furthermore, Union, Intersection , and Set difference  returned only Unique elements, that is, a vector with no duplicates.
 * 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 (, ,  ,  , and   for Backspace, Linefeed, Return, Tab, and Null), the digits  , and the alphabet.
 * In a manner similar to, but more extensively than the much later APLX, APL/700 had primitive functions for file operations. In addition to  and   for read and write operations (as in APLX), it supported the following:
 * 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.
 * Equivalents of normal primitive functions for operations on component of files as if they were elements of a vectors:  and   acted like Take and Drop (  and  ).   would Reverse and Rotate .   and   were Compress and Expand (  and  ).
 * and  and   were used to hold, free, and relase a file.
 * and  returned maps for non-null and null components, respectively.
 * provided meta information about a file or the file system.