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.
(Partial release table)
m (Replaced legacy website link to York University Computer Museum with the current one.)
 
(19 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
! Number !! Released !! Features
! Number !! Released !! Features
|-
|-
|        || 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
|        || 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>
|-
|-
|        || 1982-05  || Generalized [[determinant]] (<syntaxhighlight lang=apl inline>.</syntaxhighlight>); debugging and formatting improvements
|        || 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-11 || [[Complex Floor]], Ceiling, and Residue; reference-counted implementation
|        || 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>
|-
|-
| 15    || 1983-05 || [[Rank operator]] and [[Function rank]]; [[Lev]] (<syntaxhighlight lang=apl inline>⊣</syntaxhighlight>), [[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>
|       || 1982-11 || [[Complex Floor]], Ceiling, and Residue; reference-counted implementation<ref>IPSA Newsletter November/December 1982 ([https://www.snakeisland.com/IPSANewsletter_1982_11_12.pdf pdf])</ref>
|-
|-
| 17     || 1985-01 ||
| 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>
|-
|-
| 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>
| 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
|-
|-
| 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>
| 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 [[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>
|}
|}


== Primitive functions ==
== Primitive functions ==


=== Arithmetic ===
The primitives shown here are those for SHARP APL around 1987, near the end of the decline of [[time-sharing]] APL. Some primitives from [[A Dictionary of APL]] were added after this, including [[Find|In]] (<syntaxhighlight lang=apl inline>⍷</syntaxhighlight>), [[Nubsieve]] (<syntaxhighlight lang=apl inline>≠</syntaxhighlight>), and [[Raze]] (<syntaxhighlight lang=apl inline>↓</syntaxhighlight>), and these appear in [[SAX]].


==== Scalar ====
=== Scalar ===


All scalar functions have rank zero.
All scalar functions have rank zero.
Line 54: Line 56:
! Glyph                              !! Monadic                !! Dyadic
! Glyph                              !! Monadic                !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]/Identity || [[Addition]]
| <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]                 || [[Addition]]
|-
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]]            || [[Subtraction]]
|-
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Signum]]            || [[Multiplication]]
|-
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]]        || [[Division]]
|-
|-
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]]       || [[Power function|Power]]
| <syntaxhighlight lang=apl inline>-</syntaxhighlight> || [[Negate]]                     || [[Subtraction]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Natural Logarithm]] || [[Logarithm|Base-⍺ Logarithm]]
| <syntaxhighlight lang=apl inline>×</syntaxhighlight> || [[Signum]]                     || [[Multiplication]]
|-
|-
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]]         || [[Residue]]
| <syntaxhighlight lang=apl inline>÷</syntaxhighlight> || [[Reciprocal]]                 || [[Division]]
|-
|-
| <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]]         || Out-Of/[[Combinations]]
| <syntaxhighlight lang=apl inline>*</syntaxhighlight> || [[Exponential]]               || [[Power (function)|Power]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Floor]]             || [[Minimum]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Natural Logarithm]]         || [[Logarithm|Base-⍺ Logarithm]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Ceiling]]           || [[Maximum]]
| <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]]                 || [[Residue]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Pi Times]]           || [[Circle functions]]
| <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]]                 || [[Binomial]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                       || [[And]]/Least Common Multiple (LCM)
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Floor]]                      || [[Minimum]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                       || [[Or]]/Greatest Common Divisor (GCD)
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Ceiling]]                    || [[Maximum]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                       || [[Nand]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || [[Pi Times]]                  || [[Circle functions]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                       || [[Nor]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[And]]/[[LCM]]
|-
|-
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]]               || See [[#Miscellaneous|Miscellaneous]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                                || [[Or]]/[[GCD]]
|-
|-
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]]              || See [[#Non-Scalar|Non-scalar]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[Nand]]
|}
 
==== Non-scalar ====
 
{| class=wikitable
! Glyph                          !! Rank !! Monadic              !! Ranks !! Dyadic
|-
| <syntaxhighlight lang=apl inline>⌹</syntaxhighlight> || 2 || [[Matrix inverse]]    || ∞ 2 || [[Matrix divide]]
|-
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> ||  || See [[#Scalar|Scalar]] || * * || [[Deal]]
|-
| <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> ||  ||                        || ∞ ∞ || [[Encode]]
|-
| <syntaxhighlight lang=apl inline>⊥</syntaxhighlight> ||  ||                        || ∞ ∞ || [[Decode]]
|}
 
=== Relational ===
 
{| class=wikitable
! Glyph                          !! Rank !! Monadic                            !! Ranks !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> ||   || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Equals]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[Nor]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Not Equals]]
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]]                       ||
|-
|-
| <syntaxhighlight lang=apl inline><</syntaxhighlight> ||   || See [[#Structural|Structural]]       || 0 0 || [[Less Than]]
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]]                       || See [[#Non-scalar|Non-scalar]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                      || 0 0 || [[Less Than or Equal]]
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> ||                               || [[Equals]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                      || 0 0 || [[Greater Than or Equal]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[Not Equals]]
|-
|-
| <syntaxhighlight lang=apl inline>></syntaxhighlight> ||  || See [[#Structural|Structural]]       || 0 0 || [[Greater Than]]
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || See [[#Non-scalar|Non-scalar]] || [[Less Than]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                      || ∞ ∞ || [[Match]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[Less Than or Equal]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                      || 0 ∞ || [[Membership]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||                               || [[Greater Than or Equal]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                      || ∞ ∞ || [[Find]]
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || See [[#Non-scalar|Non-scalar]] || [[Greater Than]]
|}
|}


=== Indexing ===
=== Non-scalar ===


{| class=wikitable
{| class=wikitable
! Glyph                          !! Rank !! Monadic                           !! Ranks !! Dyadic
! Glyph                          !! Rank !! Monadic             !! Ranks !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline>@</syntaxhighlight> ||   || See [[#Miscellaneous|Miscellaneous]] || 0 ∞ || [[Squad Index|From]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || 2 || [[Matrix inverse]]             || ∞ 2 || [[Matrix divide]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || 1 || [[Index Generator|Count]]           || 1 0 || [[Index Of]]
| <syntaxhighlight lang=apl inline>?</syntaxhighlight> ||   || See [[#Scalar|Scalar]]         || * * || [[Deal]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||  ||                                     || ∞ ∞ || [[Indices of Match|Index]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||  ||                                 || ∞ ∞ || [[Encode]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || Numeric [[Grade up]]                || ∞ ∞ || Character [[Grade up]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                 || ∞ ∞ || [[Decode]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || Numeric [[Grade down]]              || ∞ ∞ || Character [[Grade down]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                 || ∞ ∞ || [[Match]]
|}
 
=== Structural ===
 
{| class=wikitable
! Glyph                          !! Rank !! Monadic                                !! Ranks !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Shape|Shape of]]                        || 1 ∞ || [[Reshape]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                 || 0 ∞ || [[Membership]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   || See [[#Miscellaneous|Miscellaneous]]     || 1 || [[Take]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || 1 || [[Index Generator|Count]]       || 1 0 || [[Index Of]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Raze]]                                 || 1 ∞ || [[Drop]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || Numeric [[Grade up]]           || ∞ || Character [[Grade up]]
|-
|-
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || ∞ || [[Enclose]]/Box                          ||     || See [[#Relational|Relational]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || Numeric [[Grade down]]         || ∞ ∞ || Character [[Grade down]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Enclose if simple|Conditional Enclose]] || ∞ || [[Link]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Shape|Shape of]]             || 1 ∞ || [[Reshape]]
|-
|-
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Disclose]]/Open                        ||     || See [[#Relational|Relational]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                 || 1 ∞ || [[Take]]
|-
|-
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || || [[Ravel]]                                 || ∞ || [[Catenate]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> ||   ||                                || 1 ∞ || [[Drop]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Table]]                                 || ∞ ∞ || [[Catenate First|Catenate-Down]]
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || ∞ || [[Enclose]]                     ||     || See [[#Scalar|Scalar]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || 1 || [[Reverse]]                               || 0 1 || [[Rotate]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || [[Conditional enclose]]         || ∞ ∞ || [[Link]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || [[Reverse First|Reverse-Down]]           || ∞ ∞ || [[Rotate First|Rotate-Down]]
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Mix|Disclose]]                   ||     || See [[#Scalar|Scalar]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || Monadic [[Transpose]]                     || 0 ∞ || Dyadic [[Transpose]]
| <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]]                       || ∞ || [[Catenate]]
|}
 
=== Miscellaneous ===
 
{| class=wikitable
! Glyph                          !! Rank !! Monadic                !! Ranks !! Dyadic
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Stop]]                 || ∞ ∞ || [[Left Identity|Left]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Table]]                       || ∞ ∞ || [[Catenate First]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || [[Identity|Pass]]         || ∞ ∞ || [[Right Identity|Right]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || 1 || [[Reverse]]                     || 0 1 || [[Rotate]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Nubsieve]]             ||     || See [[#Relational|Relational]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Reverse First]]               || ∞ ∞ || [[Rotate First]]
|-
|-
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Nub]]                   ||     || See [[#Structural|Structural]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || Monadic [[Transpose]]           || 0 ∞ || Dyadic [[Transpose]]
|-
|-
| <syntaxhighlight lang=apl inline>=</syntaxhighlight> || ∞ || [[Nubin]]                 ||     || See [[#Relational|Relational]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || ∞ || [[Stop]]                       || ∞ ∞ || [[Left Identity|Left]]
|-
|-
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> ||   || See [[#Scalar|Scalar]]   || ∞ ∞ || [[Without|Less]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || [[Identity|Pass]]               || ∞ ∞ || [[Right Identity|Right]]
|-
|-
| <syntaxhighlight lang=apl inline>@</syntaxhighlight> || 1 || [[Cartesian Product|All]] ||     || See [[#Indexing|Indexing]]
| <syntaxhighlight lang=apl inline></syntaxhighlight> || || [[Monadic Format]]             || * ∞ || [[Dyadic Format]]
|-
|-
| <syntaxhighlight lang=apl inline>⍕</syntaxhighlight> || ∞ || [[Monadic Format]]        || * ∞ || [[Dyadic Format]]
| <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || * || [[Execute]]                     ||    ||
|-
| <syntaxhighlight lang=apl inline>⍎</syntaxhighlight> || * || [[Execute]]               ||    ||
|}
|}


Line 202: Line 164:
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Reduce]]                      ||
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Reduce]]                      ||
|-
|-
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Reduce First|Reduce-down]]   ||
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Reduce First]]               ||
|-
|-
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Scan]]                        ||
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Scan]]                        ||
|-
|-
| <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Scan First|Scan-down]]       ||
| <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Scan First]]                 ||
|-
|-
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Replicate|Copy]]/[[Compress]] ||
| <syntaxhighlight lang=apl inline>/</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Replicate]]                   ||
|-
|-
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Replicate|Copy]]-down/[[Compress]]-down ||
| <syntaxhighlight lang=apl inline>⌿</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Replicate First]]             ||
|-
|-
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Expand]]                      ||
| <syntaxhighlight lang=apl inline>\</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Expand]]                      ||
|-
|-
| <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Expand First|Expand-down]]   ||
| <syntaxhighlight lang=apl inline>⍀</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  ||                                        || [[Expand First]]               ||
|-
| <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  || <syntaxhighlight lang=apl inline>rf lf</syntaxhighlight> ||colspan=2| Swap
|-
| <syntaxhighlight lang=apl inline>&</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>f</syntaxhighlight> || <syntaxhighlight lang=apl inline>∞</syntaxhighlight>  || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight>  ||colspan=2| Select
|-
|-
| <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| On ([[close Over]])
| <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| On ([[close Over]])
Line 224: 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 234: 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|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|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]]                         ||
| <syntaxhighlight lang=apl inline>.</syntaxhighlight> || <syntaxhighlight lang=apl inline>m</syntaxhighlight> || <syntaxhighlight lang=apl inline>g</syntaxhighlight> ||                                    || <syntaxhighlight lang=apl inline>∞  ∞</syntaxhighlight> ||                                 || [[Outer Product]]
|}
|}


Line 329: 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
Line 354: Line 310:
|}
|}


== References ==
<references/>
{{APL dialects}}[[Category:APL dialects]][[Category:Flat array languages]][[Category:Leading axis languages]]
{{APL dialects}}[[Category:APL dialects]][[Category:Flat array languages]][[Category:Leading axis languages]]
3

edits

Navigation menu