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

Changes for version 0.37

  • Moose
    • fixed some details in Moose::init_meta and its superclass handling (thanks thepler)
      • added tests for this (thanks thepler)
    • 'has' now dies if you don't pass in name value pairs
    • added the 'make_immutable' keyword as a shortcut to make_immutable
  • Moose::Meta::Class Moose::Meta::Method::Constructor Moose::Meta::Attribute
    • making (init_arg => undef) work here too (thanks to nothingmuch)
  • Moose::Meta::Attribute Moose::Meta::Method::Constructor Moose::Meta::Method::Accessor
    • make lazy attributes respect attr initializers (rjbs)
      • added tests for this
  • Moose::Util::TypeConstraints Moose::Util::TypeConstraints::OptimizedConstraints Moose::Meta::TypeConstraints Moose::Meta::Attribute Moose::Meta::Method::Constructor Moose::Meta::Method::Accessor
    • making type errors use the assigned message (thanks to Sartak)
      • added tests for this
  • Moose::Meta::Method::Destructor
    • making sure DESTROY gets inlined properly with successive DEMOLISH calls (thanks to manito)
  • Moose::Meta::Attribute Moose::Meta::Method::Accessor
    • fixed handling of undef with type constraints (thanks to Ernesto)
      • added tests for this
  • Moose::Util
    • added &get_all_init_args and &get_all_attribute_values (thanks to Sartak and nothingmuch)

Documentation

How to cook a Moose
Frequently asked questions about Moose
The (always classic) Point example.
The meta-attribute 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
Snippets of code for using Types and Type Constraints
For when things go wrong with Moose
Formal spec for Role behavior

Modules

A postmodern 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 base class for role application
Compose a role into a class
Compose a role into an instance
Compose a role into another role
An object to represent the set of roles
A Moose Method metaclass for Roles
A Moose metaclass for required methods in Roles
The Moose Type Coercion metaclass
The Moose Type Coercion metaclass for Unions
The Moose Type Constraint metaclass
Class/TypeConstraint parallel hierarchy
Higher Order type constraints for Moose
Higher Order type constraints for Moose
registry for type constraints
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
Optimized constraint bodies for various moose types
Test functions for Moose specific features
syntactic sugar to make Moose one-liners easier