WIP Rakudo.js Final Grant Update

THIS IS A WIP REPORT - SOME RELEASE ARE BEING MADE ATM


We have a Dart Pad inspired REPL called 6Pad that allows you to play with Rakudo.js without installing it

Rakudo.js has been released on NPM as rakudo

You can get a prebuilt rakudo.js from npm with a single command


npm install rakudo

I have decided not to upload the rakudo.js tarballs to CPAN (while easily doable if anybody actually want to get it from there it seems nobody would benefit from that as it seems getting it from npm will be just more convenient for everyone).

# We pass our chosen subset of roast tests in headless Chrome using puppeteer

We have a repo with a test runner that bundles up the tests using the parcel bundler and passes them to Chrome

A couple of tests don't work due to either being impossible in the browser (due to using file system IO) or rakudo itself having a fair amount of bugs that pop up when precompiling code (in usual runs tests aren't precompiled so they go undetected)

See blog post (https://blogs.perl.org/users/pawel_murias/2019/04/rakudojs-update---running-tests-in-a-real-chrome.html) for a more in depth explanation

In total that makes FILL-IN-PERCENTAGE of total roast tests (the grant was targeting only a subset of the whole roast), which in practice allows the usage of a huge chunk of Perl 6 (with the biggest omission being multi threading and IO things).

# You can get a prebuilt rakudo.js from npm with a single command (assuming you have the current version of node.js setup)

npm install rakudo

JavaScript interop

As a bonus feature rakudo.js has some basic interopability with JavaScript.
This allows us to import js modules as well as call methods and get attributes of JS objects.

Leave a comment

About Paweł Murias

user-pic This is my JavaScript backend for Rakudo/NQP blog.