Friday, April 25, 2008

Type System and Type coercions

Joose's next big feature will be types and and type coercions. These allow type checked attributes and more importantly automatic conversion between string data and Objects (via coercion).

This might prove to be a really useful feature for JavaScript programming because it makes converting user input into useful objects really easy.

Monday, April 21, 2008

Meta Meta Bug is fixed

Joose's meta system had a long standing bug that effected the second meta level. This probably effected nobody, because you usually don't mess with this kind of meta stuff while using Joose. (Actually not a single unit test that wasn't testing this specific feature was failing).

Anyway, the bug is now fixed, so you are welcome to do some serious harcore meta programming with JavaScript again.

Thursday, April 17, 2008

Meta Meta Meta overdose

Joose now contains this test:
ok(o.meta.meta.meta.isa(TestMeta), "Meta class is correct");
I'm still not really sure that this really correct. My head hurts :)

Joose featured on Ajaxian

Thanks to Dion for the kind words about Joose.

Saturday, April 12, 2008

New Example: OR-Mapper for Google Gears

Joose has a new example: An object-relational mapper for the Google Gears SQLite database. Check it out here.

Saturday, April 5, 2008

Joose Cookbook

Joose now has a cookbook with 6 recipes that shows off examples that use different aspects of Joose. These have been heavily copied from Moose's documentation. Many thanks to Stevan for making the Moose examples.

Friday, April 4, 2008

Prototypes and Roles

You can now declare Roles using a new Global function Role:
Role("MyRole", {
...role declaration...
})

There is also a new feature to do prototype-based object oriented programming with Joose :)
Prototype("MyPrototype", {
...class like declaration...
})
Prototypes are like classes, but when you do:
object.meta.addMethod(...)
or similar the new method will only be added to object but not to the object's class (because it doesn't have one).