Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
SISAL
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{About||the fiber|Sisal|the town|Sisal, Yucatán|the company|Sisal (company)}} {{Multiple issues| {{More footnotes|date=April 2018}} {{More citations needed|date=April 2018}} }} {{Infobox programming language | name = SISAL | paradigm = [[Functional programming|functional]], [[Dataflow programming|dataflow]] | designer = James McGraw | developer = James McGraw et al., at [[University of Manchester]], [[Lawrence Livermore National Laboratory|LLNL]], [[Colorado State University]], [[Digital Equipment Corporation|DEC]] | released = {{Start date and age|1983}} | typing = [[Static typing|static]], [[Strong and weak typing|strong]] | implementations = osc, sisalc | influenced by = VAL, [[Pascal (programming language)|Pascal]], [[C (programming language)|C]], [[Fortran]] | influenced = [[Haskell]],{{citation needed|date=April 2016}} [[SAC programming language|SAC]] }} '''SISAL''' ('''Streams and Iteration in a Single Assignment Language''') is a [[General-purpose programming language|general-purpose]] [[single assignment]] [[Functional programming|functional]] [[programming language]] with [[strict semantics]], [[implicit parallelism]], and efficient [[Array (data structure)|array]] handling. SISAL outputs a [[dataflow]] graph in Intermediary Form 1 (IF1). It was derived from the Value-oriented Algorithmic Language (VAL), designed by [[Jack Dennis]], and adds [[recursion]] and finite streams. It has a [[Pascal (programming language)|Pascal]]-like syntax and was designed to be a common [[high-level programming language]] for numerical programs on a variety of [[Multiprocessing|multiprocessor]]s. == History == SISAL was defined in 1983 by James McGraw et al., at the [[University of Manchester]], [[Lawrence Livermore National Laboratory]] (LLNL), [[Colorado State University]] and [[Digital Equipment Corporation]] (DEC). It was revised in 1985, and the first [[Compiler|compiled]] [[implementation]] was made in 1986. Its performance is superior to [[C (programming language)|C]] and rivals [[Fortran]], according to some sources,<ref>Retire Fortran?: a debate rekindled, David Cann, August 1992, Communications of the ACM, Volume 35, Issue 8</ref> combined with efficient and automatic parallelization. SISAL's name came from [[grep]]ping "sal" for "Single Assignment Language" from the Unix dictionary /usr/dict/words. Versions exist for the [[Cray]] [[Cray X-MP|X-MP]], [[Cray Y-MP|Y-MP]], [[Cray-2|2]]; [[Sequent Computer Systems|Sequent]], [[Encore Computer|Encore Alliant]], DEC [[VAX|DEC VAX-11/784]], [[dataflow]] architectures, KSR1, [[Inmos]] [[Transputer]]s, and [[systolic array]]s. == Architecture== The requirements for a [[Granularity#Computing|fine-grain parallelism]] language are better met with a [[dataflow programming]] language than a [[system programming language]].{{citation needed|date=December 2016}} 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 runnable C code.<ref name="wpi2010"/> == SISAL Renaissance Era == 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.<ref name="wpi2010">[http://www.wpi.edu/Pubs/E-project/Available/E-project-031210-134520/unrestricted/FinalReport.pdf Fine-Grain Parallelism: An Investigative Study into the merits of Graphical Programming and a Fine-grain Execution Mode]</ref> In 2018 SISAL was modernized with indent-based syntax, first-class functions, lambdas, closures and lazy semantics within a project SISAL-IS.<ref name="sisalis">[https://github.com/parsifal-47/sisal-is Modernized Sisal Interpreter (MSInt)]</ref> == References == ===Notes=== {{Reflist}} ===Bibliography=== {{Refbegin}} * [https://web.archive.org/web/20070920003407/http://hopl.murdoch.edu.au/showlanguage.prx?exp=876 VAL Overview] * [http://www.cmp.uea.ac.uk/~jrwg/Sisal/00.Contents.html Sisal Language Tutorial] {{refend}} == External links == * [http://sourceforge.net/projects/sisal SISAL Parallel Programming] SourceForge.net project page [[Category:Concurrent programming languages]] [[Category:Functional languages]]
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:About
(
edit
)
Template:Citation needed
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Multiple issues
(
edit
)
Template:Refbegin
(
edit
)
Template:Refend
(
edit
)
Template:Reflist
(
edit
)
Search
Search
Editing
SISAL
Add topic