The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.009

  • Yet another alpha release. Here are the usual lists: New features/API changes:
  • Added numeric overloading to JE::Null.
  • Added compile as an alias for parse.
  • Added the 'exists' and 'class' methods to JE::Number Fixes:
  • JE::LValue's overloading was very buggy with anything other than simple conversion. I've fixed it and written a test script.
  • Corrected the bitshift operators such that numbers > 31 for the right operand now have % 32 applied, and are no longer simply treated as 31.
  • Corrected JE::Null->to_boolean so it returns a JE::Boolean, not a JE::String.
  • Stopped surrogate escape sequences in string literals from producing warnings.
  • Corrected JE::Number's stringification overloading to match the stringification in JavaScript (for NaN and Infinity)
  • A JE::Number that has a value of NaN now boolifies in Perl as false, as in JavaScript.
  • Fixed the constructors for the various subclasses of Error, so that they no longer throw TypeErrors when called ('new TypeError' would actually cause the whole script to die)
  • Corrected 'instanceof' so it throws an error if its right operand is an object but not a function
  • Corrected the 'prototype' properties of the various sub- classes of Error such that they now actually inherit from Error.prototype instead of directly from Object.prototype.
  • Fixed the << operator so it now works correctly on 64-bit machines

Documentation

JavaScript types and objects

Modules

JE
Pure-Perl ECMAScript (JavaScript) Engine
JavaScript boolean value
ECMAScript parser and code executor for JE
JavaScript lvalue class
JavaScript null value
JavaScript number value
Base class for all JavaScript objects
JavaScript Array object class
JavaScript Boolean object class
JavaScript Error object class
JavaScript RangeError object class
JavaScript ReferenceError object class
JavaScript SyntaxError object class
JavaScript TypeError object class
JavaScript URIError object class
JavaScript function class
JavaScript Math object
JavaScript Number object class
JavaScript regular expression (RegExp object) class
JavaScript String object class
JavaScript scope chain (what makes closures work)
JavaScript string value
JavaScript undefined value
Pure-Perl ECMAScript (JavaScript) engine

Provides

in lib/JE/Code.pm
in lib/JE/Code.pm
in lib/JE/Code/Grammar.pm
in lib/JE/Code.pm
in lib/JE/Code.pm
in lib/JE/Object/Function.pm
in lib/JE/Object/Function.pm