Operators and Functions: Difference between revisions
Jump to navigation
Jump to search
(Introduction) |
m (Text replacement - "</source>" to "</syntaxhighlight>") |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Operators and Functions''' is a research report published by [[Ken Iverson]] in 1978, collecting a set of [[operator]]s and [[function]]s 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. | '''Operators and Functions''' is a research report published by [[Ken Iverson]] in 1978, collecting a set of [[operator]]s and [[function]]s 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: | |||
{|class=wikitable | |||
! Glyph !! Monadic !! Dyadic | |||
|- | |||
| <syntaxhighlight lang=apl inline><</syntaxhighlight> || [[Enclose]] || | |||
|- | |||
| <syntaxhighlight lang=apl inline>></syntaxhighlight> || [[Disclose]] || | |||
|- | |||
| <syntaxhighlight lang=apl inline>∪</syntaxhighlight> || [[Nub]] || [[Union]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>∩</syntaxhighlight> || Ordered Nub || [[Intersection]] | |||
|- | |||
| <math>\cup\!\!\!\!-</math> || Distribution || | |||
|- | |||
| <math>\cap\!\!\!\!-</math> || Ordered Distribution || | |||
|- | |||
| <syntaxhighlight lang=apl inline>~</syntaxhighlight> || || [[Set Difference]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>⊆</syntaxhighlight> || Inclusion || | |||
|- | |||
| <syntaxhighlight lang=apl inline>⊇</syntaxhighlight> || Inclusion || | |||
|- | |||
| <syntaxhighlight lang=apl inline>⊂</syntaxhighlight> || Strict inclusion || | |||
|- | |||
| <syntaxhighlight lang=apl inline>⊃</syntaxhighlight> || Strict inclusion || | |||
|- | |||
| <syntaxhighlight lang=apl inline>⌷</syntaxhighlight> || Indexing || | |||
|} | |||
Operators: | |||
{|class=wikitable | |||
! Syntax !! Monadic call !! Dyadic call | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⍣B</syntaxhighlight> || [[Power (operator)|Power]] || | |||
|- | |||
| <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> || || [[Commute]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>̈∆</syntaxhighlight> ||colspan=2| Domain | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⍤a</syntaxhighlight> ||colspan=2| Nuax | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⍥a</syntaxhighlight> ||colspan=2| Coax | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⍢g</syntaxhighlight> ||colspan=2| [[Dual]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>f¨g</syntaxhighlight> ||colspan=2| [[Over|Composition]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>f/</syntaxhighlight> || || (Windowed) [[Windowed Reduction|Reduction]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>f\</syntaxhighlight> || || (Windowed) Scan | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⌿</syntaxhighlight> || || (Windowed) [[Windowed Reduction|Reduction]] | |||
|- | |||
| <syntaxhighlight lang=apl inline>f⍀</syntaxhighlight> || || (Windowed) Scan | |||
|- | |||
| <syntaxhighlight lang=apl inline>f∆</syntaxhighlight> || Derivative || Difference | |||
|- | |||
| <syntaxhighlight lang=apl inline>̄:</syntaxhighlight> ||colspan=2| [[Variant]] | |||
|- | |||
| <math>\vee\!\!\!\!\wedge</math> || || Boolean | |||
|} | |||
== External links == | == External links == | ||
* [[Jsoftware]]: [https://www.jsoftware.com/papers/opfns.htm Operators and Functions] (digitised) | * [[Jsoftware]]: [https://www.jsoftware.com/papers/opfns.htm Operators and Functions] (digitised) | ||
{{APL dialects}}[[Category:Iverson designs]] | {{APL dialects}}[[Category:Iverson designs]] |
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 |