SISAL definition language
(Streams and Iteration in a Single Assignment Language) A general-purpose single assignment functional programming language
semantics, automatic parallelisation and efficient arrays
. Outputs a dataflow graph in IF1
(Intermediary Form 1). Derived from VAL
, adds recursion
and finite streams
-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
. 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 , Rod Oldehoeft email@example.com.
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)].