GraalVM/Truffle backend update

Recent Perl 6 survey results that the top two most wanted features are better performance and JVM support. Luckily the Truffle backend promises to kill two birds with one stone. ;)
Once proper closure supports lands later this week we can start working on passing more complex ones.
One positive observation is that due to high level Truffle operates (as opposed to say a machine code generating written in C++ V8) other Truffle implementatio…

The start of the GraalVM/Truffle experiment

Recently GraalVM 1.0 been released which can run Ruby, JavaScript and other dynamic and static languages on top at super fast speeds.
If successful that should allow us to run Perl 6 hopefully very fast and use Java, Ruby and JavaScript libraries without paying a interoperability price.

Truffle which is what we are using is a language …

Building Rakudo.js with JavaScript from the near future

Luckily for us the JavaScript language is constantly evolving towards being a better Perl 6 target (this is a general case of the world in general evolving in this direction).
Node.js is expected to upgrade the V8 soon too.
The major browsers are expected to follow suite.
Rakudo.js is already ready to use that new functionality./var/www/users/pawel_murias/index.html

Rakudo.js update - working source maps and adhoc fixes

The biggest recent change is that source maps after many fixes now worked for code loaded of disk and are good enough to compile the setting with them.
Work on rakudo.js has been focused on bugfixing and adding some remaining bits and pieces.
Stuff worked on varies widely. Things worked on range from lowlevel stuff such as and uint16 and uint8 support to more high level things like using last in a NEXT block.
I have implemented bare bones CStruct and CUn…

Rakudo.js update - NFG / unicode collation and role bug fixes

Rakudo.js update - NFG, unicode collation and more bugfixes

Rakudo.js has been in bugfixing mode recently.

Rakudo.js now uses NFG (Normal Grapheme Form) semantics in some places.
This means some string operations treat strings as sequences of graphemes instead of unicode code points. Graphemes are "user-perceived characters" (See This isn't done everywhere yet but it allows us to pass a bunch of roast tests.
Because JavaScript doesn't use graphemes underneath in it's string implementa…