X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FSpec.pm;h=079927036992348b0856ea5cb91f9c00b12c238e;hb=66e3df7a8d3d839b53f6fc3af8f4bad6fc27fefe;hp=590ff3d24b67e491c134ed9e95283811f76ef2db;hpb=4b1994d4242c7359b7b2d1bc5711791a4967c19f;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Spec.pm b/lib/Mouse/Spec.pm index 590ff3d..0799270 100644 --- a/lib/Mouse/Spec.pm +++ b/lib/Mouse/Spec.pm @@ -2,10 +2,10 @@ package Mouse::Spec; use strict; use warnings; -our $VERSION = '0.37_06'; +our $VERSION = '0.88'; our $MouseVersion = $VERSION; -our $MooseVersion = '0.90'; +our $MooseVersion = '1.13'; sub MouseVersion{ $MouseVersion } sub MooseVersion{ $MooseVersion } @@ -19,33 +19,60 @@ Mouse::Spec - To what extent Mouse is compatible with Moose =head1 VERSION -This document describes Mouse version 0.37_06 +This document describes Mouse version 0.88 + +=head1 SYNOPSIS + + use Mouse::Spec; + + printf "Mouse/%s is compatible with Moose/%s\n", + Mouse::Spec->MouseVersion, Mouse::Spec->MooseVersion; =head1 DESCRIPTION -(TODO) +Mouse is a subset of Moose. This document describes to what extend Mouse is +compatible (and incompatible) with Moose. =head2 Compatibility with Moose -=head2 Incompatibility with Moose +=head3 Sugary APIs + +The sugary APIs are highly compatible with Moose. Methods which have the +same name as Moose's are expected to be compatible with Moose's. =head3 Meta object protocols -Any MOP has no attributes, so -C<< $metaclass->meta->make_immutable() >> does not yet work as you expect. +Meta object protocols are a subset of the counterpart of Moose. +Their methods which have the same name as Moose's are expected to be +compatible with Moose's. Feel free to use these methods even if they +are not documented. + +However, there are differences between Moose's MOP and Mouse's. +For example, meta object protocols in Mouse have no attributes by default, +so C<< $metaclass->meta->make_immutable() >> will not work as you expect. +B. -=head3 C +=head3 Mouse::Meta::Instance -Meta instance mechanism is not implemented. +Meta instance mechanism is not implemented, so you cannot change the reftype +of Mouse objects in the same way as Moose. =head3 Role exclusion Role exclusion, C, is not implemented. -=head3 C<-traits> and C<-metaclass> in Mouse::Exporter +=head3 -metaclass in Mouse::Exporter + +C<< use Mouse -metaclass => ... >> are not implemented. +Use C<< use Mouse -traits => ... >> instead. -C<< use Mouse -traits => ... >> and C<< use Mouse -metaclass => ... >> are not -yet implemented. +=head3 Mouse::Meta::Attribute::Native + +Native traits are not supported directly, but C 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 L for details. =head2 Notes about Moose::Cookbook @@ -59,7 +86,7 @@ L - The (always classic) B example =item * -L - A simple B example +L - A simple B example =item * @@ -71,31 +98,31 @@ L - Subtypes, and modeling a simple B =item * -L - More subtypes, coercion in a B class +L - More subtypes, coercion in a B class =item * -L - The augment/inner example +L - The augment/inner example =item * -L - Making Moose fast with immutable +L - Making Moose fast with immutable =item * -L - Builder methods and lazy_build +L - Builder methods and lazy_build =item * -L - Operator overloading, subtypes, and coercion +L - Operator overloading, subtypes, and coercion =item * -L - Using BUILDARGS and BUILD to hook into object construction +L - Using BUILDARGS and BUILD to hook into object construction =item * -L - The Moose::Role example +L - The Moose::Role example =item * @@ -103,19 +130,19 @@ L - Advanced Role Composition - method exclusio =item * -L - Applying a role to an object instance +L - Applying a role to an object instance =item * -L - A meta-attribute, attributes with labels +L - A meta-attribute, attributes with labels =item * -L - Labels implemented via attribute traits +L - Labels implemented via attribute traits =item * -L - Providing an alternate base object class +L - Providing an alternate base object class =back @@ -123,5 +150,11 @@ L - Providing an alternate base object clas L +L + +L + +L + =cut