4,577
edits
Miraheze>Marshall No edit summary |
m (Text replacement - "<source" to "<syntaxhighlight") |
||
(31 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox array language | {{Infobox array language | ||
| logo = [[File:Sharp APL logo.png]] | |||
| array model = [[Flat array model|flat]] with [[Box|boxes]] | | array model = [[Flat array model|flat]] with [[Box|boxes]] | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
| function styles = [[defined | | function styles = [[defined function]]s | ||
| numeric types = | | numeric types = [[complex]] floats | ||
| unicode support = none | | unicode support = none | ||
| released = around 1979 | | released = 1976 via [[time-sharing]]; around 1979 as a product | ||
| withdrawn = around 1993 | |||
| latest release = 002.140 / 1988 | |||
| platforms = S/370, x86 | |||
| operating systems = DOS/390, DOS, UNIX (AIX, Solaris), Linux | |||
| license = Free for personal use / Proprietary commercial software | |||
| developer = [[I.P. Sharp Associates]] | | developer = [[I.P. Sharp Associates]] | ||
| influenced by = [[APL\360]] | | influenced by = [[APL\360]] | ||
| influenced = [[J]], [[A+]], [[K]], [[Dyalog APL]] | | influenced = [[SAX]], [[J]], [[A+]], [[K]], [[Dyalog APL]], [[SHARP APL/HP]] | ||
| file ext = .saw, .saf, .sam | |||
| download = [http://www.sigapl.org/Archives/waterloo_archive/apl/sharp.apl/index.html SIGAPL] | |||
}} | }} | ||
[[File:Old SHARP APL.png|thumb|right|SHARP APL running under DOSBox]] | |||
'''SHARP APL''' | '''SHARP APL''' was an APL implementation offered by [[I.P. Sharp Associates]] (IPSA), originally as part of its [[time-sharing]] service and later as a stand-alone product. It was split off from [[STSC]]'s [[APL*PLUS]], which until then had been sold jointly by the two companies. SHARP APL was the source of many developments in [[flat array theory]], driven by [[Ken Iverson]] and other APL designers at IPSA. | ||
== Primitive functions == | == Primitive functions == | ||
Line 24: | Line 32: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>+</syntaxhighlight> || [[Conjugate]]/Identity || [[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> || [[Natural Logarithm]] || [[Logarithm|Base-⍺ Logarithm]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>|</syntaxhighlight> || [[Magnitude]] || [[Residue]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>!</syntaxhighlight> || [[Factorial]] || Out-Of/[[Combinations]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌊</syntaxhighlight> || [[Floor]] || [[Minimum]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌈</syntaxhighlight> || [[Ceiling]] || [[Maximum]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>○</syntaxhighlight> || [[Pi Times]] || [[Circle functions]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∧</syntaxhighlight> || || [[And]]/Least Common Multiple (LCM) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∨</syntaxhighlight> || || [[Or]]/Greatest Common Divisor (GCD) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍲</syntaxhighlight> || || [[Nand]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍱</syntaxhighlight> || || [[Nor]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || [[Not]] || See [[#Miscellaneous|Miscellaneous]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>?</syntaxhighlight> || [[Roll]] || See [[#Non-Scalar|Non-scalar]] | ||
|} | |} | ||
Line 64: | Line 72: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! 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]] | ||
|} | |} | ||
Line 78: | Line 86: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Equals]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 0 0 || [[Not Equals]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || || See [[#Structural|Structural]] || 0 0 || [[Less Than]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≤</syntaxhighlight> || || || 0 0 || [[Less Than or Equal]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≥</syntaxhighlight> || || || 0 0 || [[Greater Than or Equal]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || || See [[#Structural|Structural]] || 0 0 || [[Greater Than]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || || || ∞ ∞ || [[Match]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∊</syntaxhighlight> || || || 0 ∞ || [[Membership]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍷</syntaxhighlight> || || || ∞ ∞ || [[Find]] | ||
|} | |} | ||
Line 102: | Line 110: | ||
! 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> || 1 || [[Index Generator|Count]] || 1 0 || [[Index Of]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍸</syntaxhighlight> || || || ∞ ∞ || [[Indices of Match|Index]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍋</syntaxhighlight> || ∞ || Numeric [[Grade up]] || ∞ ∞ || Character [[Grade up]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍒</syntaxhighlight> || ∞ || Numeric [[Grade down]] || ∞ ∞ || Character [[Grade down]] | ||
|} | |} | ||
Line 118: | Line 126: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍴</syntaxhighlight> || ∞ || [[Shape|Shape of]] || 1 ∞ || [[Reshape]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || || See [[#Miscellaneous|Miscellaneous]] || 1 ∞ || [[Take]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || ∞ || [[Raze]] || 1 ∞ || [[Drop]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || ∞ || [[Enclose]]/Box || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || ∞ || [[Enclose if simple|Conditional Enclose]] || ∞ ∞ || [[Link]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || 0 || [[Disclose]]/Open || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>,</syntaxhighlight> || ∞ || [[Ravel]] || ∞ ∞ || [[Catenate]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || ∞ || [[Table]] || ∞ ∞ || [[Catenate First|Catenate-Down]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⌽</syntaxhighlight> || 1 || [[Reverse]] || 0 1 || [[Rotate]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊖</syntaxhighlight> || ∞ || [[Reverse First|Reverse-Down]] || ∞ ∞ || [[Rotate First|Rotate-Down]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍉</syntaxhighlight> || ∞ || Monadic [[Transpose]] || 0 ∞ || Dyadic [[Transpose]] | ||
|} | |} | ||
Line 146: | Line 154: | ||
! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ! Glyph !! Rank !! Monadic !! Ranks !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊣</syntaxhighlight> || ∞ || [[Stop]] || ∞ ∞ || [[Left Identity|Left]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊢</syntaxhighlight> || ∞ || [[Identity|Pass]] || ∞ ∞ || [[Right Identity|Right]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≠</syntaxhighlight> || ∞ || [[Nubsieve]] || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || ∞ || [[Nub]] || || See [[#Structural|Structural]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>=</syntaxhighlight> || ∞ || [[Nubin]] || || See [[#Relational|Relational]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || || See [[#Scalar|Scalar]] || ∞ ∞ || [[Without|Less]] | ||
|- | |- | ||
| < | | <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> || * || [[Execute]] || || | ||
|} | |} | ||
Line 170: | Line 178: | ||
! Glyph !!colspan=2|Operands !!colspan=2|Ranks !! Monadic Call !! Dyadic Call | ! Glyph !!colspan=2|Operands !!colspan=2|Ranks !! Monadic Call !! Dyadic Call | ||
|- | |- | ||
| < | | <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> || || [[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>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|Copy]]-down/[[Compress]]-down || | ||
|- | |- | ||
| < | | <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>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>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>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>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>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>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]] || | ||
|} | |} | ||
Line 215: | Line 223: | ||
=== Numeric types === | === Numeric types === | ||
SHARP | SHARP originally supported only real numbers using double (8-byte) precision. Numbers were stored in one of three types: | ||
* Boolean, with one bit per value | * Boolean, with one bit per value | ||
* Integer, with four bytes per value | * Integer, with four bytes per value | ||
* Floating, with eight bytes per value | * Floating, with eight bytes per value | ||
== | [https://www.jsoftware.com/papers/satn40.htm SATN-40] describes the addition of complex numbers to SHARP APL. | ||
== SHARP APL Technical Notes == | |||
Features of SHARP APL were documented in "technical notes" issued by IPSA. These notes are numbered following the scheme "SATN-0". Earlier notes typically had no author listed. A [https://www.jsoftware.com/papers/SATN.pdf pdf collection] of SHARP APL Technical Notes is hosted at jsoftware.com, as are html transcriptions of some notes, linked in the table below. | |||
{|class=wikitable | |||
! Number !! Issued !!colspan=2| Revised !! Author !! Title | |||
|- | |||
| 0 || 1976-01-01 || || || || SATN Introduction | |||
|- | |||
| 1 || 1976-01-01 || || || || TASKID | |||
|- | |||
| 2 || || 5 || 1979-02-14 || || Control Messages | |||
|- | |||
| 3 || 1976-01-01 || || || || ⎕OUT | |||
|- | |||
| 4 || || 2 || 1978-04-01 || || N-tasks and B-tasks | |||
|- | |||
| 5 || || 2 || 1978-08-01 || || Batch APL | |||
|- | |||
| 6 || 1976-01-01 || || || || [[Execute]] | |||
|- | |||
| 7 || 1976-01-01 || || || || Latent Expression | |||
|- | |||
| 8 || || 2 || 1978-03-01 || || HSPRINT | |||
|- | |||
| 9 || || 1 || 1979-08-01 || John D. Burger || Usage Inquiry System | |||
|- | |||
| 10 || || 2 || 1978-06-01 || || SORTREQ | |||
|- | |||
| 11 || 1976-01-01 || || || || )RESET | |||
|- | |||
| 12 || 1976-01-01 || || || || )COPY | |||
|- | |||
| 13 || 1978-03-10 || || || || Early Warnings | |||
|- | |||
| 14 || || 2 || 1978-08-15 || || Package - A New Variable Type | |||
|- | |||
| 15 || || || || || Index | |||
|- | |||
| 16 || 1976-04-20 || || || || File System Must-Write Buffers | |||
|- | |||
| 17 || 1976-06-01 || || || || Formatting Primitive | |||
|- | |||
| 18 || 1976-07-01 || || || || ⎕FMT | |||
|- | |||
| 19 || 1977-01-01 || || || || Fileprint | |||
|- | |||
| 20 || || 4 || 1978-06-01 || || System Variables, Session Variables and System Functions | |||
|- | |||
| 21 || || 1 || 1978-06-01 || || ⎕WS and ⎕FD | |||
|- | |||
| 22 || || 2 || 1979-01-01 || [[Bob Bernecky]] and Mike Symes || APL Worspace Transfer | |||
|- | |||
| 23 || 1977-06-10 || 1 || 1978-07-15 || [[Bob Bernecky]] || [[Comparison tolerance|Comparison Tolerance]] ([https://www.jsoftware.com/papers/satn23.htm web]) | |||
|- | |||
| 24 || 1977-03-23 || || || || Symbol Table | |||
|- | |||
| 25 || 1977-05-15 || || || || Extensions to Argument Passing | |||
|- | |||
| 26 || 1977-09-10 || || || || Enhancements to the File System | |||
|- | |||
| 28 || 1977-07-11 || || || || Terminal Control | |||
|- | |||
| 29 || 1978-06-15 || || || || System Time and Timestamps | |||
|- | |||
| 30 || 1979-01-01 || || || || Numeric Display | |||
|- | |||
| 31 || 1979-02-01 || || || || [[Line editor|Line Editing]] in SHARP APL | |||
|- | |||
| 32 || 1979-03-30 || || || || Shared Variables | |||
|- | |||
| 33 || 1979-03-26 || || || || Event Trapping | |||
|- | |||
| 34 || 1980-08-15 || || || [[Bob Bernecky]] || [[Replicate|Replication]] | |||
|- | |||
| 35 || 1980-08-15 || || || Peter Wooster || Extended [[Grade|Upgrade and Downgrade]] | |||
|- | |||
| 36 || 1980-04-20 || || || [[Ken Iverson]] || [[Direct definition|Direct Definition]] | |||
|- | |||
| 37 || || 1 || 1982-06-01 || John D. Burger || IBM 3270 User Guide | |||
|- | |||
| 39 || 1981-06-01 || || || [[Richard Lathwell]] || [https://www.jsoftware.com/papers/satn39.htm The SHARP APL S-task Interface] | |||
|- | |||
| 40 || 1981-06-20 || || || [[Eugene McDonnell]] || [[Complex number|Complex Numbers]] ([https://www.jsoftware.com/papers/satn40.htm web]) | |||
|- | |||
| 41 || 1981-06-20 || || || [[Ken Iverson]] || [[Close composition|Composition]] and [[Box function|Enclosure]] ([https://www.jsoftware.com/papers/satn41.htm web]) | |||
|- | |||
| 42 || 1982-04-01 || || || [[Ken Iverson]] || [[Determinant]]-Like Functions Produced by the Dot-Operator ([https://www.jsoftware.com/papers/satn42.htm web]) | |||
|- | |||
| 43 || 1982-11-05 || || || Peter Wooster || Improved Display for Enclosed Arrays and a New System Variable ⎕PS | |||
|- | |||
| 44 || 1983-04-02 || || || Robert C. Metzger || Enhancements to Event Handling | |||
|- | |||
| 45 || 1983-05-02 || || || Various || [https://www.jsoftware.com/papers/satn45.htm Language Extensions of May 1983] | |||
|- | |||
| 46 || 1983-08-05 || || || [[Eric Iverson]] || Enhancements Provided in Update #1 to the May 1983 Release of SHARP APL | |||
|- | |||
| 47 || 1983-10-01 || || || Mike Symes || IBM 3270 User Guide (IDSH) | |||
|- | |||
| 48 || 1983-11-30 || || || John D. Burger || Workspace 1 HCPRINT | |||
|} | |||
[ | {{APL dialects}}[[Category:APL dialects]][[Category:Flat array languages]][[Category:Leading axis languages]] |