Ivy

From APL Wiki
Jump to navigation Jump to search


Ivy is a calculator with APL syntax and functions developed by Rob Pike with the Go programming language (itself developed by Pike and others). Built-in functions are written with one or more ASCII characters, and use either the C-like symbols of Go or short names such as div or rot. With no looping constructs or recursion, Ivy is intended to perform computations and not for general-purpose programming. It emphasizes high-precision computation, using exact rationals when possible and high-precision floating-point numbers otherwise.

Ivy allows user-defined functions (called operators), but not higher-order operators; it has only the four built-in operators Reduce, Scan, Outer Product, and Inner Product. Functions are defined with the op keyword, with a declaration that matches the way the function will be used followed by = and a body of one or more lines (the result of the last is returned). Among APLs, this syntax most closely resembles that of A+.


APL dialects [edit]
Maintained APL+Win (APL*PLUS) ∙ APL2APL64APL\ivApletteAprilCo-dfnsDyalog APLdzaima/APLExtended Dyalog APLGNU APLKAPNARS2000
Historical Iverson notationA Programming LanguageA+ (A) ∙ APL#APL.68000APL.SVAPLXAPL\1130APL\3000APL\360APL/700NARSngn/aplopenAPLRowanSAXSHARP APLVisualAPL (APLNext) ∙ VS APLYork APL
Derivatives AHPLBQNELIIIvyJJellyJellyfishK (Q, KDB+) ∙ NialRAD