Don't miss an insight. Subscribe to Techopedia for free.


Streams And Iteration In A Single Assignment Language

What Does Streams And Iteration In A Single Assignment Language Mean?

Streams and Iteration in a Single Assignment Language (SISAL) is a single-assignment functional programming language that features strict semantics, potent array handling and implicit parallelism. SISAL can output a dataflow graph in Intermediary Form 1 (IF1).


The name originated from borrowing "sal" for "Single Assignment Language" from the Unix dictionary "/usr/dict/words."

Techopedia Explains Streams And Iteration In A Single Assignment Language

In 1983, James McGraw et al. defined the SISAL at the University of Manchester, Colorado State University, Lawrence Livermore National Laboratory (LLNL) and Digital Equipment Corporation (DEC). The first revision was carried out in 1985, and the first compiled deployment was done during 1986. When compared to the performances of C and FORTRAN, SISAL’s performance is top-notch, which features automatic and highly effective parallelization.

SISAL was based on the Value-oriented Algorithmic Language (VAL) developed by Jack Dennis. It adds finite streams and recursion. The syntax is similar to Pascal’s and was developed as a common high-level language intended for numerical programs on many different multiprocessors.

SISAL’s functional nature lets the compiler trace the dataflow by means of the program. This helps it to make clever decisions on the way in which the work should be split up among processors in parallel computers.

Versions are available for the Cray Y-MP, Cray X-MP, Cray-2, Encore Alliant, Sequent, DEC VAX-11/784, dataflow architectures, systolic arrays and transputers.


Related Terms