SISAL
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)].