Loading AI tools
From Wikipedia, the free encyclopedia
SISAL (Streams and Iteration in a Single Assignment Language) is a general-purpose single assignment functional programming language with strict semantics, implicit parallelism, and efficient array handling. SISAL outputs a dataflow graph in Intermediary Form 1 (IF1). It was derived from VAL (Value-oriented Algorithmic Language, designed by Jack Dennis), and 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.
![]() | This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
|
Paradigm | functional, dataflow |
---|---|
Designed by | James McGraw |
Developer | James McGraw et al., at University of Manchester, LLNL, Colorado State University, and DEC |
First appeared | 1983 |
Typing discipline | static, strong |
Major implementations | |
osc, sisalc | |
Influenced by | |
VAL, Pascal, C, Fortran | |
Influenced | |
Haskell,[citation needed] SAC |
SISAL was defined in 1983 by James McGraw et al., at the University of Manchester, LLNL, Colorado State University and DEC. It was revised in 1985, and the first compiled implementation was made in 1986. Its performance is superior to C and rivals Fortran, according to some sources,[1] combined with efficient and automatic parallelization.
SISAL's name came from grepping "sal" for "Single Assignment Language" from the Unix dictionary /usr/dict/words.
Versions exist for the Cray X-MP, Y-MP, 2; Sequent, Encore Alliant, DEC VAX-11/784, dataflow architectures, KSR1, Transputers and systolic arrays.
The requirements for a fine-grain parallelism language are better met with a dataflow language than a systems language.[citation needed]
SISAL is more than just a dataflow and fine-grain language. It is a set of tools that convert a textual human readable dataflow language into a graph format (named IF1 - Intermediary Form 1). Part of the SISAL project also involved converting this graph format into runable C code.[2]
In 2010 SISAL saw a brief resurgence when a group of undergraduates at Worcester Polytechnic Institute investigated implementing a fine-grain parallelism backend for the SISAL language.[2]
In 2018 SISAL was modernized with indent-based syntax, first-class functions, lambdas, closures and lazy semantics within a project SISAL-IS.[3]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.