*** Welcome to piglix ***

ParaSail (programming language)

ParaSail
Logo for ParaSail Programming Language.jpg
Logo designed by Abouzar Abbasi
Paradigm compiled, concurrent, imperative, structured, object-oriented
Designed by S. Tucker Taft
Developer AdaCore
First appeared 2009; 8 years ago (2009)
Stable release
7.0 / 2 November 2016; 3 months ago (2016-11-02)
Typing discipline strong, static
Platform x86
OS Linux, OS X, Windows
License GPL v3
Filename extensions .psi .psl
Website forge.open-do.org/plugins/moinmoin/parasail/
Major implementations
psli, pslc
Influenced by
Modula, Ada, Pascal, ML

Parallel Specification and Implementation Language (ParaSail) is an object-oriented parallel programming language. Its design and ongoing implementation is described in a blog and on its official website.

ParaSail uses a pointer-free programming model, where objects can grow and shrink, and value semantics are used for assignment. It has no global garbage collected heap. Instead, region-based memory management is used throughout. Types can be recursive, so long as the recursive components are declared optional. There are no global variables, no parameter aliasing, and all subexpressions of an expression can be evaluated in parallel. Assertions, preconditions, postconditions, class invariants, etc., are part of the standard syntax, using a Hoare-like notation. Any possible race conditions are detected at compile time.

Initial design of ParaSail began in September 2009, by S. Tucker Taft.

Both an interpreter using the ParaSail virtual machine, and an LLVM-based ParaSail compiler are available. Work stealing is used for scheduling ParaSail's light-weight threads. The latest version can be downloaded from the ParaSail website.

ParaSail goals:

The syntax of ParaSail is similar to Modula, but with a class-and-interface-based object-oriented programming model more similar to Java or C#.


...
Wikipedia

...