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 <feo@sisal.llnl.gov>, David Cann <cann@lll-crg.llnl.gov>, Rod Oldehoeft <rro@cs.colostate.edu>.
David C. Cann <cann@sisal.llnl.gov> has written an Optimising SISAL Compiler (OSC) which attempts to make efficient use of parallel processors such as Crays. 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)].