Mouse::Spec.3pm

Langue: en

Autres versions - même langue

Version: 2010-06-19 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Mouse::Spec - To what extent Mouse is compatible with Moose

VERSION

This document describes Mouse version 0.61

SYNOPSIS

     use Mouse::Spec;
 
     printf "Mouse/%s is compatible with Moose/%s\n",
         Mouse::Spec->MouseVersion, Mouse::Spec->MooseVersion;
 
 

DESCRIPTION

Mouse is a subset of Moose. This document describes to what extend Mouse is compatible with Moose.

Compatibility with Moose

The sugary API is highly compatible with Moose.

Incompatibility with Moose

Meta object protocols

Any MOP in Mouse has no attributes by default.

For this reason, "$metaclass->meta->make_immutable()" does not yet work as you expect. Don not make metaclasses immutable.

Mouse::Meta::Instance

Meta instance mechanism is not implemented.

Role exclusion

Role exclusion, "exclude()", is not implemented.

-metaclass in Mouse::Exporter

"use Mouse -metaclass => ..." are not implemented. Use "use Mouse -traits => ..." instead.

Mouse::Meta::Attribute::Native

Native traits are not supported directly, but "MouseX::NativeTraits" is available on CPAN. Once you have installed it, you can use it as the same way in Moose. That is, native traits are automatically loaded by Mouse.

See MouseX::NativeTraits for details.

Notes about Moose::Cookbook

Many recipes in Moose::Cookbook fit Mouse, including:
Moose::Cookbook::Basics::Recipe1 - The (always classic) Point example
Moose::Cookbook::Basics::Recipe2 - A simple BankAccount example
Moose::Cookbook::Basics::Recipe3 - A lazy BinaryTree example
Moose::Cookbook::Basics::Recipe4 - Subtypes, and modeling a simple Company class hierarchy
Moose::Cookbook::Basics::Recipe5 - More subtypes, coercion in a Request class
Moose::Cookbook::Basics::Recipe6 - The augment/inner example
Moose::Cookbook::Basics::Recipe7 - Making Moose fast with immutable
Moose::Cookbook::Basics::Recipe8 - Builder methods and lazy_build
Moose::Cookbook::Basics::Recipe9 - Operator overloading, subtypes, and coercion
Moose::Cookbook::Basics::Recipe10 - Using BUILDARGS and BUILD to hook into object construction
Moose::Cookbook::Roles::Recipe1 - The Moose::Role example
Moose::Cookbook::Roles::Recipe2 - Advanced Role Composition - method exclusion and aliasing
Moose::Cookbook::Roles::Recipe3 - Applying a role to an object instance
Moose::Cookbook::Meta::Recipe2 - A meta-attribute, attributes with labels
Moose::Cookbook::Meta::Recipe3 - Labels implemented via attribute traits
Moose::Cookbook::Extending::Recipe3 - Providing an alternate base object class

SEE ALSO

Mouse

Moose

Moose::Manual

Moose::Cookbook