Commit graph

32 commits

Author SHA1 Message Date
sno
15707ea5a1 Bumping revision of packages which depend direct or indirect on
devel/p5-Class-MOP. A late detected incompible change forced it.
2009-09-24 06:50:10 +00:00
sno
d9045fdec0 Updating devel/p5-Moose from 0.90 to 0.91
pkgsrc changes:
  - Adjusting dependencies

Upstream changes:
0.91 Tue, Sep 17, 2009
    * Moose::Object
      - Don't import any functions, in order to avoid polluting our namespace
        with things that can look like methods (blessed, try, etc)
        (nothingmuch)

    * Moose::Meta::Method::Constructor
      - The generated code needs to called Scalar::Util::blessed by its
        fully-qualified name or else Perl can interpret the call to blessed as
        an indirect method call. This broke Search::GIN, which in turn broke
        KiokuDB. (nothingmuch)
2009-09-20 09:55:04 +00:00
seb
17b091c8c2 Update p5-Moose from version 0.89 to version 0.90.
Pkgsrc changes:
- Adjust dependencies

Upstream changes:
0.90 Tue, Sep 15, 2009
    * Moose::Meta::Attribute::Native::Trait::Counter
    * Moose::Meta::Attribute::Native::Trait::String
      - For these two traits, an attribute which did not explicitly provide
        methods to handles magically ended up delegating *all* the helper
        methods. This has been removed. You must be explicit in your handles
        declaration for all Native Traits. (Dave Rolsky)

    * Moose::Object
      - DEMOLISHALL behavior has changed. If any DEMOLISH method dies, we make
        sure to rethrow its error message. However, we also localize $@ before
        this so that if all the DEMOLISH methods success, the value of $@ will
        be preserved. (nothingmuch and Dave Rolsky)
      - We now also localize $? during object destruction. (nothingmuch and
        Dave Rolsky)
      - The handling of DEMOLISH methods was broken for immutablized classes,
        which were not receiving the value of
        Devel::GlobalDestruction::in_global_destruction.
      - These two fixes address some of RT #48271, reported by Zefram.
      - This is all now documented in Moose::Manual::Construction.
      - Calling $object->new() is now deprecated. A warning will be
        issued. (perigrin)

    * Moose::Meta::Role
      - Added more hooks to customize how roles are applied. The role
        summation class, used to create composite roles, can now be changed
        and/or have meta-roles applied to it. (rafl)

    * Moose::Meta::Method::Delegation
      - fixed delegated methods to make sure that any modifiers attached to
        the accessor being delegated on will be called (Stevan)
        - added tests for this (Stevan)

    * Moose::Meta::Class
      - Moose no longer warns when a class that is being made immutable has
        mutable ancestors. While in theory this is a good thing to warn about,
        we found so many exceptions to this that doing this properly became
        quite problematic.

0.89_02 Thu, Sep 10, 2009
    * Moose::Meta::Attribute::Native
      - Fix Hash, which still had 'empty' instead of 'is_empty'. (hdp)

    * Moose::Meta::Attribute::Native::Trait::Array
      - Added a number of functions from List::Util and List::MoreUtils,
        including reduce, shuffle, uniq, and natatime. (doy)

    * Moose::Exporter
      - This module will now generate an init_meta method for your exporting
        class if you pass it options for
        Moose::Util::MetaRole::apply_metaclass_roles or
        apply_base_class_roles. This eliminates a lot of repetitive
        boilerplate for typical MooseX modules. (doy).
      - Documented the with_meta feature, which is a replacement for
        with_caller. This feature was added by josh a while ago.
      - The with_caller feature is now deprecated, but will not issue a
        warning yet. (Dave Rolsky)
      - If you try to wrap/export a subroutine which doesn't actually exist,
        Moose::Exporter will warn you about this. (doy)

    * Moose::Meta::Role::Application::ToRole
      - When a role aliased a method from another role, it was only getting
        the new (aliased) name, not the original name. This differed from what
        happens when a class aliases a role's methods. If you _only_ want the
        aliased name, make sure to also exclue the original name. (Dave
        Rolsky)

0.89_01 Wed Sep 2, 2009
    * Moose::Meta::Attribute
      - Added the currying syntax for delegation from AttributeHelpers to the
        existing delegation API. (hdp)

    * Moose::Meta::Attribute::Native
      - We have merged the functionality of MooseX::AttributeHelpers into the
        Moose core with some API tweaks. You can continue to use
        MooseX::AttributeHelpers, but it will not be maintained except
        (perhaps) for critical bug fixes in the future. See
        Moose::Manual::Delta for details. (hdp, jhannah, rbuels, Sartak,
        perigrin, doy)

    * Moose::Error::Croak
    * Moose::Error::Confess
      - Clarify documentation on how to use different error-throwing
        modules. (Curtis Jewell)

    * Moose
      - Correct POD for builder to point to Recipe8, not 9. (gphat)

    * Moose::Exporter
      - When a nonexistent sub name is passed to as_is, with_caller, or
        with_meta, throw a warning and skip the exporting, rather than
        installing a broken sub. (doy)

    * Moose::Meta::Class
      - Moose now warns if you call C<make_immutable> for a class with mutable
        ancestors. (doy)
2009-09-16 00:10:07 +00:00
sno
791574e04b build dependency to Test::Warn has been removed in 0.75_01 and is replaced
by Test::Output - but the dependency in pkgsrc was never removed.
2009-09-12 12:12:48 +00:00
seb
6842da374a Update p5-Moose from version 0.88 to version 0.89.
Pkgsrc changes:
- Adjust dependency on devel/p5-Class-MOP

