software ======== - Moose - metaclass compat for multiple inheritance isn't quite right i think... pretty sure a class with multiple parents with incompatible metaclasses should end up with a metaclass with multiple parents, but i'll have to think this through a bit more - role_class_attributes - need to fix existing mx attribute metaroles (list in my working copy) - implicit class_types and role_types should be registered, so that they throw errors when someone tries to declare them as actual types (because of ordering issues, etc) - unfortunately, Moose::Util::TypeConstraints is a bit of a mess... not all code paths will throw errors anyway, and things are generally somewhat scattered... this will probably need to be cleaned up and made sane first - look into splitting out our code generation bits into a standalone module - look into splitting the type constraint system into a standalone module - exceptions? - really need to combine moose and cmop for things to really be sane - the main benefit here would be bringing roles into the base level of bootstrapping - we run into issues currently because all cmop classes must be extended using subclassing only, but we want (for instance) methods to be able to be both method modifiers (Class::MOP::Method::Wrapped) and Moose methods (Moose::Meta::Method), and metaclass compat fixing doesn't know how to handle that (and in general, it can't) - we should have a base set of core objects (Moose::Meta::Class, Moose::Meta::Instance, Moose::Meta::Method, Moose::Meta::Attribute), and everything else should be built on top of those using roles only - other benefits include getting rid of a lot of special casing (things like "$obj->meta->can('does_role') && $obj->meta->does_role('Foo')") and not having to have parallel implementations of a lot of things where subclassing isn't quite easy enough (see the issues we were having with attribute default generation between cmop and moose prior to moose 1.10) - MooseX::Attribute::Shorthand - core? see ml discussion about lazy_build on 9/30 - waiting on the role_class_attributes branch though - moosex-lazyrequire should use this for its implementation - MooseX::NonMoose - installing constructors under other names - inlined destructors (Moose::Meta::Method::Destructor is a mess, clean that up first) - core? - MooseX::MethodTraits - really want to get this released, but need to figure out what to do about Moose::Exporter first - would this be easier to integrate if core used moosex::exporter::easy stuff? then i could maybe just have a sugar function for with_traits that converted things to a call to with_meta underneath, and not have to deal with the "how do you extend moose::exporter itself" issue - otherwise, will need a way to extend the list of things that setup_import_methods takes, in a sane and composable way (providing a wrapper for setup_import_methods is not composable) - MooseX::Exporter::Easy - why have i not released this yet - MooseX::Module::Refresh - this may be more feasible now with my recent metaclass reinitialization fixes in moose... still may not have enough hooks on the module::refresh side (but was that the issue i was having in the first place? should reread my old code, see what's up) - Package::Stash - need to release with those vivification changes (maybe get someone to look them over first? rafl?) - App::Termcast::Server - was going to write a telnet viewer for this - Crawl - reorganize the hud to free up some space (mantis 164, i think there's stuff on the wiki) - constriction attacks (nagas, large snakes) - dungeon builders for elf (castle, like lemuel_castle), crypt (small rooms with perma-opening doors, like ancient_champions_mu) - snake needs work, but i don't have any immediate ideas - move branch monster lists out to external files somehow... mon-pick.cc is *terrible* - and then come up with better monster lists for vestibule and vaults - move monster definitions to lua - define interface entirely in lua - no idea how this would interact with tiles, but it'd be pretty handy for console - in-game options editor - Bot::Games - release this thing already, i'm pretty sure it's in a usable state at the moment (what was i waiting on again?) - factor out the wordlist stuff (that ghost, etc uses) into a role - text twist-style game? would need timer events from im-engine - go (Games::Goban) - persistent player objects, for keeping track of stats, etc - kiokudb? - Bread::Board - i had that whole sugary class stuff written up, and then got distracted - should polish this up, it was pretty useful - App::Termcast - works almost perfectly, but still very rare infinite loops (more often when the connection drops in confusing ways, like across a hibernate), tracking this down would be good - App::Nopaste - fix the mathbin stuff, the interface for that changed a while ago - JSORB - i was going to convert this to use Resource::Pack, did i ever do that? if so, it's not released, should get on that - cpanminus - on test failure, add an option to display build.log - agenda - better multiple calendar support - should be able to merge calendars in a single view (probably with color coding) - actual menu support, with arrow keys and stuff - this would help immensely for things like choosing active calendars - more options for repeating ("every three months" for instance would be useful) - Language::TECO - one of these days i'll finish this... - Games::SMTNocturne::Fusion - implement special fusions - should have some way to indicate which boss fusions are possible - still get duplicates if two possible demons to fuse are the same level - fusions_for should take parameters like lookup configuration ============= - look into mjd's git-snapshot - dzil: stop using pod-weaver-section-template, that was a terrible idea things i'd like to get started on writing ========================================= - moose/plack/bread::board/path::router web framework with stevan - minecraft bot with nperez? - cribbage scoring cpan module? could be fun - IM::Engine::Interface::AlephOneMetaserver - doomrl public server? - have some proof of concept hacks sitting around somewhere (on zaon?) for intercepting sounds in a way that can be used programmatically - can probably start just by using those hacks to write a local wrapper script for it that displays sounds visually rather than playing them - moose class browser - maybe factor out the moose_bench.pl stuff into a standalone module that can run some snippet of code under various conditions, and generate Chart::Clicker graphs of the results? it's a pretty nifty implementation, just kinda limited, being just hardcoded in the script like that