Having managed to go the weekend without making any more fiddly changes to it,
I’m finally pushing JS.Class 2.1 out of its Git repo and into the real world.
The major updates in this release are a
Hash implementation, a much-improved
package manager that runs on server-side platforms, and lots of updates taken
from Ruby 1.9. The full summary:
- New libraries:
HashSet, a much faster
- The package manager has been improved with a new API, parallel downloading of files, and support for server-side environments such as SpiderMonkey, Rhino and V8. It also supports user-defined loader functions for transparent integration with Google and Yahoo!’s packaging systems.
Enumerablemodule has been updated with plenty of methods from Ruby 1.9, and now supports enumerators, and
Symbol#to_proc-like functionality whereby a string,
MethodChainor any object that implements
toFunction()can be used as an iterator.
- The core object methods now live in
Kernel, and we’ve added new methods:
- The double inclusion problem is now fixed; no current Ruby implementation seems to support this properly.
- Ancestor and method lookups are now cached so
callSuperruns about twice as fast.
- Classes can be named to generate
displayNameon methods for use with the WebKit debugger.
You can download it from the website, and you’ll no doubt be pleased to know I finally compiled a changelog for the project and will be including it with releases from now on.