There’s one final catch worth knowing about. I said at the start I wanted everything I listed to be open source. Graal & Truffle are huge and very expensive endeavours written by skilled people who don’t come cheap. As a result, only some parts of what I’ve described are fully open source.
These bits are open and can be found on github or other repositories:
Graal & Truffle themselves.
The pluggable version of HotSpot they rely on.
RubyTruffle
Sulong (LLVM bitcode support)
The R, Python 3 and Lua implementations (some of these are hobby/research projects).
And these things are not open source:
TruffleC/ManagedC
TruffleJS/NodeJS API support
SubstrateVM
AOT support
TruffleJS can be downloaded for free as part of the GraalVM preview releases. I don’t know how to play with TruffleC or ManagedC, although as Sulong implements some of their functionality, it may not matter much.
This looks very interesting, but the lack of comments here makes me wonder if it's being oversold a bit in the article? It sound like the Borg of languages, resistance is futile and future languages will be assimilated - at least languages that can bear the memory overhead of the system?
It is very definitely being oversold, almost to a ridiculous extent. Its also very weird that they named their project Polyglot when there is already an extensible compiler framework named Polyglot ( https://www.cs.cornell.edu/projects/polyglot/ ) that has already been used to make dozens of languages used in published research.
The fundamental technology really is that impressive, the catch is that everything is a research project and not yet battle-tested. Also SubstrateVM is pretty important for usability but it isn't open source yet.
These bits are open and can be found on github or other repositories:
And these things are not open source: TruffleJS can be downloaded for free as part of the GraalVM preview releases. I don’t know how to play with TruffleC or ManagedC, although as Sulong implements some of their functionality, it may not matter much.