from
The Free On-line Dictionary of Computing (8 July 2008)
SISAL
<language> (Streams and Iteration in a Single Assignment
Language) A general-purpose {single assignment} {functional
programming language} with {strict} semantics, automatic
parallelisation and efficient {arrays}. Outputs a dataflow
graph in {IF1} (Intermediary Form 1). Derived from {VAL},
adds {recursion} and finite {streams}. {Pascal}-like syntax.
Designed to be a common high-level language for numerical
programs on a variety of {multiprocessors}.
Implementations exist for {Cray X-MP}, {Cray Y-MP}, {Cray-2},
{Sequent}, {Encore Alliant}, {dataflow} architectures,
{transputers} and {systolic arrays}.
Defined in 1983 by James McGraw et al, {Manchester
University}, {Lawrence Livermore National Laboratory},
{Colorado State University} and {DEC}. Revised in 1985.
First compiled implementation in 1986. Performance superior
to {C} and competitive with {Fortran}, combined with efficient
and automatic parallelisation.
Not to be confused with {SASL}.
E-mail: John Feo <[email protected]>, Rod Oldehoeft
<[email protected]>.
David C. Cann has written an Optimising SISAL Compiler
(ftp://sisal.llnl.gov/pub/sisal) (OSC) which attempts to make
efficient use of {parallel processors} such as {Crays}.
Latest version: 12.0, SISAL 1.2.
["A Report on the SISAL Language Project", J.T. Feo et al, J
Parallel and Distrib Computing 10(4):349-366 (Dec 1990)].
(2000-07-07)