APL.SV: Difference between revisions
(Created page with "{{Infobox array language | array model = flat without boxes | index origin = <source lang=apl inline>⎕IO</source>0 or 1...") |
(→Functions: Use table from GH20-0906-1) |
||
Line 27: | Line 27: | ||
! Glyph !! Monadic !! Dyadic | ! Glyph !! Monadic !! Dyadic | ||
|- | |- | ||
| <source lang=apl inline>+</source> || [[ | | <source lang=apl inline>+</source> || Plus ([[Identity]]) || [[Plus]] | ||
|- | |- | ||
| <source lang=apl inline>-</source> || [[Negate|Negative]] || [[Subtract|Minus]] | | <source lang=apl inline>-</source> || [[Negate|Negative]] || [[Subtract|Minus]] | ||
Line 35: | Line 35: | ||
| <source lang=apl inline>÷</source> || [[Reciprocal]] || [[Divide]] | | <source lang=apl inline>÷</source> || [[Reciprocal]] || [[Divide]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⌈</source> || [[Ceiling]] || [[Maximum]] | ||
|- | |- | ||
| <source lang=apl inline>⌊</source> || [[Floor]] || [[Minimum]] | | <source lang=apl inline>⌊</source> || [[Floor]] || [[Minimum]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>*</source> || [[Exponential]] || [[Power]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⍟</source> || [[Natural logarithm]] || [[Logarithm]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>|</source> || [[Magnitude]] || [[Residue]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>!</source> || [[Factorial]] || [[Binomial coefficient]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>?</source> || [[Roll]] || [[Deal]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>○</source> || [[Pi times]] || [[Circle function|Circular]] | ||
|- | |- | ||
| <source lang=apl inline>~</source> || [[Not]] || | | <source lang=apl inline>~</source> || [[Not]] || | ||
Line 73: | Line 73: | ||
| <source lang=apl inline>≠</source> || || [[Not equal]] | | <source lang=apl inline>≠</source> || || [[Not equal]] | ||
|- | |- | ||
| <source lang=apl inline>⍴</source> || [[Shape| | | <source lang=apl inline>⍴</source> || [[Shape|Size]] || [[Reshape]] | ||
|- | |- | ||
| <source lang=apl inline>,</source> || [[Ravel]] || [[Catenate | | <source lang=apl inline>,</source> || [[Ravel]] || [[Catenate]], [[Laminate]] (allows axis) | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>[]</source>|| || [[Indexing|Index]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⍳</source> || [[Index generator]] || [[Index of]] | ||
| | |||
|- | |- | ||
| <source lang=apl inline>↑</source> || || [[Take]] | | <source lang=apl inline>↑</source> || || [[Take]] | ||
|- | |- | ||
| <source lang=apl inline>↓</source> || || [[Drop]] | | <source lang=apl inline>↓</source> || || [[Drop]] | ||
|- | |||
| <source lang=apl inline>⍋</source> || [[Grade up]] (allows axis) || | |||
|- | |||
| <source lang=apl inline>⍒</source> || [[Grade down]] (allows axis) || | |||
|- | |- | ||
| <source lang=apl inline>/</source> || ||rowspan=2| [[Compress]]<br>(allows axis) | | <source lang=apl inline>/</source> || ||rowspan=2| [[Compress]]<br>(allows axis) | ||
Line 95: | Line 97: | ||
| <source lang=apl inline>⍀</source> || | | <source lang=apl inline>⍀</source> || | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⌽</source> ||rowspan=2| [[Reverse]]<br>(allows axis) ||rowspan=2| [[Rotate]]<br>(allows axis) | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⊖</source> | ||
|- | |||
| <source lang=apl inline>⍉</source> ||colspan=2| [[Transpose]] | |||
|- | |- | ||
| <source lang=apl inline>∊</source> || || [[Membership]] | | <source lang=apl inline>∊</source> || || [[Membership]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⊥</source> || || [[Decode]] | ||
|- | |- | ||
| <source lang=apl inline> | | <source lang=apl inline>⊤</source> || || [[Encode]] | ||
|- | |- | ||
| <source lang=apl inline>⌹</source> || [[Matrix inverse]] || [[Matrix division]] | | <source lang=apl inline>⌹</source> || [[Matrix inverse]] || [[Matrix division]] | ||
|- | |- | ||
| <source lang=apl inline>⍎</source> || || [[Execute]] | | <source lang=apl inline>⍎</source> || || [[Execute]] |
Revision as of 09:38, 16 April 2020
APL.SV, "APL with Shared Variables", was an enhancement to APL\360 released by IBM in 1973. As the name suggests, APL.SV introduced the concept of a shared variable which could be used by multiple processes. It also included system variables as a kind of shared variable, and system functions. APL.SV also introduced the Format and Execute functions, and the Scan operator.
|
Primitives
Functions
Glyph | Monadic | Dyadic |
---|---|---|
+ |
Plus (Identity) | Plus |
- |
Negative | Minus |
× |
Signum | Times |
÷ |
Reciprocal | Divide |
⌈ |
Ceiling | Maximum |
⌊ |
Floor | Minimum |
* |
Exponential | Power |
⍟ |
Natural logarithm | Logarithm |
| |
Magnitude | Residue |
! |
Factorial | Binomial coefficient |
? |
Roll | Deal |
○ |
Pi times | Circular |
~ |
Not | |
∧ |
And | |
∨ |
Or | |
⍲ |
Nand | |
⍱ |
Nor | |
< |
Less | |
≤ |
Not greater | |
= |
Equal | |
≥ |
Not less | |
> |
Greater | |
≠ |
Not equal | |
⍴ |
Size | Reshape |
, |
Ravel | Catenate, Laminate (allows axis) |
[] |
Index | |
⍳ |
Index generator | Index of |
↑ |
Take | |
↓ |
Drop | |
⍋ |
Grade up (allows axis) | |
⍒ |
Grade down (allows axis) | |
/ |
Compress (allows axis) | |
⌿ |
||
\ |
Expand (allows axis) | |
⍀ |
||
⌽ |
Reverse (allows axis) |
Rotate (allows axis) |
⊖
| ||
⍉ |
Transpose | |
∊ |
Membership | |
⊥ |
Decode | |
⊤ |
Encode | |
⌹ |
Matrix inverse | Matrix division |
⍎ |
Execute | |
⍕ |
Monadic format | Dyadic format |
Operators
Glyph | Valence | Monadic call | Dyadic call |
---|---|---|---|
/ |
Monadic | Reduction (allows axis) |
|
⌿ |
Monadic | ||
\ |
Monadic | Scan (allows axis) |
|
⍀ |
Monadic | ||
. |
Dyadic | Inner product | |
∘. |
Monadic | Outer product | |
[] |
Monadic | Axis |
References
- ↑ Adin Falkoff and Ken Iverson. "APLSV User's Manual". IBM. 1973.
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 |