The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.09_02

  • Moose
    • added prototypes to the exported subs
    • updated docs
  • Moose::Role
    • added prototypes to the exported subs
    • updated docs
  • Moose::Util::TypeConstraints
    • cleaned up prototypes for the subs
    • updated docs

Changes for version 0.09_01

  • DEVELOPER RELEASE ++
    • This release works in combination with Class::MOP 0.29_01, it is a developer release because it uses the a new instance sub-protocol and a fairly complete Role implementation. It has not yet been optimized, so it slower the the previous CPAN version. This release also lacks good updated docs, the official release will have updated docs.
  • Moose
    • refactored the keyword exports
      • 'with' now checks Role validaity and accepts more than one Role at a time
      • 'extends' makes metaclass adjustments as needed to ensure metaclass compatability
  • Moose::Role
    • refactored the keyword exports
      • 'with' now checks Role validaity and accepts more than one Role at a time
  • Moose::Util::TypeConstraints
    • added the 'enum' keyword for simple string enumerations which can be used as type constraints
      • see example of usage in t/202_example.t
  • Moose::Object
    • more careful checking of params to new()
  • Moose::Meta::Role
    • much work done on the role composition
      • many new tests for conflict detection and composition edge cases
      • not enough documentation, I suggest looking at the tests
  • Moose::Meta::Instance
    • added new Instance metaclass to support the new Class::MOP instance protocol
  • Moose::Meta::Class
    • some small changes to support the new instance protocol
    • some small additions to support Roles
  • Moose::Meta::Attribute
    • some improvements to the accessor generation code by nothingmuch
    • some small changes to support the new instance protocol
    • (still somewhat) experimental delegation support with the 'handles' option
      • added several tests for this
      • no docs for this yet

Documentation

How to cook a Moose
The (always classic) Point example.
A simple BankAccount example
A lazy BinaryTree example
Subtypes, and modeling a simple Company class hierarchy
More subtypes, coercion in a Request class
The Moose::Role example

Modules

Moose, it's the new Camel
The Moose attribute metaclass
The Moose metaclass
The Moose Instance metaclass
The Moose Role metaclass
The Moose Type Coercion metaclass
The Moose Type Constraint metaclass
The base object for Moose
The Moose Role
Type constraint system for Moose

Provides

in lib/Moose/Meta/Class.pm
in lib/Moose/Meta/Role.pm
in lib/Moose/Meta/TypeConstraint.pm