Wednesday, November 2, 2016

Release 7.0 of ParaSail interpreter, VM, and compiler -- sources plus linux/mac binaries

We have just made a release of the ParaSail interpreter, VM, llvm-based compiler, and ParaScope static analysis tool (aka "static catcher of programming errors").  This is version 7.0.  It includes a nearly complete re-write of the llvm-based compiler.  After attempting other approaches, we finally went back to the ParaSail front end and had it annotate every PSVM instruction with a set of virtual register numbers in addition to a stack offset for local variables.  This allows the backend to generate much better LLVM (and eventually will also simplify the job of doing more advanced static analysis).  The compiler also automatically inlines small routines, including routines from the ParaSail standard library, so function call overhead in the presence of layers of abstraction can be much reduced.

This release is the first in a while to include binaries, though it only includes binaries for Mac and Linux (Windows is being difficult ... ;-{).  The release is at:

If you have any problems, please report them on the ParaSail google group:!forum/parasail-programming-language


  1. I think the link is wrong, it shows version 6.5

  2. Right you are! The displayed link was correct, but the link behind it was the old one. Very confusing! The correct link is: -Tuck

  3. I like the idea of ParaSail. Have you thought about making some examples and comparisons to other languages. Especially Java. I'm a Java backend developer.

    I like Java compared to C++, because of its safeness and simplicity, but I don't like running Java due to its huge memory consumption.

    Could you show some results, that giving up on object/value pointer aliasing is worth it? I think it would show the value of the whole language.

    Disclaimer: I haven't even tried to run anything in ParaSail, I quite lack free time now.

    1. Thanks for your comment. We have several examples available at and in the available download. We have discussed a bit how ParaSail compares to other languages, but could certainly do more. The storage management approach, where storage is managed automatically, but without the need for an asynchronous garbage collector, is a great feature, and makes it much easier to use than languages like C or C++, while allowing it to run in constrained memory situations and without any GC-related pauses, thereby supporting hard real-time and/or minimal run-time overhead environments. And of course it is great being able to easily take advantage of multiple cores without having to do a major rewrite.