SISAL is the Streams and Iteration in a Single Assignment Language.

It is a general-purpose single assignment functional programming language with strict semantics, automatic parallelisation and efficient arrays. SISAL outputs a dataflow graph in Intermediary Form 1 (IF1). It was derived from VAL, adds recursion and finite streams. It has a Pascal-like syntax and was 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.

SISAL was defined in 1983 by James McGraw et al, Manchester University, Lawrence Livermore National Laboratory, Colorado State University and DEC. It was revised in 1985, and the first compiled implementation was created in 1986. Its performance is superior to C and competitive with Fortran, combined with efficient and automatic parallelisation.

Not to be confused with sisal or SASL.

This article (or an earlier version of it) contains material from FOLDOC's article on SISAL, used with permission.