No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
t Properly convert Object when calling a function Nov 30, 2015
LICENSE Use SPDX identifier in license field of Apr 26, 2017
Makefile Try to fix travis refusing to install libmozjs Nov 30, 2015
p6-spidermonkey.cpp Manually encode strings to UTF-16 blobs Nov 30, 2015

Build Status


JavaScript::SpiderMonkey - glue for Mozilla's JavaScript interpreter


This is still really hard in development you don't even know, so this interface is still in flux.

use JavaScript::SpiderMonkey;

my $thing = js-eval('({
    add : function(a, b) { return a + b; },

say $thing.add( 1,   2 ); # 3
say $thing.add('1', '2'); # 12


  • Nicer errors

  • Implement console.log and friends

  • Use LibraryMake and compile this sanely

  • Write more tests

  • Test multiple SpiderMonkey versions

  • Calling JavaScript from Perl6:

  • → Also allow calling things on the global object

  • → Convert hashes and arrays

  • Writing to JavaScript object and array elements

  • Call Perl6 from JavaScript somehow (

  • Add documentation


Carsten Hartenfels


This software is copyright (c) 2015 by Carsten Hartenfels. This program is distributed under the terms of the Artistic License 2.0. For further information, please see LICENSE or visit