Ivy: Difference between revisions
(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> | '''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+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 |