HOME

TheInfoList



OR:

Yorick is an interpreted
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
designed for
numerics Numerical control (also computer numerical control, and commonly called CNC) is the automation, automated control of machining tools (such as drills, lathes, Milling (machining), mills, Grinding machine, grinders, CNC wood router, routers and 3 ...
,
graph Graph may refer to: Mathematics *Graph (discrete mathematics), a structure made of vertices and edges **Graph theory, the study of such graphs and their properties *Graph (topology), a topological space resembling a graph in the sense of discre ...
plotting, and steering large scientific simulation codes. It is quite fast due to
array An array is a systematic arrangement of similar objects, usually in rows and columns. Things called an array include: {{TOC right Music * In twelve-tone and serial composition, the presentation of simultaneous twelve-tone sets such that the ...
syntax, and extensible via C or Fortran routines. It was created in 1996 by
David H. Munro David Herbert Munro (born April 29, 1955 in Oakland, California) is a physicist at Lawrence Livermore National Laboratory (LLNL) who created the programming language Yorick programming language, Yorick as well as the scientific graphics library Gis ...
of
Lawrence Livermore National Laboratory Lawrence Livermore National Laboratory (LLNL) is a federal research facility in Livermore, California, United States. The lab was originally established as the University of California Radiation Laboratory, Livermore Branch in 1952 in response ...
.


Features


Indexing

Yorick is good at manipulating elements in N-dimensional arrays conveniently with its powerful syntax. Several elements can be accessed all at once: > x=
,2,3,4,5,6 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline (t ...
> x
,2,3,4,5,6 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline (t ...
> x(3:6) ,4,5,6> x(3:6:2) ,5> x(6:3:-2) ,4
;Arbitrary elements > x= 1,2,3 ,5,6 > x 1,2,3 ,5,6 > x( ,1 ,2 ,1 ,1 ,4">,1
,4 > list=where(1 list [2,3,4,5,6">,4">,1[5,4 > list=where(1 list [2,3,4,5,6> y=x(list) > y [2,3,4,5,6 ;Pseudo-index Like "theading" in Perl Data Language">PDL PDL is an initialism for: Politics * Democratic Liberal Party (''Partidul Democrat Liberal''), a former political party in Romania * Labour Democratic Party (''Partito Democratico del Lavoro''), a former political party in Italy * Pole of Freed ...
and "broadcasting" in Numpy, Yorick has a mechanism to do this: > x=
,2,3 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline ...
> x
,2,3 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline ...
> y= 1,2,3 ,5,6 > y 1,2,3 ,5,6 > y(-,) [1[2">[1.html" ;"title="[1">[1[2[3">[1.html"_;"title="[1">[1<_a> [1[2">[1.html" ;"title="[1">[1[2[3,4">.html" ;"title="[1.html" ;"title="[1">[1[2">[1.html" ;"title="[1">[1[2[3,4[5],[6] > x(-,) 1],[2],[3 > x(,-) 1,2,3 > x(,-)/y 1,1,1],[0,0,0 > y=1.,2,3], ,5,6 > x(,-)/y 1,1,1],[0.25,0.4,0.5
;Rubber index ".." is a rubber-index to represent zero or more dimensions of the array. > x= 1,2,3 ,5,6 > x 1,2,3 ,5,6 > x(..,1)
,2,3 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline ...
> x(1,..) ,4> x(2,..,2) 5
"*" is a kind of rubber-index to reshape a slice(sub-array) of array to a vector. > x(*)
,2,3,4,5,6 The comma is a punctuation mark that appears in several variants in different languages. It has the same shape as an apostrophe or single closing quotation mark () in many typefaces, but it differs from them in being placed on the baseline (t ...
;Tensor multiplication
Tensor In mathematics, a tensor is an algebraic object that describes a multilinear relationship between sets of algebraic objects related to a vector space. Tensors may map between different objects such as vectors, scalars, and even other tens ...
multiplication is done as follows in Yorick: P(,+, )*Q(, +) means \sum_^ > x= 1,2,3 ,5,6 > x 1,2,3 ,5,6 > y= 7,8
,10 This list contains selected positive numbers in increasing order, including counts of things, dimensionless quantities and probabilities. Each number is given a name in the short scale, which is used in English-speaking countries, as well as a ...
1,12 > x(,+)*y(+,) 39,54,69 9,68,87 9,82,105 > x(+,)*y(,+) 58,139 4,154


External links

*
Linux Journal Review
{{DEFAULTSORT:Yorick (Programming Language) Array programming languages Free compilers and interpreters Lawrence Livermore National Laboratory Programming languages created in 1996