What should Rakudo-js aim for first?

I'm considering applying for a TPF grant to allow me to fully focus on working on getting Rakudo to target JS. To focus the grant application (and pin down the deliverables) I need to choose a use case for rakudo-js to focus on. Possible ones (ideas for new ones are appreciated).
  • running a single page app in a browser (using react.js/jquery or just vanilla js).
  • running on top of node.js
  • running on top of react.native on a mobile phone
  • exploring Perl 6 in your browser (having a awesome REPL, being able to execute snippets etc.)

Compiling QAST fragments to js from nqp-js

The nqp-js backend works when compiled to javascript.

# save this as hello-world.nqp

use QAST::Compiler;

my $sc := nqp::createsc('TEST_SC');
nqp::scsetdesc($sc, "description");
my $qast := QAST::Block.new(
                QAST::SVal.new(:value("Hello ")),

my $compunit := QAST::CompUnit.new(
my $compiler := QAST::CompilerJS.new();

Run it like

make js-all
make js-bootstrap
./nqp-js hello-world.nqp | node

First inchstone.

I have started hacking on my GSoC project to create a JavaScript backend for NQP (a Perl 6 dialect), which will be grown into a full one for Rakudo in the future.
Today I have unbitrotted the existing code at https://github.com/pmurias/rakudo-js by handling QAST::Var's with decl set to "static" (variables that don't change at runtime) the same as ones with "var" (normal ones). As such I have completed the first of 15 inchstones ;)

About Paweł Murias

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