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. — From: http://en.wikipedia.org/wiki/SISAL
Download Compiler from: http://sourceforge.net/projects/sisal/
How to install SISAL version 14.0.6 on Ubuntu 12.04 LTS (Precise Pangolin):
- Download SISAL from SourceForge and unzip it (tar -xvf sisal.14.0.6.tgz).
- Go to the extracted directory (e.g. cd sisal.14.0.6/).
- Issue the configure script to make sure your system has all necessary libraries (./configure).
- As a super user, a.k.a. root, issue the compilation and installation command (sudo make).
— If you get the following compilation error:
/usr/bin/gcc -g -I/home/xeirwn/Downloads/sisal.14.0.6/Include -c -o sisal.o sisal.c
sisal.c:2013:20: error: conflicting types for ‘getline’
/usr/include/stdio.h:675:20: note: previous declaration of ‘getline’ was here
Then you need to edit the file sisal.14.0.6/Frontend/Front1/sisal.c and replace all instances of getline function with something else like getlinelocal.
When you are done re-issue the sudo make command and wait. - Once completed, write in a *.sis file some SISAL application (lets say program1.sis) and issue the following command sisalc program1.sis.
- The command will produce a file named s.out, that is your execution binary.
Language Reference Manual: http://www2.cmp.uea.ac.uk/~jrwg/Sisal/index.html
Other Similar Stuff:
- Single Assignement C: http://www.sac-home.org/
- mySAL, simple single assignment language: http://sourceforge.net/projects/mysal/
- SISAL Article on Linux Journal: http://www.linuxjournal.com/article/4383
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. — From: http://en.wikipedia.org/wiki/SISAL
Download Compiler from: http://sourceforge.net/projects/sisal/
How to install SISAL version 14.0.6 on Ubuntu 12.04 LTS (Precise Pangolin):
- Download SISAL from SourceForge and unzip it (tar -xvf sisal.14.0.6.tgz).
- Go to the extracted directory (e.g. cd sisal.14.0.6/).
- Issue the configure script to make sure your system has all necessary libraries (./configure).
- As a super user, a.k.a. root, issue the compilation and installation command (sudo make).
— If you get the following compilation error:
/usr/bin/gcc -g -I/home/xeirwn/Downloads/sisal.14.0.6/Include -c -o sisal.o sisal.c
sisal.c:2013:20: error: conflicting types for ‘getline’
/usr/include/stdio.h:675:20: note: previous declaration of ‘getline’ was here
Then you need to edit the file sisal.14.0.6/Frontend/Front1/sisal.c and replace all instances of getline function with something else like getlinelocal.
When you are done re-issue the sudo make command and wait.
- Once completed, write in a *.sis file some SISAL application (lets say program1.sis) and issue the following command sisalc program1.sis.
- The command will produce a file named s.out, that is your execution binary.
Language Reference Manual: http://www2.cmp.uea.ac.uk/~jrwg/Sisal/index.html
Other Similar Stuff:
- Single Assignement C: http://www.sac-home.org/
- mySAL, simple single assignment language: http://sourceforge.net/projects/mysal/
- SISAL Article on Linux Journal: http://www.linuxjournal.com/article/4383
This post is also available in: Αγγλικα