Upstream changes:
0.89 Thu Aug 13, 2009
    * Moose::Manual::Attributes
      - Clarify "is", include discussion of "bare". (Sartak)

    * Moose::Meta::Role::Method::Conflicting
    * Moose::Meta::Role::Application::ToClass
      - For the first set of roles involved in a conflict, report all
        unresolved method conflicts, not just the first method. Fixes #47210
        reported by Ovid. (Sartak)

    * Moose::Meta::TypeConstraint
      - Add assert_valid method to use a TypeConstraint for assertion (rjbs)

    * Moose::Exporter
      - Make "use Moose -metaclass => 'Foo'" do alias resolution, like -traits
        does. (doy)
      - Allow specifying role options (alias, excludes, MXRP stuff) in the
        arrayref passed to "use Moose -traits" (doy)

    * Moose::Util
      - Add functions meta_class_alias and meta_attribute_alias for creating
        aliases for class and attribute metaclasses and metatraits. (doy)

    * Moose::Meta::Attribute
    * Moose::Meta::Method::Accessor
      - A trigger now receives the old value as a second argument, if the
        attribute had one. (Dave Rolsky)

    * Moose::Meta::Method::Constructor
      - Fix a bug with $obj->new when $obj has stringify overloading.
        Reported by Andrew Suffield [rt.cpan.org #47882] (Sartak)
        - However, we will probably deprecate $obj->new, so please don't start
          using it for new code!
2009-08-18 12:13:23 +00:00
seb
bb63a6d3f4 Update p5-Moose from version 0.87 to version 0.88.
Upstream changes:
0.88 Fri Jul 24, 2009
    * Moose::Manual::Contributing
      - Re-write the Moose::Manual::Contributing document to reflect
        the new layout and methods of work for the Git repository. All
        work now should be done in topic branches and reviewed by a
        core committer before being applied to master. All releases
        are done by a cabal member and merged from master to
        stable. This plan was devised by Yuval, blame him. (perigrin)

    * Moose::Meta::Role
      - Create metaclass attributes for the different role application
        classes.  (rafl)

    * Moose::Util::MetaRole
      - Allow applying roles to a meta role's role application
        classes. (rafl)

    * Moose::Meta::Attribute
      - Add weak_ref to allowed options for "has '+foo'" (mst)

    * Moose::Meta::Method::Accessor
      - No longer uses inline_slot_access in accessors, to support
        non-lvalue-based meta instances. (sorear)
2009-07-26 07:04:28 +00:00
sno
e1c69380f1 pkgsrc changes:
- Updating package for p5 module Moose from 0.81 to 0.87
  - Adjust dependencies according to META.yml

Upstream changes:
0.87 Tue Jul 7, 2009
    * Moose::Meta::Method::Delegation
      - Once again allow class names as well as objects for
        delegation. This was changed in 0.86.

0.86 Fri Jul 3, 2009
    * Moose::Meta::Class::Immutable::Trait
      - Fixes to work with the latest Class::MOP.

    * Moose::Meta::Method::Delegation
      - Delegation now dies with a more useful error message if the
        attribute's accessor returns something defined but
        unblessed. (hdp)

0.85 Fri, Jun 26, 2009
    * Moose::Meta::Attribute
      - The warning for 'no associated methods' is now split out into
        the _check_associated_methods method, so that extensions can
        safely call 'after install_accessors => ...'. This fixes a
        warning from MooseX::AttributeHelpers. (hdp)

0.84 Fri, Jun 26, 2009
    * Moose::Role
      - has now sets definition_context for attributes defined in
        roles. (doy)

    * Moose::Meta::Attribute
      - When adding an attribute to a metaclass, if the attribute has
        no associated methods, it will give a deprecation
        warning. (hdp)
      - Methods generated by delegation were not being added to
        associated_methods. (hdp)
      - Attribute accessors (reader, writer, accessor, predicate,
        clearer) now warn if they overwrite an existing method. (doy)
      - Attribute constructors now warn very noisily about unknown (or
        mispelled) arguments

    * Moose::Util::TypeConstraints
      - Deprecated the totally useless Role type name, which just
        checked if $object->can('does'). Note that this is _not_ the
        same as a type created by calling role_type('RoleName').

    * Moose::Util::TypeConstraints
    * Moose::Meta::TypeConstraint::DuckType
      - Reify duck type from a regular subtype into an actual class
        (Sartak)
        - Document this because Sartak did all my work for me
          (perigrin)

    * Moose::Meta::Attribute
      - Allow Moose::Meta::TypeConstraint::DuckType in handles, since
        it is just a list of methods (Sartak)

    * Moose::Meta::Role
      - The get_*_method_modifiers methods would die if the role had
        no modifiers of the given type (Robert Buels).

0.83 Tue, Jun 23, 2009
    * Moose::Meta::Class
      - Fix _construct_instance not setting the special __MOP__ object
        key in instances of anon classes. (doy)

0.82 Sun, Jun 21, 2009
    * Moose::Manual::Types
      - Mention MooseX::Types early to avoid users falling down the
        string parsing rathole (mst)

    * Moose::Manual::MooseX
      - Add warnings about class-level extensions and mention considering
        using plain objects instead
2009-07-07 18:43:30 +00:00
sno
ad26b27cbb pkgsrc changes:
- Updating package of p5 module Moose from 0.80 to 0.81
  - Apply Module::Install switch to skip dependency check, but keep
    bundled Module::Install (extended)
  - Adjusting license according to META.yaml

Upstream changes:
0.81 Sun, Jun 7, 2009
    * Bumped our Class::MOP prereq to the latest version (0.85), since
      that's what we need.
2009-06-15 21:16:02 +00:00
seb
15f14686e3 Update p5-Moose from version 0.79 to version 0.80.
Upstream changes:
0.80 Sat, Jun 6, 2009
    * Moose::Manual::FAQ
      - Add FAQ about the coercion change from 0.76 because it came up
        three times today (perigrin)
        - Win doy $10 dollars because Sartak didn't think anybody
          would document this fast enough (perigrin)

    * Moose::Meta::Method::Destructor
      - Inline a DESTROY method even if there are no DEMOLISH methods
        to prevent unnecessary introspection in
        Moose::Object::DEMOLISHALL

    * Moose::*
      - A role's required methods are now represented by
        Moose::Meta::Role::Method::Required objects. Conflicts are now
        represented by Moose::Meta::Role::Method::Conflicting
        objects. The benefit for end-users in that unresolved
        conflicts generate different, more instructive, errors,
        resolving Ovid's #44895. (Sartak)

    * Moose::Role
      - Improve the error message of "extends" as suggested by Adam
        Kennedy and confound (Sartak)
      - Link to Moose::Manual::Roles from Moose::Role as we now have
        excellent documentation (Adam Kennedy)

    * Tests
      - Update test suite for subname change in Class::MOP
        (nothingmuch)
      - Add TODO test for infinite recursion in Moose::Meta::Class
        (groditi)
2009-06-07 11:31:05 +00:00
seb
c8022c7f8d Update p5-Moose from version 0.78 to version 0.79.
Upstream changes:
0.79 Wed, May 13, 2009
    * Tests
      - More fixes for Win32 problems. Reported by Robert Krimen.

    * Moose::Object
      - The DEMOLISHALL method could still blow up in some cases
        during global destruction. This method has been made more
        resilient in the face of global destruction's random garbage
        collection order.
2009-05-16 16:22:13 +00:00
seb
71fac601a6 Update p5-Moose from version 0.77 to version 0.78.
Pkgsrc changes:
- Adjust dependency: requires p5-Class-MOP>=0.83 and p5-Sub-Name for
runtime and p5-Test-Exception>=0.27 for build (test really)

Upstream changes:
0.78 Tue, May 12, 2009
    * Moose::Cookbook::FAQ and Moose::Cookbook::WTF
      - Merged these documents into what is now Moose::Manual::FAQ

    * Moose::Unsweetened
      - Moved to Moose::Manual::Unsweetened

    * Moose::Cookbook::Basics::Recipes 9-12
      - Renamed to be 8-11, since recipe 8 did not exist

    * Moose::Exporter
      - Make Moose::Exporter import strict and warnings into packages
        that use it (doy)

    * Moose::Object
      - Fix DEMOLISHALL sometimes not being able to find DEMOLISH
        methods during global destruction (doy)

    * Moose::Meta::Class
    * Moose::Meta::Role::Application::ToClass
      - Track the Role::Application objects created during class-role
        consumption (Sartak)

    * Moose::Meta::Class
      - Fix metaclass incompatibility errors when extending a vanilla perl
        class which isa Moose class with a metaclass role applied (t0m)

    * Moose::Meta::Role
      - Add a role-combination hook, _role_for_combination, for the
        benefit of MooseX::Role::Parameterized (Sartak)

    * Tests
      - Some tests were failing on Win32 because they explicit checked
        warning output for newlines. Reported by Nickolay Platonov.
2009-05-13 17:46:51 +00:00
seb
22d6f7eb62 Update p5-Moose from version 0.76 to version 0.77.
Pkgsrc changes:
- Adjust dependency on p5-Class-MOP

Upstream changes:
0.77 Sat, May 2, 2009
    * Moose::Meta::Role
      - Add explicit use of Devel::GlobalDestruction and Sub::Name
        (perigrin)

    * Moose::Object
      - Pass a boolean to DEMOLISHALL and DEMOLISH indicating whether
        or not we are currently in global destruction (doy)
      - Add explicit use of Devel::GlobalDestruction and Sub::Name
        (perigrin)

    * Moose::Cookbook::FAQ
      - Reworked much of the existing content to be more useful to
        modern Moose hackers (Sartak)

    * Makefile.PL
      - Depend on Class::MOP 0.83 instead of 0.82_01. It seems that if
        we use a dev version number there CPAN.pm will not follow the
        dependency.
2009-05-02 21:33:17 +00:00
seb
0b6a01dd38 Update p5-Moose from version 0.75 to version 0.76.
Pkgsrc changes:
- Adjust dependency on p5-Class-MOP

Upstream changes:
0.76 Mon, April 27, 2009
    * Moose::Meta::TypeConstraint
      - Do not run coercions in coerce() if the value already passes the type
        constraint (hdp)

    * Moose::Meta::TypeConstraint::Class
      - In validation error messages, specifically say that the value is not
        an instance of the class. This should alleviate some frustrating
        forgot-to-load-my-type bugs. rt.cpan.org #44639 (Sartak)

    * Moose::Meta::Role::Application::ToClass
      - Revert the class-overrides-role warning in favor of a solution outside
        of the Moose core (Sartak)
2009-04-27 22:12:01 +00:00
seb
27ce362fd4 Update from version 0.74 to version 0.75.
Upstream changes:
0.75 Mon, April 20, 2009
    * Moose
    * Moose::Meta::Class
      - Move validation of not inheriting from roles from Moose::extends to
        Moose::Meta::Class::superclasses (doy)

    * Moose::Util
      - add ensure_all_roles() function to encapsulate the common "apply this
        role unless the object already does it" pattern (hdp)

    * Moose::Exporter
      - Users can now select a different metaclass with the "-metaclass"
        option to import, for classes and roles (Sartak)

    * Moose::Meta::Role
      - Make method_metaclass an attr so that it can accept a metarole
        application.  (jdv)
2009-04-21 18:55:16 +00:00
sno
202ee0e3d7 PkgSrc changes:
- Update package for p5 module Moose to 0.74
  - set artistic-2.0 as license
  - update dependencies along META.yml

Upstream changes:
0.74 Tue, April 7, 2009
    * Moose::Meta::Role
    * Moose::Meta::Method::Destructor
      - Include stack traces in the deprecation warnings.
        (Florian Ragwitz)

    * Moose::Meta::Class
      - Removed the long-deprecated _apply_all_roles method.

    * Moose::Meta::TypeContsraint
      - Removed the long-deprecated union method.


0.73_02 Mon, April 6, 2009
    * More deprecations and renamings
      - Moose::Meta::Method::Constructor
        - initialize_body => _initialize_body (this is always called
          when an object is constructed)

    * Moose::Object
      - The DEMOLISHALL method could throw an exception during global
        destruction, meaning that your class's DEMOLISH methods would
        not be properly called. Reported by t0m.

    * Moose::Meta::Method::Destructor
      - Destructor inlining was totally broken by the change to the
        is_needed method in 0.72_01. Now there is a test for this
        feature, and it works again.

0.73_01 Sun, April 5, 2009
    * Moose::*
      - Call user_class->meta in fewer places, with the eventual goal
        of allowing the user to rename or exclude ->meta
        altogether. Instead uses Class::MOP::class_of. (Sartak)

    * Moose::Meta::Method::Accessor
      - If an attribute had a lazy default, and that value did not
        pass the attribute's type constraint, it did not get the
        message from the type constraint, instead using a generic
        message. Test provided by perigrin.

    * Moose::Util::TypeConstraints
      - Add duck_type keyword. It's sugar over making sure an object
        can() a list of methods. This is easier than jrockway's
        suggestion to fork all of CPAN. (perigrin)
        - add tests and documentation (perigrin)

    * Moose
      - Document the fact that init_meta() returns the target class's
        metaclass object. (hdp)

    * Moose::Cookbook::Extending::Recipe1
    * Moose::Cookbook::Extending::Recipe2
    * Moose::Cookbook::Extending::Recipe3
    * Moose::Cookbook::Extending::Recipe4
      - Make init_meta() examples explicitly return the metaclass and
        point out this fact. (hdp)

    * Moose::Cookbook::Meta::Recipe6
      - A new recipe, creating a custom meta-method class.

    * Moose::Meta::Class
    * Moose::Meta::Method::Constructor
      - Attribute triggers no longer receive the meta-attribute object
        as an argument in any circumstance. Previously, triggers
        called during instance construction were passed the
        meta-attribute, but triggers called by normal accessors were
        not. Fixes RT#44429, reported by Mark Swayne. (hdp)

    * Moose::Manual::Attributes
      - Remove references to triggers receving the meta-attribute object as an
        argument. (hdp)

    * Moose::Cookbook::FAQ
      - Remove recommendation for deprecated Moose::Policy and
        Moose::Policy::FollowPBP; recommend MooseX::FollowPBP
        instead. (hdp)

    * Many methods have been renamed with a leading underscore, and a
      few have been deprecated entirely. The methods with a leading
      underscore are consider "internals only". People writing
      subclasses or extensions to Moose should feel free to override
      them, but they are not for "public" use.

      - Moose::Meta::Class
        - check_metaclass_compatibility => _check_metaclass_compatibility

      - Moose::Meta::Method::Accessor
        - initialize_body => _initialize_body (this is always called
          when an object is constructed)
        - /(generate_.*_method(?:_inline)?)/ => '_' . $1

      - Moose::Meta::Method::Constructor
        - initialize_body => _initialize_body (this is always called
          when an object is constructed)
        - /(generate_constructor_method(?:_inline)?)/ => '_' . $1
        - attributes => _attributes (now inherited from parent)
        - meta_instance => _meta_instance (now inherited from parent)

      - Moose::Meta::Role
        - alias_method is deprecated. Use add_method

0.73 Fri, March 29, 2009
    * No changes from 0.72_01.

0.72_01 Thu, March 26, 2009
    * Everything
      - Almost every module has complete API documentation. A few
        methods (and even whole classes) have been intentionally
        excluded pending some rethinking of their APIs.

    * Moose::Util::TypeConstraints
      - Calling subtype with a name as the only argument is now an
        exception. If you want an anonymous subtype do:

         my $subtype = subtype as 'Foo';

    * Moose::Cookbook::Meta::Recipe7
      - A new recipe, creating a custom meta-instance class.

    * Moose::Cookbook::Basics::Recipe5
      - Fix various typos and mistakes. Includes a patch from Radu
        Greab.

    * Moose::Cookbook::Basics::Recipe9
      - Link to this recipe from Moose.pm's builder blurb

    * Moose::Exporter
      - When wrapping a function with a prototype, Moose::Exporter now
        makes sure the wrapped function still has the same
        prototype. (Daisuke Maki)

    * Moose::Meta::Attribute
      - Allow a subclass to set lazy_build for an inherited
        attribute. (hdp)

    * Makefile.PL
      - Explicitly depend on Data::OptList. We already had this dependency
        via Sub::Exporter, but since we're using it directly we're
        better off with it listed. (Sartak)

    * Moose::Meta::Method::Constructor
      - Make it easier to subclass the inlining behaviour. (Ash
        Berlin)

    * Moose::Manual::Delta
      - Details significant changes in the history of Moose, along
        with recommended workarounds.

    * Moose::Manual::Contributing
      - Contributor's guide to Moose.

    * Moose::Meta::Method::Constructor
      - The long-deprecated intialize_body method has been removed
        (yes, spelled like that).

    * Moose::Meta::Method::Destructor
      - This is_needed method is now always a class method.

    * Moose::Meta::Class
      - Changes to the internals of how make_immutable works to match
        changes in latest Class::MOP.
2009-04-12 13:00:15 +00:00
seb
53e0f0a873 Update from version 0.70 to version 0.72.
Upstream changes:
0.72 Mon, February 23, 2009
    * Moose::Object
    * Moose::Meta::Method::Constructor
      - A mutable class accepted Foo->new(undef) without complaint,
        while an immutable class would blow up with an unhelpful
        error. Now, in both cases we throw a helpful error
        instead. Reported by doy.

0.71_01 Sun, February 22, 2009
    * Moose::Cookbook
      - Hopefully fixed some POD errors in a few recipes that caused
        them to display weird on search.cpan.org.

    * Moose::Util::TypeConstraints
      - Calling type or subtype without the sugar helpers (as, where,
        message) is now deprecated.
      - The subtype function tried hard to guess what you meant, but
        often got it wrong. For example:

         my $subtype = subtype as 'ArrayRef[Object]';

        This caused an error in the past, but now works as you'd
        expect.

    * Everywhere
      - Make sure Moose.pm is loaded before calling
        Moose->throw_error. This wasn't normally an issue, but could
        bite you in weird cases.

0.71 Thu, February 19, 2009
    * Moose::Cookbook::Basics::Recipe11
      - A new recipe which demonstrates the use of BUILDARGS and
        BUILD. (Dave Rolsky)

    * Moose::Cookbook::Roles::Recipe3
      - A new recipe, applying a role to an object instance. (Dave
        Rolsky)

    * Moose::Exporter
      - Allow overriding specific keywords from "also" packages. (doy)

    * Tests
      - Replace hardcoded cookbook tests with Test::Inline POD
        to ensure they don't get out of sync. (Dave Rolsky)

    * Moose::Cookbook
      - Working on the above turned up a number of little bugs in the
        recipe code. (Dave Rolsky)

    * Moose::Util::TypeConstraints::Optimized
      - Just use Class::MOP for the optimized ClassName check. (Dave
        Rolsky)
2009-02-26 22:26:31 +00:00
seb
46ce6f3bd5 Update from version 0.69 to version 0.70.
Pkgsrc changes:
- adjust dependency on devel/p5-Moose

Upstream changes:
0.70 Sat, February 14, 2009
    * Moose::Util::TypeConstraints
      - Added the RoleName type (stevan)
        - added tests for this (stevan)

    * Moose::Cookbook::Basics::Recipe3
      - Updated the before qw[left right] sub to be a little more
        defensive about what it accepts (stevan)
        - added more tests to t/000_recipies/basics/003_binary_tree.t
          (stevan)

    * Moose::Object
      - We now always call DEMOLISHALL, even if a class does not
        define DEMOLISH. This makes sure that method modifiers on
        DEMOLISHALL work as expected. (doy)
        - added tests for this (EvanCarroll)

    * Moose::Util::MetaRole
      - Accept roles for the wrapped_method_metaclass (rafl)
        - added tests for this (rafl)

    * Moose::Meta::Attribute
      - We no longer pass the meta-attribute object as a final
        argument to triggers. This actually changed for inlined code a
        while back, but the non-inlined version and the docs were
        still out of date.

    * Tests
      - Some tests tried to use Test::Warn 0.10, which had bugs. Now
        they require 0.11. (Dave Rolsky)

    * Documentation
      - Lots of small changes to the manual, cookbook, and
        elsewhere. These were based on feedback from various
        users, too many to list here. (Dave Rolsky)
2009-02-15 08:39:37 +00:00
seb
fa3c0d1e73 Update from version 0.68 to version 0.69.
Upstream changes:
0.69 Thu, February 12, 2009
    * Moose
      - Make some keyword errors use throw_error instead of croak
        since Moose::Exporter wraps keywords now (Sartak)

    * Moose::Cookbook::*
      - Revised every recipe for style and clarity. Also moved some
        documentation out of cookbook recipes and into Moose::Manual
        pages. This work was funded as part of the Moose docs grant
        from TPF. (Dave Rolsky)

    * Moose::Meta::Method::Delegation
      - If the attribute doing the delegation was not populated, the
        error message did not specify the attribute name
        properly. (doy)
2009-02-14 15:36:47 +00:00
seb
9923ff465d Update from version 0.65 to version 0.68.
Upstream changes:
0.68 Wed, February 4, 2009
    * POD
      - Many spelling, typo, and formatting fixes by daxim.

    * Moose::Manual::Attributes
      - The NAME section in the POD used "Attribute" so search.cpan
        didn't resolve links from other documents properly.

    * Moose::Meta::Method::Overriden
      - Now properly spelled as Overridden. Thanks to daxim for
        noticing this.

0.67 Tue, February 3, 2009
    * Moose::Manual::*
      - Lots of little typo fixes and a few clarifications. Several
        pages didn't have proper titles, and so weren't actually
        visible on search.cpan.org. Thanks to hanekomu for a variety
        of fixes and formatting improvements.

0.66 Tue, February 3, 2009
    * Moose::Manual
      - This is a brand new, extensive manual for Moose. This aims to
        provide a complete introduction to all of Moose's
        features. This work was funded as part of the Moose docs grant
        from TPF. (Dave Rolsky)

    * Moose::Meta::Attribute
      - Added a delegation_metaclass method to replace a hard-coded
        use of Moose::Meta::Method::Delegation. (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - If you created a subtype and passed a parent that Moose didn't
        know about, it simply ignored the parent. Now it automatically
        creates the parent as a class type. This may not be what you
        want, but is less broken than before. (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - This module tried throw errors by calling Moose->throw_error,
        but it did not ensure that Moose was loaded first. This could
        cause very unhelpful errors when it tried to throw an error
        before Moose was loaded. (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - You could declare a name with subtype such as "Foo!Bar" that
        would be allowed, but if you used it in a parameterized type
        such as "ArrayRef[Foo!Bar]" it wouldn't work. We now do some
        vetting on names created via the sugar functions, so that they
        can only contain alphanumerics, ":", and ".". (Dave Rolsky)
2009-02-07 11:03:00 +00:00
seb
4bf8fa29ae Update from version 0.64 to version 0.65.
Pkgsrc changes:
- Adjust dependency on devel/p5-Class-MOP
- Remove build dependency on devel/p5-Test-LongString

Upstream changes:
0.65 Thu, January 22, 2008
    * Moose and Moose::Meta::Method::Overridden
      - If an overridden method called super(), and then the
        superclass's method (not overridden) _also_ called super(),
        Moose went into an endless recursion loop. Test provided by
        Chris Prather. (Dave Rolsky)

    * Moose::Meta::TypeConstraint
      - All methods are now documented. (gphat)

    * t/100_bugs/011_DEMOLISH_eats_exceptions.t
      - Fixed some bogus failures that occurred because we tried to
        validate filesystem paths in a very ad-hoc and
        not-quite-correct way. (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - Added maybe_type to exports. See docs for details. (rjbs)

    * Moose
      - Added Moose::Util::TypeConstraints to the SEE ALSO
        section. (pjf)

    * Moose::Role
      - Methods created via an attribute can now fulfill a "requires"
        declaration for a role. (nothingmuch)

    * Moose::Meta::Method::*
      - Stack traces from inlined code will now report its line and
        file as being in your class, as opposed to in Moose
        guts. (nothingmuch).
2009-01-23 11:03:48 +00:00
seb
d40a2047e4 Update from version 0.63 to version 0.64.
Pkgsrc changes:
- Adjust dependency on devel/p5-Class-MOP

Upstream changes:
0.64 Wed, December 31, 2008
    * Moose::Meta::Method::Accessor
      - Always inline predicate and clearer methods (Sartak)
    * Moose::Meta::Attribute
      - Support for parameterized traits (Sartak)
      - verify_against_type_constraint method to avoid duplication
        and enhance extensibility (Sartak)
    * Moose::Meta::Class
      - Tests (but no support yet) for parameterized traits (Sartak)
    * Moose
      - Require Class::MOP 0.75+, which has the side effect of making
        sure we work on Win32. (Dave Rolsky)
2009-01-04 09:30:40 +00:00
seb
2689f3b628 Update from version 0.62 to version 0.63.
Pkgsrc changes:
- adjust dependency on devel/p5-Class-MOP: minimum required version is
0.72 while Moose's minimum required version is 0.71_02 but the latter
did not make it into pkgsrc.
- set minimum required version of devel/p5-List-MoreUtils to 0.12
- whitespace fix

Upstream changes:
0.63 Mon, December 8, 2008
    * Moose::Unsweetened
      - Some small grammar tweaks and bug fixes in non-Moose example
        code. (Dave Rolsky)

0.62_02 Fri, December 5, 2008
    * Moose::Meta::Role::Application::ToClass
      - When a class does not provide all of a role's required
        methods, the error thrown now mentions all of the missing
        methods, as opposed to just the first one found. Requested by
        Michael Schwern (RT #41119). (Dave Rolsky)

    * Moose::Meta::Method::Constructor
      - Moose will no longer inline a constructor for your class
        unless it inherits its constructor from Moose::Object, and
        will warn when it doesn't inline. If you want to force
        inlining anyway, pass "replace_constructor => 1" to
        make_immutable. Addresses RT #40968, reported by Jon
        Swartz. (Dave Rolsky)
      - The quoting of default values could be broken if the default
        contained a single quote ('). Now we use quotemeta to escape
        anything potentially dangerous in the defaults. (Dave Rolsky)

0.62_01 Wed, December 3, 2008
    * Moose::Object
      - use the method->execute API for BUILDALL
        and DEMOLISHALL (Sartak)

    * Moose::Util::TypeConstraints
      - We now make all the type constraint meta classes immutable
        before creating the default types provided by Moose. This
        should make loading Moose a little faster. (Dave Rolsky)
2008-12-09 22:19:14 +00:00
seb
9a0088986e Update from version 0.61 to version 0.62.
Pkgsrc changes:
- adjust dependency on devel/p5-Class-MOP
- add new dependency on devel/p5-Task-Weaken

Upstream changes:
0.62 Wed November 26, 2008
    * Moose::Meta::Role::Application::ToClass
      Moose::Meta::Role::Application::ToRole
      - fixed issues where excluding and aliasing the
        same methods for a single role did not work
        right (worked just fine with multiple
        roles) (stevan)
        - added test for this (stevan)

    * Moose::Meta::Role::Application::RoleSummation
      - fixed the error message when trying to compose
        a role with a role it excludes (Sartak)

    * Moose::Exporter
      - Catch another case where recursion caused the value
        of $CALLER to be stamped on (t0m)
        - added test for this (t0m)

    * Moose
      - Remove the make_immutable keyword, which has been
        deprecated since April. It breaks metaclasses that
        use Moose without no Moose (Sartak)

    * Moose::Meta::Attribute
      - Removing an attribute from a class now also removes delegation
        (handles) methods installed for that attribute (t0m)
        - added test for this (t0m)

    * Moose::Meta::Method::Constructor
      - An attribute with a default that looked like a number (but was
        really a string) would accidentally be treated as a number
        when the constructor was made immutable (perigrin)
        - added test for this (perigrin)

    * Moose::Meta::Role
      - create method for constructing a role
        dynamically (Sartak)
        - added test for this (Sartak)
      - anonymous roles! (Sartak)
        - added test for this (Sartak)

    * Moose::Role
      - more consistent error messages (Sartak)

    * Moose::Cookbook::Roles::Recipe1
      - attempt to explain why a role that just requires
        methods is useful (Sartak)
2008-11-29 13:01:39 +00:00
seb
df0ab8c1f3 Update from version 0.60 to version 0.61.
Changes:
0.61 Fri November 7, 2008
    * Moose::Meta::Attribute
      - When passing a role to handles, it will be loaded if necessary
        (perigrin)

    * Moose::Meta::Class
      - Method objects returned by get_method (and other methods)
        Could end up being returned without an associated_metaclass
        attribute. Removing get_method_map, which is provided by
        Class::MOP::Class, fixed this. The Moose version did nothing
        different from its parent except introduce a bug. (Dave Rolsky)
        - added tests for this (jdv79)

    * Various
      - Added a $VERSION to all .pm files which didn't have one. Fixes
        RT #40049, reported by Adam Kennedy. (Dave Rolsky)

    * Moose::Cookbook::Basics::Recipe4
    * Moose::Cookbook::Basics::Recipe6
      - These files had spaces on the first line of the SYNOPSIS, as
        opposed to a totally empty line. According to RT #40432, this
        confuses POD parsers. (Dave Rolsky)
2008-11-08 14:03:48 +00:00
seb
b7896ad0c1 Update from version 0.59 to version 0.60.
Changes:
0.60 Fri October 25, 2008
    * Moose::Exporter
      - Passing "-traits" when loading Moose caused the Moose.pm
        exports to be broken. Reported by t0m. (Dave Rolsky)
        - Tests for this bug. (t0m)

    * Moose::Util
      - Change resolve_metaclass alias to use the new
        load_first_existing_class function. This makes it a lot
        simpler, and also around 5 times faster. (t0m)
      - Add caching to resolve_metaclass_alias, which gives an order
        of magnitude speedup to things which repeatedly call the
        Moose::Meta::Attribute->does method, notably MooseX::Storage
        (t0m)

    * Moose::Util::TypeConstraint
      - Put back the changes for parameterized constraints that
        shouldn't have been removed in 0.59. We still cannot parse
        them, but MooseX modules can create them in some other
        way. See the 0.58 changes for more details. (jnapiorkowski)
      - Changed the way subtypes are created so that the job is
        delegated to a type constraint parent.  This clears up some
        hardcoded checking and should allow correct subtypes of
        Moose::Meta::Type::Constraint. Don't rely on this new API too
        much (create_child_type) because it may go away in the
        future. (jnapiorkowski)

    * Moose::Meta::TypeConstraint::Union
      - Type constraint names are sorted as strings, not numbers.
        (jnapiorkowski)

    * Moose::Meta::TypeConstraint::Parameterizable
      - New parameterize method. This can be used as a factory method
        to make a new type constraint with a given parameterized
        type. (jnapiorkowski)
        - added tests (jnapiorkowski)
2008-10-27 00:03:21 +00:00
seb
0d593dfa59 Update from version 0.58 to version 0.59.
Changes:
0.59 Tue October 14, 2008
    * Moose
      - Add abridged documentation for builder/default/initializer/
        predicate, and link to more details sections in
        Class::MOP::Attribute. (t0m)

    * Moose::Util::TypeConstraints
      - removed prototypes from all but the &-based stuff (mst)

    * Moose::Util::TypeConstraints
      - Creating a anonymous subtype with both a constraint and a
        message failed with a very unhelpful error, but should just
        work. Reported by t0m. (Dave Rolsky)

    * Tests
      - Some tests that used Test::Warn if it was available failed
        with older versions of Test::Warn. Reported by Fayland. (Dave
        Rolsky)
      - Test firing behavior of triggers in relation to builder/default/
        lazy_build. (t0m)
      - Test behavior of equals/is_a_type_of/is_a_subtype_of for all
        kinds of supported type. (t0m)

    * Moose::Meta::Class
      - In create(), do not pass "roles" option to the superclass
        - added related test that creates an anon metaclass with
          a required attribute

    * Moose::Meta::TypeConstraint::Class
    * Moose::Meta::TypeConstraint::Role
      - Unify behavior of equals/is_a_type_of/is_a_subtype_of with
        other types (as per change in 0.55_02). (t0m)

    * Moose::Meta::TypeConstraint::Registry
      - Fix warning when dealing with unknown type names (t0m)

    * Moose::Util::TypeConstraints
      - Reverted changes from 0.58 related to handle parameterized
        types. This caused random failures on BSD and Win32 systems,
        apparently related to the regex engine. This means that Moose
        can no longer parse structured type constraints like
        ArrayRef[Int,Int] or HashRef[name=>Str]. This will be
        supported in a slightly different way via MooseX::Types some
        time in the future. (Dave Rolsky)
2008-10-22 00:58:28 +00:00
he
b021813da0 Bump the PKGREVISION for all packages which depend directly on perl,
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.

The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
2008-10-19 19:17:40 +00:00
seb
28abcc7eb1 Update from version 0.57 to version 0.58.
Changes:
0.58
    !! This release has an incompatible change regarding !!
    !! how roles add methods to a class !!

    * Roles and role application
      ! Roles now add methods by calling add_method, not
        alias_method. They make sure to always provide a method
        object, which will be cloned internally. This means that it is
        now possible to track the source of a method provided by a
        role, and even follow its history through intermediate roles.

        This means that methods added by a role now show up when
        looking at a class's method list/map. (Dave Rolsky)

    * Makefile.PL
      - From this release on, we'll try to maintain a list of
        conflicting modules, and warn you if you have one
        installed. For example, this release conflicts with ...
        - MooseX::Singleton        <= 0.11
        - MooseX::Params::Validate <= 0.05
        - Fey::ORM                 <= 0.10

        In general, we try to not break backwards compatibility for
        most Moose users, but MooseX modules and other code which
        extends Moose's metaclasses is often affected by very small
        changes in the Moose internals.

    * Moose::Meta::Method::Delegation
    * Moose::Meta::Attribute
      - Delegation methods now have their own method class. (Dave
        Rolsky)

    * Moose::Meta::TypeConstraint::Parameterizable
      - Added a new method 'parameterize' which is basically a factory
        for the containing constraint.  This makes it easier to create
        new types of parameterized constraints. (jnapiorkowski)

    * Moose::Meta::TypeConstraint::Union
      - Changed the way Union types canonicalize their names to follow
        the normalized TC naming rules, which means we strip all
        whitespace. (jnapiorkowski)

    * Moose::Util::TypeConstraints
      - Parameter and Union args are now sorted, this makes Int|Str
        the same constraint as Str|Int. (jnapiorkowski)
      - Changes to the way Union types are parsed to more correctly
        stringify their names. (jnapiorkowski)
      - When creating a parameterized type, we now use the new
        parameterize method. (jnapiorkowski)
      - Incoming type constraint strings are now normalized to remove
        all whitespace differences. (jnapiorkowski)
      - Changed the way we parse type constraint strings so that we now
        match TC[Int,Int,...] and TC[name=>Str] as parameterized type
        constraints.  This lays the foundation for more flexible type
        constraint implementations.

    * Tests and docs for all the above. (jnapiorkowski)

    * Moose::Exporter
    * Moose
      - Moose::Exporter will no longer remove a subroutine that the
        exporting package re-exports. Moose re-exports the
        Carp::confess function, among others. The reasoning is that we
        cannot know whether you have also explicitly imported those
        functions for your own use, so we err on the safe side and
        always keep them. (Dave Rolsky)
        - added tests for this (rafl)

    * Moose::Meta::Class
      - Changes to how we fix metaclass compatibility that are much
        too complicated to go into. The summary is that Moose is much
        less likely to complain about metaclass incompatibility
        now. In particular, if two metaclasses differ because
        Moose::Util::MetaRole was used on the two corresponding
        classes, then the difference in roles is reconciled for the
        subclass's metaclass. (Dave Rolsky)
      - Squashed an warning in _process_attribute (thepler)

    * Moose::Meta::Role
      - throw exceptions (sooner) for invalid attribute names (thepler)
        - added tests for this (thepler)

    * Moose::Util::MetaRole
      - If you explicitly set a constructor or destructor class for a
        metaclass object, and then applied roles to the metaclass,
        that explicitly set class would be lost and replaced with the
        default.

    * Moose::Meta::Class
    * Moose::Meta::Attribute
    * Moose::Meta::Method
    * Moose
    * Moose::Object
    * Moose::Error::Default
    * Moose::Error::Croak
    * Moose::Error::Confess
      - All instances of confess() changed to use overridable
        C<throw_error> method. This method ultimately calls a class
        constructor, and you can change the class being called. In
        addition, errors now pass more information than just a string.
        The default C<error_class> behaves like C<Carp::confess>, so
        the behavior is not visibly different for end users.
2008-10-06 20:56:57 +00:00
seb
0d3afc9818 Update from version 0.55 to version 0.57.
Package changes: add all required Perl modules for test target as
build dependencies

Changes:
0.57 Wed September 3, 2008
    * Moose::Intro
      - A new bit of doc intended to introduce folks familiar with
        "standard" Perl 5 OO to Moose concepts. (Dave Rolsky)

    * Moose::Unsweetened
      - Shows examples of two classes, each done first with and then
        without Moose. This makes a nice parallel to
        Moose::Intro. (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - Fixed a bug in find_or_parse_type_constraint so that it
        accepts a Moose::Meta::TypeConstraint object as the parent
        type, not just a name (jnapiorkowski)
        - added tests (jnapiorkowski)

    * Moose::Exporter
      - If Sub::Name was not present, unimporting failed to actually
        remove some sugar subs, causing test failures (Dave Rolsky)

0.56 Mon September 1, 2008
    For those not following the series of dev releases, there are
    several major changes in this release of Moose.
      ! Moose::init_meta should now be called as a method. See the
        docs for details.

      - Major performance improvements by nothingmuch.

      - New modules for extension writers, Moose::Exporter and
        Moose::Util::MetaRole by Dave Rolsky.

      - Lots of doc improvements and additions, especially in the
        cookbook sections.

      - Various bug fixes.

    * Removed all references to the experimental-but-no-longer-needed
      Moose::Meta::Role::Application::ToMetaclassInstance.

    * Require Class::MOP 0.65.

0.55_04 Sat August 30, 2008
    * Moose::Util::MetaRole
    * Moose::Cookbook::Extending::Recipe2
      - This simplifies the application of roles to any meta class, as
        well as the base object class. Reimplemented metaclass traits
        using this module. (Dave Rolsky)

    * Moose::Cookbook::Extending::Recipe1
      - This a new recipe, an overview of various ways to write Moose
        extensions (Dave Rolsky)

    * Moose::Cookbook::Extending::Recipe3
    * Moose::Cookbook::Extending::Recipe4
      - These used to be Extending::Recipe1 and Extending::Recipe2,
        respectively.

0.55_03 Fri August 29, 2008
    * No changes from 0.55_02 except increasing the Class::MOP
      dependency to 0.64_07.

0.55_02 Fri August 29, 2008
    * Makefile.PL and Moose.pm
      - explicitly require Perl 5.8.0+ (Dave Rolsky)

    * Moose::Util::TypeConstraints
      - Fix warnings from find_type_constraint if the type is not
        found (t0m).

    * Moose::Meta::TypeConstraint
      - Predicate methods (equals/is_a_type_of/is_subtype_of) now
        return false if the type you specify cannot be found in the
        type registry, rather than throwing an unhelpful and
        coincidental exception. (t0m).
        - added docs & test for this (t0m)

    * Moose::Meta::TypeConstraint::Registry
      - add_type_constraint now throws an exception if a parameter is
        not supplied (t0m).
        - added docs & test for this (t0m)

    * Moose::Cookbook::FAQ
      - Added a faq entry on the difference between "role" and "trait"
        (t0m)

    * Moose::Meta::Role
      - Fixed a bug that caused role composition to not see a required
        method when that method was provided by another role being
        composed at the same time. (Dave Rolsky)
        - test and bug finding (tokuhirom)

0.55_01 Wed August 20, 2008

    !! Calling Moose::init_meta as a function is now         !!
    !! deprecated. Please see the Moose.pm docs for details. !!

    * Moose::Meta::Method::Constructor
      - Fix inlined constructor so that values produced by default
        or builder methods are coerced as required. (t0m)
        - added test for this (t0m)

    * Moose::Meta::Attribute
      - A lazy attribute with a default or builder did not attempt to
        coerce the default value. The immutable code _did_
        coerce. (t0m)
        - added test for this (t0m)

    * Moose::Exporter
      - This is a new helper module for writing "Moose-alike"
        modules. This should make the lives of MooseX module authors
        much easier. (Dave Rolsky)

    * Moose
    * Moose::Cookbook::Meta::Recipe5
      - Implemented metaclass traits (and wrote a recipe for it):

          use Moose -traits => 'Foo'

        This should make writing small Moose extensions a little
        easier (Dave Rolsky)

    * Moose::Cookbook::Basics::Recipe1
      - Removed any examples of direct hashref access, and applied an
        editorial axe to reduce verbosity. (Dave Rolsky)

    * Moose::Cookbook::Basics::Recipe1
      - Also applied an editorial axe here. (Dave Rolsky)

    * Moose
    * Moose::Cookbook::Extending::Recipe1
    * Moose::Cookbook::Extending::Recipe2
      - Rewrote extending and embedding moose documentation and
        recipes to use Moose::Exporter (Dave Rolsky)

    * Moose
    * Moose::Role
      - These two modules now warn when you load them from the main
        package "main" package, because we will not export sugar to
        main. Previously it just did nothing. (Dave Rolsky)

    * Moose::Role
      - Now provide an init_meta method just like Moose.pm, and you
        can call this to provide an alternate role metaclass. (Dave
        Rolsky and nothingmuch)
      - get_method_map now respects the package cache flag (nothingmuch)

    * Moose::Meta::Role
      - Two new methods - add_method and wrap_method_body
        (nothingmuch)

    * many modules
      - Optimizations including allowing constructors to accept hash
        refs, making many more classes immutable, and making
        constructors immutable. (nothingmuch)
2008-09-08 23:14:00 +00:00
seb
9eed912bdd Update from version 0.54 to version 0.55.
(while here adjust MASTER_SITES).
Changes:
0.55 Sun August 3, 2008
    * Moose::Meta::Attribute
      - breaking down the way 'handles' methods are
        created so that the process can be more easily
        overridden by subclasses (stevan)
    * Moose::Meta::TypeConstraint
      - fixing what is passed into a ->message with
        the type constraints (RT #37569)
        - added tests for this (Charles Alderman)
    * Moose::Util::TypeConstraints
      - fix coerce to accept anon types like subtype can (mst)
    * Moose::Cookbook
      - reorganized the recipes into sections - Basics, Roles, Meta,
        Extending - and wrote abstracts for each section (Dave Rolsky)
    * Moose::Cookbook::Basics::Recipe10
      - A new recipe that demonstrates operator overloading
        in combination with Moose. (bluefeet)
    * Moose::Cookbook::Meta::Recipe1
      - an introduction to what meta is and why you'd want to make
        your own metaclass extensions (Dave Rolsky)
    * Moose::Cookbook::Meta::Recipe4
      - a very simple metaclass example (Dave Rolsky)
    * Moose::Cookbook::Extending::Recipe1
      - how to write a Moose-alike module to use your own object base
        class (Dave Rolsky)
    * Moose::Cookbook::Extending::Recipe2
      - how to write modules with an API just like C<Moose.pm> (Dave
        Rolsky)
    * all documentation
      - Tons of fixes, both syntactical and grammatical (Dave
        Rolsky, Paul Fenwick)
2008-08-04 15:23:30 +00:00
seb
dc308bf75c Add DESTDIR support. 2008-07-27 22:14:03 +00:00
seb
0c9fbcdc60 Initial import of p5-Moose version 0.54 into The NetBSD
Packages Collection.

Moose is an extension of the Perl 5 object system.
The main goal of Moose is to make Perl 5 Object Oriented programming
easier, more consistent and less tedious. With Moose you can to
think more about what you want to do and less about the mechanics
of OOP.
Additionally, Moose is built on top of Class::MOP, which is a
metaclass system for Perl 5. This means that Moose not only makes
building normal Perl 5 objects better, but it provides the power
of metaclass programming as well.
2008-07-26 13:50:13 +00:00