Friday, January 6, 2012

Rev 1.8 of alpha 0.3 release of ParaSail compiler and virtual machine

Rev 1.8 of the 0.3 Alpha release of ParaSail is now available at:

This release has initial support for generic operations, where the type of one of the operands is not specified exactly, but merely as being any type that implements a given interface.  For example, to declare a concatenation operator between Univ_String and any type that implements the Imageable interface, you can write:

op "|"(Left : Univ_String; Right : Right_Type is Imageable<>) -> Univ_String;

This operator can be implemented using operations on Right that are defined in the Imageable interface, such as To_String.


  1. Here is a slight update, rev 1.9, alpha 0.3. This fixes a problem associated with "generic" operations, and adds a new example "units.psl" which illustrates using generic operations to do physical units checking (e.g. that units match properly in force = mass * acceleration):

  2. How do i get started in pArasail, not obvious as if I were learning Scala etc...

  3. The ParaSail distribution comes with a subdirectory of examples. I would pick one of the simplest examples (e.g. hello.psl) and make small changes to it to see what happens. There is also a reference manual provided which also has some snippets of code. You could take some of those from the reference manual and add them into one of the simple examples provided in the distribution to see if they work as you might expect.

    There is also a google group where you could post any more specific questions you have: