Streams and Iteration in a Single Assignment Language.
A general-purpose single assignment functional programming language
semantics, automatic parallelisation and efficient array
Outputs a dataflow graph in IF1
(Intermediary Form 1).
Derived from VAL
, adds recursion
and finite stream
Designed to be a common high-level language for numerical programs on a variety of multiprocessor
Implementations exist for Cray X-MP, Cray Y-MP, Cray-2, Sequent
, Encore Alliant, dataflow architectures, transputer
s and systolic array
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)].