Ivy: Difference between revisions

From APL Wiki
Jump to navigation Jump to search
(Version increase)
(Remove "With no looping constructs or recursion, Ivy is intended to perform computations and not for general-purpose programming." per talk)
Line 18: Line 18:
}}
}}


'''Ivy''' is a calculator with APL syntax and functions developed by [[wikipedia:Rob Pike|Rob Pike]] with the [[wikipedia:Go (programming language)|Go]] programming language (itself developed by Pike and others). Built-in functions are written with one or more ASCII characters, and use either the [[wikipedia:C (programming language)|C]]-like symbols of Go or short names such as <code>div</code> or <code>rot</code>. 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''' is a calculator with APL syntax and functions developed by [[wikipedia:Rob Pike|Rob Pike]] with the [[wikipedia:Go (programming language)|Go]] programming language (itself developed by Pike and others). Built-in functions are written with one or more ASCII characters, and use either the [[wikipedia:C (programming language)|C]]-like symbols of Go or short names such as <code>div</code> or <code>rot</code>. 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 <code>op</code> keyword, with a declaration that matches the way the function will be used followed by <code>=</code> 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+]].
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 <code>op</code> keyword, with a declaration that matches the way the function will be used followed by <code>=</code> 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}}[[Category:Array languages]][[Category:ASCII languages]]
{{APL dialects}}[[Category:Array languages]][[Category:ASCII languages]]

Revision as of 21:11, 17 December 2022


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. 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+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