2,963
edits
m (Remove <ref> for Operators and Functions, since there's a page link) |
mNo edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
| array model = [[nested array model|nested]] | | array model = [[nested array model|nested]] | ||
| index origin = 0 or 1 | | index origin = 0 or 1 | ||
| function styles = [[defined function]]s, [[direct definition ( | | function styles = [[defined function]]s, [[direct definition (operator)]] | ||
| numeric types = | | numeric types = | ||
| unicode support = no | | unicode support = no | ||
Line 12: | Line 12: | ||
| operating systems = | | operating systems = | ||
| documentation = [http://www.sudleyplace.com/APL/Nested%20Arrays%20System.pdf Reference manual] | | documentation = [http://www.sudleyplace.com/APL/Nested%20Arrays%20System.pdf Reference manual] | ||
| influenced by = [[APL*PLUS]], [[Iverson notation]] | | influenced by = [[APL*PLUS]], [[Operators and Functions]], [[Iverson notation]] | ||
| influenced = [[Dyalog APL]], [[APL2]], [[NARS2000]] | | influenced = [[Dyalog APL]], [[APL2]], [[NARS2000]] | ||
}} | }} | ||
Line 20: | Line 20: | ||
== Primitives == | == Primitives == | ||
NARS was an extension of [[APL*PLUS]], which used the [[APL.SV]] primitive set, except for [[Execute]] (< | NARS was an extension of [[APL*PLUS]], which used the [[APL.SV]] primitive set, except for [[Execute]] (<syntaxhighlight lang=apl inline>⍎</syntaxhighlight>). Only new primitives are shown here, with existing cases in parentheses. | ||
=== Functions === | === Functions === | ||
Line 27: | Line 27: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || [[Enclose]] || [[Partitioned Enclose]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Disclose or [[First]] || [[Pick]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⊤</syntaxhighlight> || [[Type]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≡</syntaxhighlight> || [[Simple (NARS)]] || [[Equivalent]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>≢</syntaxhighlight> || [[Not-Simple]] || [[Inequivalent]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↓</syntaxhighlight> || [[Split]] || ([[Drop]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>↑</syntaxhighlight> || [[Mix]] || ([[Take]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || [[Unique]] || [[Union]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || || [[Set Difference]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || || [[Intersection]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>⍪</syntaxhighlight> || || [[Catenate]] along the First Dimension | ||
|} | |} | ||
Line 57: | Line 57: | ||
! Syntax !! Monadic call !! Dyadic call | ! Syntax !! Monadic call !! Dyadic call | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f/</syntaxhighlight> || ([[Reduction]]) || Dyadic Reduction ([[Windowed Reduction]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f\</syntaxhighlight> || ([[Scan]]) || Dyadic Scan | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f¨</syntaxhighlight> ||colspan=2| [[Each]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f⍨</syntaxhighlight> || || [[Commute]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f⍣B</syntaxhighlight> || [[Power (operator)|Power]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f⍣∘</syntaxhighlight> || [[Power Limit]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f⍣∘</syntaxhighlight> || [[Power Series (operator)|Power Series]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f∘g</syntaxhighlight> ||colspan=2| Composition ([[Beside]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A∘g</syntaxhighlight> ||rowspan=2| Composition ([[Bind]]) || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f∘B</syntaxhighlight> || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>f⍢g</syntaxhighlight> ||colspan=2| [[Dual]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∘.g</syntaxhighlight> || Function Table || ([[Outer Product]]) | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A⍡</syntaxhighlight> || || [[Convolution operator]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A∘/</syntaxhighlight> || || [[Mask]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A∘\</syntaxhighlight> || || [[Mesh]] | ||
|- | |- | ||
!colspan=3| [[Direct definition ( | !colspan=3| [[Direct definition (operator)|Direct definition]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>∘∇B</syntaxhighlight> || [[Monadic]] || | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A∇∘</syntaxhighlight> || || [[Dyadic]] | ||
|- | |- | ||
| < | | <syntaxhighlight lang=apl inline>A∇B</syntaxhighlight> ||colspan=2| [[Ambivalent]] | ||
|} | |} | ||
Line 100: | Line 100: | ||
* [[Stranding]] and [[stranded assignment]] syntax were added. | * [[Stranding]] and [[stranded assignment]] syntax were added. | ||
* The primitive array [[Zilde]] was introduced. | * The primitive array [[Zilde]] was introduced. | ||
* The assignment arrow < | * The assignment arrow <syntaxhighlight lang=apl inline>←</syntaxhighlight> with nothing to the left was used to indicate [[Sink]], which prevented display of a value. | ||
* [[Defined function]]s were extended to allow an ambivalent case. | * [[Defined function]]s were extended to allow an ambivalent case. | ||
* [[Choose indexing]] was added. | * [[Choose indexing]] was added. |