SHARP APL: Difference between revisions

Jump to navigation Jump to search
m
Replaced legacy website link to York University Computer Museum with the current one.
(→‎Primitive Operators: To 1987; "Life: Nasty, Brutish, and Short" says Commute came after the Dictionary; 1987-10 Newsletter mentions Cut although v20 notes say 3 Cut isn't implemented)
m (Replaced legacy website link to York University Computer Museum with the current one.)
 
(10 intermediate revisions by one other user not shown)
Line 8: Line 8:
| released                = 1976 via [[time-sharing]]; around 1979 as a product
| released                = 1976 via [[time-sharing]]; around 1979 as a product
| withdrawn                = around 1993
| withdrawn                = around 1993
| latest release           = 002.140 / 1988
| latest release version  = 20 / 1989
| platforms                = S/370, x86
| platforms                = S/370, x86
| operating systems        = DOS/390, DOS, UNIX (AIX, Solaris), Linux
| operating systems        = DOS/390, DOS, UNIX (AIX, Solaris), Linux
Line 23: Line 23:
== Releases ==
== Releases ==


A partial list of SHARP's major releases is shown.
Releases began to be identified primarily by number rather than date beginning with 17.0. From this point, new primitives and other major language changes were added in *.0 releases; many point releases were not updates to the interpreter itself but to other components. For example, release 17.4 updated the printing facility HSPRINT. Point releases affecting the interpreter generally added or extended [[quad name]]s and [[system command]]s, or improved performance. Release number 18 was apparently skipped.


{|class=wikitable
{|class=wikitable
Line 30: Line 30:
|        || 1980    || Compress extended to [[Replicate]]; [[LCM]] and [[GCD]]; [[Grade]] on rank >1<ref>IPSA. [https://www.softwarepreservation.org/projects/apl/Manuals/SharpAPLManualCorrections/view SHARP APL Reference Manual Additions and Corrections, June 1981]</ref>
|        || 1980    || Compress extended to [[Replicate]]; [[LCM]] and [[GCD]]; [[Grade]] on rank >1<ref>IPSA. [https://www.softwarepreservation.org/projects/apl/Manuals/SharpAPLManualCorrections/view SHARP APL Reference Manual Additions and Corrections, June 1981]</ref>
|-
|-
|        || 1981-05  || Enclosed arrays; [[Enclose]] (<syntaxhighlight lang=apl inline><</syntaxhighlight>), [[Disclose]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>), [[Match]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>); operators [[Atop|Over]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Over|On]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Under|With]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>); [[complex number]]s<ref>IPSA Newsletter July/August 1981 ([https://www.snakeisland.com/IPSANewsletter_1981_07_08.pdf pdf])</ref>
|        || 1981-05  || Enclosed arrays; [[Enclose]] (<syntaxhighlight lang=apl inline><</syntaxhighlight>), [[Mix|Disclose]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>), [[Match]] (<syntaxhighlight lang=apl inline>≡</syntaxhighlight>); operators [[Atop|Over]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Over|On]] (<syntaxhighlight lang=apl inline></syntaxhighlight>), [[Under|With]] (<syntaxhighlight lang=apl inline>¨</syntaxhighlight>); [[complex number]]s<ref>IPSA Newsletter July/August 1981 ([https://www.snakeisland.com/IPSANewsletter_1981_07_08.pdf pdf])</ref>
|-
|-
|        || 1982-05  || Generalized [[determinant]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>); debugging and formatting improvements<ref>IPSA Newsletter July/August 1982 ([https://www.snakeisland.com/IPSANewsletter_1982_07_08.pdf pdf])</ref>
|        || 1982-05  || Generalized [[determinant]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>); debugging and formatting improvements<ref>IPSA Newsletter July/August 1982 ([https://www.snakeisland.com/IPSANewsletter_1982_07_08.pdf pdf])</ref>
Line 38: Line 38:
| 15    || 1983-05  || [[Rank operator]] and [[Function rank]]; [[Left|Lev]] (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>), [[Right|Dex]] (<syntaxhighlight lang=apl inline>⊢</syntaxhighlight>), [[Link]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>)<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref>
| 15    || 1983-05  || [[Rank operator]] and [[Function rank]]; [[Left|Lev]] (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>), [[Right|Dex]] (<syntaxhighlight lang=apl inline>⊢</syntaxhighlight>), [[Link]] (<syntaxhighlight lang=apl inline>⊃</syntaxhighlight>)<ref>[https://www.jsoftware.com/papers/satn45.htm "Language Extensions of May 1983"]. SATN-45, 1983-05-02.</ref>
|-
|-
| 17    || 1985-01<ref>York University Computer Museum. [http://www.cse.yorku.ca/museum/collections/IPSA/ipsa_col.html SHARP APL collection catalogue].</ref>  ||
| 17    || 1985-01<ref>York University Computer Museum. [https://museum.eecs.yorku.ca/collections/show/15 SHARP APL collection catalogue].</ref>  || Improvements in internal architecture
|-
|-
| 19    || 1987-03  || Short left argument for [[Take]]/[[Drop]]<ref>[[Robert Bernecky]]. [https://dl.acm.org/citation.cfm?id=55632 An Introduction to Function Rank] at [[APL88]]. [[APL Quote Quad]], Volume 18, Issue 2. December 1987.</ref>
| 19    || 1987-03  || Short left argument for [[Take]]/[[Drop]]; [[Table]] (<syntaxhighlight lang=apl inline>⍪</syntaxhighlight>)<ref>[[Robert Bernecky]]. [https://dl.acm.org/citation.cfm?id=55632 An Introduction to Function Rank] at [[APL88]]. [[APL Quote Quad]], Volume 18, Issue 2. December 1987.</ref>
|-
|-
| 20    || 1989-09  || [[Find|In]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Nubsieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>); padding for [[Disclose]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>)<ref>[[IPSA]]. [https://archive.org/details/sharp-apl-release-20.0-guide-for-apl-programmers "SHARP APL Release 20.0: Guide for APL Programmers"].</ref>
| 20    || 1989-09  || [[Find|In]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Nubsieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>); padding for [[Mix|Disclose]] (<syntaxhighlight lang=apl inline>></syntaxhighlight>)<ref>[[IPSA]]. [https://archive.org/details/sharp-apl-release-20.0-guide-for-apl-programmers "SHARP APL Release 20.0: Guide for APL Programmers"].</ref>
|}
|}


Line 136: Line 136:
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || ∞ || [[Conditional enclose]]        || ∞ ∞ || [[Link]]
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || ∞ || [[Conditional enclose]]        || ∞ ∞ || [[Link]]
|-
|-
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Disclose]]                    ||    || See [[#Scalar|Scalar]]
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Mix|Disclose]]                    ||    || See [[#Scalar|Scalar]]
|-
|-
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]]                      || ∞ ∞ || [[Catenate]]
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]]                      || ∞ ∞ || [[Catenate]]
Line 182: Line 182:
| <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight>  || <syntaxhighlight lang=apl inline>n  n</syntaxhighlight>  ||colspan=2| [[Rank operator|Rank]]
| <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight>  || <syntaxhighlight lang=apl inline>n  n</syntaxhighlight>  ||colspan=2| [[Rank operator|Rank]]
|-
|-
| <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[Cut operator|Cut]]
| <syntaxhighlight lang=apl inline>⍤</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[Cut]]
|-
|-
| <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| Upon ([[close Atop]])
| <syntaxhighlight lang=apl inline>⍥</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| Upon ([[close Atop]])
|-
|-
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[close Under|Under]]
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg mg</syntaxhighlight> ||colspan=2| [[close Under|Dual]]
|-
|-
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> ||                                        ||rowspan="2"|With ([[Bind]])    ||
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>mg</syntaxhighlight> ||                                        ||rowspan="2"|With ([[Bind]])    ||
Line 192: Line 192:
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>mf</syntaxhighlight> ||                                        ||
| <syntaxhighlight lang=apl inline>¨</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>n</syntaxhighlight> || <syntaxhighlight lang=apl inline>mf</syntaxhighlight> ||                                        ||
|-
|-
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>2</syntaxhighlight>  || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight>  || [[Alternant]]                   || [[Inner Product]]
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> || <syntaxhighlight lang=apl inline>2</syntaxhighlight>  || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight>  || [[Determinant]]                 || [[Inner Product]]
|-
|-
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight>  ||                                || [[Tie]], [[Outer Product]]
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight>  ||                                || [[Outer Product]]
|-
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>mf</syntaxhighlight> ||                                        || [[Ply]]                        ||
|}
|}


Line 287: Line 285:
| 35 || 1980-08-15 ||  ||            || Peter Wooster        || Extended [[Grade|Upgrade and Downgrade]]
| 35 || 1980-08-15 ||  ||            || Peter Wooster        || Extended [[Grade|Upgrade and Downgrade]]
|-
|-
| 36 || 1980-04-20 ||  ||            || [[Ken Iverson]]      || [[Direct definition|Direct Definition]]
| 36 || 1980-04-20 ||  ||            || [[Ken Iverson]]      || [[Direct definition (notation)|Direct Definition]]
|-
|-
| 37 ||            || 1 || 1982-06-01 || John D. Burger      || IBM 3270 User Guide
| 37 ||            || 1 || 1982-06-01 || John D. Burger      || IBM 3270 User Guide
3

edits

Navigation menu