Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

163 lines (102 sloc) 4.729 kb
- 'immutable' builder?
- some kind of obfuscator to reduce codebase size?? (function () { var a='Joose', b='Managed'; top[a][b] etc })()
- try Closure compacter
- "immutable traits" (should have name) - cache the derived meta-class, then re-use it, instead of re-creating for each instance
should give cheap "lightweight" traits
- add alias 'static' for 'my'?
- property set & stem should only provide the composition logic, `apply/unapply` logic should be delegated to meta
(in form of hooks?)
- ability to freely inherit from non-Joose classes
- test Joose.O helpers (partially done)
- add exception for inheritance from nothing ( isa : null )
- derive 'stable' branch
- check overridableness of method and attribute metaclasses
- add SKIP and TODO methods to Test.Run
- add warnings about SUPER on proto level in OPERA
- Joose.Cookbook
- add receipts
- Joose.Manual
- Installation
-- check the procedure on Mac OS
-- verify that procedure works several platforms (CPAN Testers at least) especially on Windows
- document how class can be used as role (w/o inherited properties)
- document internals, notably the introspection API
- first, add benchmarking capabilities to Test.Run (or separate benchmarking suite module)
- convert all OVERRIDE modifiers in core to AROUND? (need to benchmark them 1st)
- implement optimization for methods/OVERRIDE modifiers w/o SUPER calls ) probably should be configurable, to avoid increasing of startup overhead
- statically:
methods : {
function () {
//no SUPER inside
}.raw() /* by helper script */
- rewrite the core in more functional style - remove 'unApply' stage (should give noticeable speed-up for class mutations, as there will be no 'unApply' stage -
we'll just clear the prototype and the re-apply it from scratch, plus - we'll also receive a noticeable reduce of the codebase)
- merge advanced attribute Role into bootstrap role?
- merge bootstrap role into managed class?
- move builderClass and stemClass to private attributes (with leading underscore)?
- merge 'builder' into class itself?
- metaclass as subclass of stem (is that possible at all?)
- JooseX.Builder.Also (to address Rhino issues and allow multiple modifiers in the same class)
- JooseX.Meta.Parameterized (aka parameterized roles, + classes)
- JooseX.Type
- JooseX.Meta.Configurable (allows builders which will configure the meta + aliases for them)
- JooseX.Attribute:
- delegation
- predicating/clearing
- typing, coercion
- traits for attributes
- JooseX.Method.Overloaded
- inter-op with NodeJS
- ability to specify the method for attribute initialization ("builder" in Moose meaning)
- alias static methods (not properties) to the constructor (should be delegates to 'my')
Some.Class.method = function () {, arguments)
- allow regexes as initialization values for advanced attributes
- fix JSAN shell 'install' command (prefix)
- release Module::Build::Functions (CSJ)
- release Module::JSAN
- JooseX.Attribute.Accessor.Unified - getter and setter as single function
- JooseX.Class.Singleton;
- if (this.hasAttribute('builderClass')) this.getBuiderTarget() - to create a separate builder class for each metaclass
- + stem
- needs a test
- fix html extraction method
- release JSAN::Shell
- rewrite 'my' Singleton as Class methods (and create a separate Singleton core metaclass or JooseX)
- refactor advanced attributes from roles to adding methods directly (should be well test-covered first)
- refactor methods & modifiers to reduce overhead
- migrate AUGMENT modifier to closures
- anonymous classes
- refactor helpers
- fix multiple failures under FF3.5
- does for superclasses
- migrate to github
- add override check for PUT modifiers
- fix namespace managers executeIn to omit the args?
- refactor addRole (add something like 'beforeAdd' hook, which is very often needs to be overridden)
- global 'traits' config? to apply traits immediatly after instance creation?
- Class as Role? spec&implemented or remove
- subclass builder and stem classes on-demand only
- BUILD method to prepare the arguments passed to constructor
- refactor Joose.Helper to a global "instantiator" of classes. Then it will be possible to apply roles to it, to globally modify the class creation process
- merge Containable to Mutable
- cleanClone of Stem move to Composition
- fix frames double loading in Opera (Test.Run)
Jump to Line
Something went wrong with that request. Please try again.