On Wed, 14 Jul 2010, Sam Vilain wrote:
I was catching up on the mailing list yesterday, and while I was not
surprised by the comment that the MooseX:: namespace should only be for
modules that extend Moose, I was surprised that MooseX::DataMapper -
despite being an extension specific to Moose classes, and despite being
a primarily trait-based API - did not meet the criteria.
Perhaps someone has some thoughts on where the line should be drawn; for
the above I would have thought it was a Moose extension.
This is tough to answer, but here's my take ...
If a module is primarily focused on Moose itself, and adding some feature
to it, it's likely to be a MooseX.
If a module extends Moose, but primarily to add features relevant to some
other domain, like Fey::ORM or Kioku, it's not a MooseX.
If a module could conceivably be part of the core, it's probably a MooseX.
If there's no way in hell a module could be part of the core (like PRANG),
it's probably not a MooseX.
If the module plugs into Moose, it might be a MooseX.
If the module layers on top of Moose (again, like Fey::ORM), it's
probably not a MooseX.
So MX::DataMapper is ...
A module which is primarily about another domain (ORMs and databases), it
could never be part of core, and it adds a layer on top of Moose. Not a
MooseX.
-dave
/*============================================================
http://VegGuide.org http://blog.urth.org
Your guide to all that's veg House Absolute(ly Pointless)
============================================================*/