Sisal Semantics

Another goal is to develop a formal semantics for Sisal 2.0. This task is currently underway using Centaur. Besides classical aspects of dynamic semantics for functional programming languages such as the absence of side-effect and aliasing, the notion of referential transparency, and higher-order functions, we characterize specific semantic aspects of the Sisal language such as streams for pipelined parallelism, sequential and parallel loops (with reduction and masking operators), and error management.

A formal semantic definition (already) aids in the elimination of ambiguities in the language and will provide a valuable reference for the entire Sisal community, both for those interested in implementing Sisal and for potential users.


Project