Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

SamuraiJack (8889)

  (email not shown publicly)
+ -

  Comment: Metamodel of Joose 3.0 (Score 1) on 2009.11.25 4:07

by SamuraiJack on 2009.11.25 4:07 (#71237)
Attached to: Laying the role meta-foundations


I thought you might be interested to look at the meta-model of the Joose 3.0. Joose is a very close port of Moose to JavaScript. And its sources are much clearer and easier to understand )

It starts with the abstract property:

And abstract property set (isa property):

Then defines some kind of "property set algebra", with couple of operations defined: flattening and composition.
Flattening is what happens between roles, when they are listed in the class (produces a new property set), and composition is what happens between class and role.

The whole project can be found here:

And documentation is "borrowed" from Moose :)

There is an implementation limitation though - Joose supports only one superclass (to fit well into prototype nature of JavaScript)

Regards, Nickolay

Read More 2 comments
Comments: 2
+ -

  Comment: Well done (Score 1) on 2009.07.20 6:06

by SamuraiJack on 2009.07.20 6:06 (#69545)
Attached to: Major update to
Could you re-design the same way?
Read More 17 comments
Comments: 17