Operators and Functions: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "<source" to "<syntaxhighlight") |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
Line 5: | Line 5: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline><</ | | <syntaxhighlight lang=apl inline><</syntaxhighlight> || [[Enclose]] || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>></ | | <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Disclose]] || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>∪</ | | <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || [[Nub]] || [[Union]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>∩</ | | <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || Ordered Nub || [[Intersection]] | ||
|- | |- | ||
| <math>\cup\!\!\!\!-</math> || Distribution || | | <math>\cup\!\!\!\!-</math> || Distribution || | ||
Line 17: | Line 17: | ||
| <math>\cap\!\!\!\!-</math> || Ordered Distribution || | | <math>\cap\!\!\!\!-</math> || Ordered Distribution || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>~</ | | <syntaxhighlight lang=apl inline>~</syntaxhighlight> || || [[Set Difference]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⊆</ | | <syntaxhighlight lang=apl inline>⊆</syntaxhighlight> || Inclusion || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⊇</ | | <syntaxhighlight lang=apl inline>⊇</syntaxhighlight> || Inclusion || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⊂</ | | <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || Strict inclusion || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⊃</ | | <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Strict inclusion || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>⌷</ | | <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> || Indexing || | ||
|} | |} | ||
Line 34: | Line 34: | ||
! Syntax !! Monadic call !! Dyadic call | ! Syntax !! Monadic call !! Dyadic call | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍣B</ | | <syntaxhighlight lang=apl inline>f⍣B</syntaxhighlight> || [[Power (operator)|Power]] || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍣∘</ | | <syntaxhighlight lang=apl inline>f⍣∘</syntaxhighlight> || Identity function (e.g. <syntaxhighlight lang=apl inline>+</syntaxhighlight> to <syntaxhighlight lang=apl inline>×</syntaxhighlight>) || | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍨</ | | <syntaxhighlight lang=apl inline>f⍨</syntaxhighlight> || || [[Commute]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>̈∆</ | | <syntaxhighlight lang=apl inline>̈∆</syntaxhighlight> ||colspan=2| Domain | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍤a</ | | <syntaxhighlight lang=apl inline>f⍤a</syntaxhighlight> ||colspan=2| Nuax | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍥a</ | | <syntaxhighlight lang=apl inline>f⍥a</syntaxhighlight> ||colspan=2| Coax | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍢g</ | | <syntaxhighlight lang=apl inline>f⍢g</syntaxhighlight> ||colspan=2| [[Dual]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f¨g</ | | <syntaxhighlight lang=apl inline>f¨g</syntaxhighlight> ||colspan=2| [[Over|Composition]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f/</ | | <syntaxhighlight lang=apl inline>f/</syntaxhighlight> || || (Windowed) [[Windowed Reduction|Reduction]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f\</ | | <syntaxhighlight lang=apl inline>f\</syntaxhighlight> || || (Windowed) Scan | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⌿</ | | <syntaxhighlight lang=apl inline>f⌿</syntaxhighlight> || || (Windowed) [[Windowed Reduction|Reduction]] | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f⍀</ | | <syntaxhighlight lang=apl inline>f⍀</syntaxhighlight> || || (Windowed) Scan | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>f∆</ | | <syntaxhighlight lang=apl inline>f∆</syntaxhighlight> || Derivative || Difference | ||
|- | |- | ||
| <syntaxhighlight lang=apl inline>̄:</ | | <syntaxhighlight lang=apl inline>̄:</syntaxhighlight> ||colspan=2| [[Variant]] | ||
|- | |- | ||
| <math>\vee\!\!\!\!\wedge</math> || || Boolean | | <math>\vee\!\!\!\!\wedge</math> || || Boolean |
Latest revision as of 22:27, 10 September 2022
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 |
---|---|---|
< |
Enclose | |
> |
Disclose | |
∪ |
Nub | Union |
∩ |
Ordered Nub | Intersection |
Distribution | ||
Ordered Distribution | ||
~ |
Set Difference | |
⊆ |
Inclusion | |
⊇ |
Inclusion | |
⊂ |
Strict inclusion | |
⊃ |
Strict inclusion | |
⌷ |
Indexing |
Operators:
Syntax | Monadic call | Dyadic call |
---|---|---|
f⍣B |
Power | |
f⍣∘ |
Identity function (e.g. + to × ) |
|
f⍨ |
Commute | |
̈∆ |
Domain | |
f⍤a |
Nuax | |
f⍥a |
Coax | |
f⍢g |
Dual | |
f¨g |
Composition | |
f/ |
(Windowed) Reduction | |
f\ |
(Windowed) Scan | |
f⌿ |
(Windowed) Reduction | |
f⍀ |
(Windowed) Scan | |
f∆ |
Derivative | Difference |
̄: |
Variant | |
Boolean |
External links
- Jsoftware: Operators and Functions (digitised)
APL dialects [edit] | |
---|---|
Maintained | APL+Win ∙ APL2 ∙ APL64 ∙ APL\iv ∙ Aplette ∙ April ∙ Co-dfns ∙ Dyalog APL ∙ Dyalog APL Vision ∙ dzaima/APL ∙ GNU APL ∙ Kap ∙ NARS2000 ∙ Pometo ∙ TinyAPL |
Historical | A Programming Language ∙ A+ (A) ∙ APL# ∙ APL2C ∙ APL\360 ∙ APL/700 ∙ APL\1130 ∙ APL\3000 ∙ APL.68000 ∙ APL*PLUS ∙ APL.jl ∙ APL.SV ∙ APLX ∙ Extended Dyalog APL ∙ Iverson notation ∙ IVSYS/7090 ∙ NARS ∙ ngn/apl ∙ openAPL ∙ Operators and Functions ∙ PAT ∙ Rowan ∙ SAX ∙ SHARP APL ∙ Rationalized APL ∙ VisualAPL (APLNext) ∙ VS APL ∙ York APL |
Derivatives | AHPL ∙ BQN ∙ CoSy ∙ ELI ∙ Glee ∙ I ∙ Ivy ∙ J ∙ Jelly ∙ K (Goal, Klong, Q) ∙ KamilaLisp ∙ Lang5 ∙ Lil ∙ Nial ∙ RAD ∙ Uiua |
Overviews | Comparison of APL dialects ∙ Timeline of array languages ∙ Timeline of influential array languages ∙ Family tree of array languages |