APL\360: Difference between revisions

Jump to navigation Jump to search
More accurate and detailed introduction; cut indirect influences
No edit summary
(More accurate and detailed introduction; cut indirect influences)
 
(2 intermediate revisions by the same user not shown)
Line 17: Line 17:
| documentation            = [https://www.jsoftware.com/papers/APL360TerminalSystem.htm ''The APL\360 Terminal System'']
| documentation            = [https://www.jsoftware.com/papers/APL360TerminalSystem.htm ''The APL\360 Terminal System'']
| run online              = [https://norbertkehrer.github.io/ibm_5110/emu5110.html IBM 5110 emulator]
| run online              = [https://norbertkehrer.github.io/ibm_5110/emu5110.html IBM 5110 emulator]
| influenced by            = [[Iverson notation]]
| influenced by            = [[Iverson notation]], [[IVSYS/7090]]
| influenced              = [[ISO 8485:1989]], [[ISO/IEC 13751:2001]], [[APL.SV]], [[APL*PLUS]], [[J]]
| influenced              = [[APL.SV]], [[APL*PLUS]]
}}
}}


'''APL\360''' (stylised as '''''APL''\360''') was the first implementation of APL using recognizable APL symbols. It ran on the [[IBM]] System/360, and was completed in November 1966 though at that time remained in use only within IBM. In 1973 its implementers, [[Larry Breed]], Dick Lathwell and [[Roger Moore]], were awarded the Grace Murray Hopper Award from the Association for Computing Machinery (ACM). It was given "for their work in the design and implementation of APL\360, setting new standards in simplicity, efficiency, reliability and response time for interactive systems."
'''APL\360''' (stylised as '''''APL''\360''') was the first major implementation of APL, following the prototype [[IVSYS/7090]]. It ran on the [[IBM]] System/360, and was completed in November 1966 but was mainly used within IBM until its public release in 1968. The APL\360 design was taken as the starting point for all later development, and its source code also became the basis of [[APL*PLUS]]. In 1973 its implementers, [[Larry Breed]], [[Dick Lathwell]] and [[Roger Moore]], were awarded the [[wikipedia:Grace Murray Hopper Award|Grace Murray Hopper Award]] "for their work in the design and implementation of APL\360, setting new standards in simplicity, efficiency, reliability and response time for interactive systems."


Beginning in 1975, the IBM 5100 line of microcomputers offered APL\360 as one of two built-in ROM-based interpreted languages for the computer, complete with a keyboard and display that supported all the special symbols used in the language.
Beginning in 1975, the IBM 5100 line of microcomputers offered APL\360 as one of two built-in ROM-based interpreted languages for the computer, complete with a keyboard and display that supported all the special symbols used in the language.
Line 29: Line 29:
== Availability ==
== Availability ==


