ELI (programming language)
ELI[3] is an interactive array programming language system based on the programming language APL. It has most of the functions of the International Organization for Standardization (ISO) APL standard ISO/IEC 13751:2001, and also list for non-homogeneous or non-rectangular data, complex numbers, symbols, temporal data, and control structures. A scripting file facility is available to organize programs in a fashion similar to using By replacing each APL character with one or two ASCII characters, ELI retains APL's succinct and expressive way of array programming compared with MATLAB or Python, ELI encourages a dataflow programming style, where the output of one operation feeds the input of another. ELI is available without charge, as freeware, on Windows, Linux, and macOS. Version 0.3ELI version 0.3, described as a stable release, was released on August 10, 2015. It integrates with a cross-platform IDE, ELI Studio, which provides a code editor with specialized functions to write and load ELI code. Three added widgets are used to monitor functions, variables, libraries and command history. Version 0.3 adds several new features.[4]
Example codeA line of ELI executes from right to left as a chain of operations; anything to the right of ‘//’ is a comment. Exclamation point (!) is an interval function. It can generate a vector of n integer from 1 to n. !10
1 2 3 4 5 6 7 8 9 10
The execution order of ELI is from right to left, and all primitive functions have equal precedence. 5 * 2 + 10 // from right to left, 5 * (2 + 10)
60
In the next example a function {add: x+y} // short function form
add
1 add 2 // 1+2
3
1 add !10 // 1+(1..10)
2 3 4 5 6 7 8 9 10 11
The $!10 // reverse
10 9 8 7 6 5 4 3 2 1
A 2-by-3 matrix (or higher dimension array, e.g., 2 3#!6 // 2 dimension array (matrix)
1 2 3
4 5 6
In first line below the x <- !20 // 1..20
x
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
(1 = 2|x) / x // get odd numbers from x
1 3 5 7 9 11 13 15 17 19
File extensionsTwo file extensions are used in ELI for exchanging and sharing code for different purposes: An ELI file with extension )out MyScript
)lib
MyScript.esf
)fload MyScript
saved 2017.02.17 10:23:55 (gmt-5)
An ELI file with extension )save MyWorkspace
)load MyWorkspace
saved 2017.02.17 10:57:19 (gmt-5)
References
External links |
Portal di Ensiklopedia Dunia