Operators and Functions

From APL Wiki
Revision as of 22:12, 10 September 2022 by Adám Brudzewsky (talk | contribs) (Text replacement - "<source" to "<syntaxhighlight")
Jump to navigation Jump to search

Operators and Functions is a research report published by Ken Iverson in 1978, collecting a set of operators and functions he had developed over the preceding years. Released two years before Iverson left IBM for I.P. Sharp over differences regarding the direction of APL, it offers precursors for many of the ideas later developed in SHARP APL. Its primitives were used more directly in NARS, which influenced Dyalog APL and in this way shaped much of present-day APL development.

Functions:

Glyph Monadic Dyadic
<syntaxhighlight lang=apl inline><</source> Enclose
<syntaxhighlight lang=apl inline>></source> Disclose
<syntaxhighlight lang=apl inline>∪</source> Nub Union
<syntaxhighlight lang=apl inline>∩</source> Ordered Nub Intersection
Distribution
Ordered Distribution
<syntaxhighlight lang=apl inline>~</source> Set Difference
<syntaxhighlight lang=apl inline>⊆</source> Inclusion
<syntaxhighlight lang=apl inline>⊇</source> Inclusion
<syntaxhighlight lang=apl inline>⊂</source> Strict inclusion
<syntaxhighlight lang=apl inline>⊃</source> Strict inclusion
<syntaxhighlight lang=apl inline>⌷</source> Indexing

Operators:

Syntax Monadic call Dyadic call
<syntaxhighlight lang=apl inline>f⍣B</source> Power
<syntaxhighlight lang=apl inline>f⍣∘</source> Identity function (e.g. <syntaxhighlight lang=apl inline>+</source> to <syntaxhighlight lang=apl inline>×</source>)
<syntaxhighlight lang=apl inline>f⍨</source> Commute
<syntaxhighlight lang=apl inline>̈∆</source> Domain
<syntaxhighlight lang=apl inline>f⍤a</source> Nuax
<syntaxhighlight lang=apl inline>f⍥a</source> Coax
<syntaxhighlight lang=apl inline>f⍢g</source> Dual
<syntaxhighlight lang=apl inline>f¨g</source> Composition
<syntaxhighlight lang=apl inline>f/</source> (Windowed) Reduction
<syntaxhighlight lang=apl inline>f\</source> (Windowed) Scan
<syntaxhighlight lang=apl inline>f⌿</source> (Windowed) Reduction
<syntaxhighlight lang=apl inline>f⍀</source> (Windowed) Scan
<syntaxhighlight lang=apl inline>f∆</source> Derivative Difference
<syntaxhighlight lang=apl inline>̄:</source> Variant
Boolean

External links

APL dialects [edit]
Maintained APL+WinAPL2APL64APL\ivApletteAprilCo-dfnsDyalog APLDyalog APL Visiondzaima/APLGNU APLKapNARS2000PometoTinyAPL
Historical A Programming LanguageA+ (A) ∙ APL#APL2CAPL\360APL/700APL\1130APL\3000APL.68000APL*PLUSAPL.jlAPL.SVAPLXExtended Dyalog APLIverson notationIVSYS/7090NARSngn/aplopenAPLOperators and FunctionsPATRowanSAXSHARP APLRationalized APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNCoSyELIGleeIIvyJJellyK (Goal, Klong, Q) ∙ KamilaLispLang5LilNialRADUiua
Overviews Comparison of APL dialectsTimeline of array languagesTimeline of influential array languagesFamily tree of array languages