APL\360's implementation was completed in 1966, and it was made available within IBM from the [[wikipedia:Thomas J. Watson Research Center|Watson Research Center]] lab in [[wikipedia:Yorktown Heights, New York|Yorktown Heights]] starting in November. From the beginning it was an interactive rather than a batch system, with programmers working directly from a terminal rather than submitting jobs to be run. It was generally available only for IBM projects, with IBM's emphasis on [[wikipedia:PL/I|PL/I]] blocking its release as a standalone product, but was used in a few external projects including a 20-person class at [[wikipedia:NASA|NASA]]'s [[wikipedia:Goddard Space Flight Center|Goddard Space Flight Center]], and at the [[wikipedia:University of Alberta|University of Alberta]].<ref>Harold A. Driscoll. [https://dl.acm.org/doi/10.1145/586003.586005 "An APL Historical Note"]. [[APL Quote Quad]] Volume 8 Issue 1. 1977-09.</ref> [[Syracuse University]] also connected a terminal to Yorktown Heights starting in late 1967.<ref>Dana E. Cartwright and Phyllis A. Kent. "SHARP APL Syracuse" at [[IPSA '80]].</ref> In this period [[wikipedia:SUNY Binghamton|SUNY Binghamton]] became the first facility outside IBM to have APL installed, due to its connection with [[wikipedia:Endicott, New York|IBM-Endicott]].<ref name="foster">[[Ray Polivka]] and Jon McGrew. [https://dl.acm.org/doi/10.1145/216800.216805 "A Quote Quad Interview: Garth Foster"]. Quote Quad Volume 26 Number 1. 1995-09.</ref>
APL\360's implementation was completed in 1966, and it was made available within IBM from the [[Watson Research Center]] lab in [[wikipedia:Yorktown Heights, New York|Yorktown Heights]] starting in November. From the beginning it was an interactive rather than a batch system, with programmers working directly from a terminal rather than submitting jobs to be run. It was generally available only for IBM projects, with IBM's emphasis on [[wikipedia:PL/I|PL/I]] blocking its release as a standalone product, but was used in a few external projects including a 20-person class at [[wikipedia:NASA|NASA]]'s [[wikipedia:Goddard Space Flight Center|Goddard Space Flight Center]], and at the [[wikipedia:University of Alberta|University of Alberta]].<ref>Harold A. Driscoll. [https://dl.acm.org/doi/10.1145/586003.586005 "An APL Historical Note"]. [[APL Quote Quad]] Volume 8 Issue 1. 1977-09.</ref> [[Syracuse University]] also connected a terminal to Yorktown Heights starting in late 1967.<ref>Dana E. Cartwright and Phyllis A. Kent. "SHARP APL Syracuse" at [[IPSA '80]].</ref> In this period [[wikipedia:SUNY Binghamton|SUNY Binghamton]] became the first facility outside IBM to have APL installed, due to its connection with [[wikipedia:Endicott, New York|IBM-Endicott]].<ref name="foster">[[Ray Polivka]] and Jon McGrew. [https://dl.acm.org/doi/10.1145/216800.216805 "A Quote Quad Interview: Garth Foster"]. Quote Quad Volume 26 Number 1. 1995-09.</ref>


IBM released APL\360 in August 1968 ([[APL\1130]] had been released that spring)<ref>[[Adin Falkoff]]. [https://doi.org/10.1145/800012.808128 "APL\360 History"] ([https://www.jsoftware.com/papers/apl360history.htm web]) at [[APL69]].</ref> as a [[wikipedia:IBM Type-III Library|Type-III]] or unsupported library. In 1969 it was offered as one of IBM's first program products, initially for [[wikipedia:DOS/360|DOS/360]], and next with support for [[wikipedia:OS/360 and successors#MVT|MVT]].<ref>[[Adin Falkoff]]. "The IBM family of APL systems". ''[[IBM]] Systems Journal'' Vol. 30 No. 4. 1991.</ref> These products were primarily used by universities, but also rapidly produced interest in [[time-sharing]] APL, with at least eight companies offering time-sharing in 1968. Business use of APL\360 was limited by its lack of support for reading and writing files, a problem that would only be addressed in IBM products with [[APL.SV]] in 1973. Many companies instead used a derivative system such as [[APL*PLUS]] modified to support files.<ref>[[Eric Iverson]]. "The Integration of APL into the Larger World of Data Processing" at [[IPSA '80]].</ref>
IBM released APL\360 in August 1968 ([[APL\1130]] had been released that spring)<ref>[[Adin Falkoff]]. [https://doi.org/10.1145/800012.808128 "APL\360 History"] ([https://www.jsoftware.com/papers/apl360history.htm web]) at [[APL69]].</ref> as a [[wikipedia:IBM Type-III Library|Type-III]] or unsupported library. In 1969 it was offered as one of IBM's first program products, initially for [[wikipedia:DOS/360|DOS/360]], and next with support for [[wikipedia:OS/360 and successors#MVT|MVT]].<ref>[[Adin Falkoff]]. "The IBM family of APL systems". ''[[IBM]] Systems Journal'' Vol. 30 No. 4. 1991.</ref> These products were primarily used by universities, but also rapidly produced interest in [[time-sharing]] APL, with at least eight companies offering time-sharing in 1968. Business use of APL\360 was limited by its lack of support for reading and writing files, a problem that would only be addressed in IBM products with [[APL.SV]] in 1973. Many companies instead used a derivative system such as [[APL*PLUS]] modified to support files.<ref>[[Eric Iverson]]. "The Integration of APL into the Larger World of Data Processing" at [[IPSA '80]].</ref>
Line 52: Line 52:
! Glyph                              !! Monadic              !! Dyadic
! Glyph                              !! Monadic              !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]         || [[Plus]]
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || Plus ([[Identity]]|| [[Plus]]
|-
|-
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate|Negative]]  || [[Subtract|Minus]]
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate|Negative]]  || [[Subtract|Minus]]

Navigation menu