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

Changes for version 0.25

  • Moose
    • Documentation update to reference Moose::Util::TypeConstraints under 'isa' in 'has' for how to define a new type (thanks to shlomif).
  • Moose::Meta::Attribute
    • required attributes now will no longer accept undef from the constructor, even if there is a default and lazy
      • added tests for this
    • default subroutines must return a value which passes the type constraint
      • added tests for this
  • Moose::Meta::Attribute
  • Moose::Meta::Method::Constructor
  • Moose::Meta::Method::Accessor
    • type-constraint tests now handle overloaded objects correctly in the error message
      • added tests for this (thanks to EvanCarroll)
  • Moose::Meta::TypeConstraint::Union
    • added (has_)hand_optimized_constraint to this class so that it behaves as the regular Moose::Meta::TypeConstraint does.
  • Moose::Meta::Role
    • large refactoring of this code
    • added several more tests
      • tests for subtle conflict resolition issues added, but not currently running (thanks to kolibre)
  • Moose::Cookbook::Recipe7
    • added new recipe for augment/inner functionality (still in progress)
      • added test for this
  • Moose::Spec::Role
    • a formal definition of roles (still in progress)
  • Moose::Util
    • utilities for easier working with Moose classes
      • added tests for these
  • Test::Moose
    • This contains Moose specific test functions
      • added tests for these

Documentation

How to cook a Moose
Frequently asked questions about 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
The augment/inner example
For when things go wrong with Moose
Formal spec for Role behavior

Modules

A complete modern object system for Perl 5
The Moose attribute metaclass
The Moose metaclass
The Moose Instance metaclass
A Moose Method metaclass
A Moose Method metaclass for accessors
Method Meta Object for constructors
Method Meta Object for destructors
A Moose Method metaclass for overriden methods
The Moose Role metaclass
A Moose Method metaclass for Roles
A Moose metaclass for required methods in Roles
The Moose Type Coercion metaclass
The Moose Type Constraint metaclass
A union of Moose type constraints
The base object for Moose
The Moose Role
Utilities for working with Moose classes
Type constraint system for Moose
Test functions for Moose specific features