APL.SV

From APL Wiki
Revision as of 16:01, 15 April 2020 by Marshall (talk | contribs) (Created page with "{{Infobox array language | array model = flat without boxes | index origin = <source lang=apl inline>⎕IO</source>0 or 1...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


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.

The enhancements to APL described herein are the result of more than six years of personal experience with APL\360, and countless comments and suggestions from many other users. The shared variable concept goes back in principle to early publication by Falkoff and Iverson, but is was R. H. Lathwell who recognized the practical potential of the idea and, with L. A. Morrow, designed an effective data processing facility based upon it. The system was implemented by Lathwell, Morrow, J. A. Brown, and C. F. Shen, all of whom contributed to the design of the other new features as well. R. J. Creasy first proposed the use of surrogate names.

APLSV User's Manual[1]

Primitives

Functions

Glyph Monadic Dyadic
+ Conjugate Plus
- Negative Minus
× Signum Times
÷ Reciprocal Divide
| Magnitude Residue
Floor Minimum
Ceiling Maximum
? Roll Deal
* Exponential Power
Natural logarithm General logarithm
Pi times Circular, hyperbolic, and pythagorean functions
! Factorial Binomial
~ Not
And
Or
Nand
Nor
< Less
Not greater
= Equal
Not less
> Greater
Not equal
Shape of Reshape
, Ravel Catenate, Laminate (allows axis)
Reverse
(allows axis)
Rotate
(allows axis)
Transpose
Take
Drop
/ Compress
(allows axis)
\ Expand
(allows axis)
[] Indexing
Index generator Index of
Membership
Grade up
Grade down
Matrix inverse Matrix division
Decode
Encode
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

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