SISAL

For the fiber, see Sisal. For the town, see Sisal, Yucatán.
SISAL
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, SAC

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.

History

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.

Architecture

The requirements for a fine-grain parallelism language are better met with a dataflow language than a systems language.

SISAL is more than just a dataflow and fine-grain language. It was a set of tools that converted 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]

SISAL Renaissance Era

SISAL saw a brief resurgence in 2010 when a group of undergraduates at Worcester Polytechnic Institute investigated implementing a fine-grain parallelism backend for the SISAL language.[2]

Footnotes

  1. Retire Fortran?: a debate rekindled, David Cann, August 1992, Communications of the ACM, Volume 35, Issue 8
  2. 1 2 http://www.wpi.edu/Pubs/E-project/Available/E-project-031210-134520/unrestricted/FinalReport.pdf

References

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

External links

This article is issued from Wikipedia - version of the 4/11/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.