Usual file extensions  .i 

Appeared in  1996 
Designed by  David H. Munro 
Stable release  2.1.05 (January 10, 2008) 
OS  Unix, Linux, Mac, Windows 
License  BSD 
Website  Yorick Home Page 
Yorick is an interpreted programming language designed for numerics, graph plotting and steering large scientific simulation codes. It is quite fast due to array syntax, and extensible via C or Fortran routines. It was created in 1996 by David H. Munro of Lawrence Livermore National Laboratory.
Yorick is good at manipulating elements in Ndimensional arrays conveniently with its powerful syntax.
Several elements can be accessed all at once:
> x=[1,2,3,4,5,6]; > x [1,2,3,4,5,6] > x(3:6) [3,4,5,6] > x(3:6:2) [3,5] > x(6:3:2) [6,4]
> x=[[1,2,3],[4,5,6]] > x [[1,2,3],[4,5,6]] > x([2,1],[1,2]) [[2,1],[5,4]] > list=where(1<x) > list [2,3,4,5,6] > y=x(list) > y [2,3,4,5,6]
Like "theading" in PDL(Perl Data Language) and "broadcasting" in Numpy ( Numeric extension for Python), Yorick has a mechanism to do this:
> x=[1,2,3] > x [1,2,3] > y=[[1,2,3],[4,5,6]] > y [[1,2,3],[4,5,6]] > y(,) [[[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],[4,5,6]] > x(,)/y [[1,1,1],[0.25,0.4,0.5]]
".." is a rubberindex to represent zero or more dimensions of the array.
> x=[[1,2,3],[4,5,6]] > x [[1,2,3],[4,5,6]] > x(..,1) [1,2,3] > x(1,..) [1,4] > x(2,..,2) 5
"*" is a kind of rubberindex to reshape a slice(subarray) of array to a vector.
> x(*) [1,2,3,4,5,6]
Tensor multiplication is done as follows in Yorick:
P(,+,,)*Q(,,+)
means
> x=[[1,2,3],[4,5,6]] > x [[1,2,3],[4,5,6]] > y=[[7,8],[9,10],[11,12]] > x(,+)*y(+,) [[39,54,69],[49,68,87],[59,82,105]] > x(+,)*y(,+) [[58,139],[64,154]]
