Mention to MouseX::NativeTraits
[gitmo/Mouse.git] / lib / Mouse / Spec.pm
index db9d24c..75de0f6 100644 (file)
@@ -2,7 +2,7 @@ package Mouse::Spec;
 use strict;
 use warnings;
 
-our $VERSION = '0.42';
+our $VERSION = '0.50_02';
 
 our $MouseVersion = $VERSION;
 our $MooseVersion = '0.93';
@@ -19,7 +19,7 @@ Mouse::Spec - To what extent Mouse is compatible with Moose
 
 =head1 VERSION
 
-This document describes Mouse version 0.42
+This document describes Mouse version 0.50_02
 
 =head1 SYNOPSIS
 
@@ -30,16 +30,21 @@ This document describes Mouse version 0.42
 
 =head1 DESCRIPTION
 
-(TODO)
+Mouse is a subset of Moose. This document describes to what extend Mouse is
+compatible with Moose.
 
 =head2 Compatibility with Moose
 
+The sugary API is highly compatible with Moose.
+
 =head2 Incompatibility with Moose
 
 =head3 Meta object protocols
 
-Any MOP has no attributes, so
-C<< $metaclass->meta->make_immutable() >> does not yet work as you expect.
+Any MOP in Mouse has no attributes by default.
+
+For this reason, C<< $metaclass->meta->make_immutable() >> does not yet work as you expect.
+B<Don not make metaclasses immutable>.
 
 =head3 Mouse::Meta::Instance
 
@@ -49,10 +54,18 @@ Meta instance mechanism is not implemented.
 
 Role exclusion, C<exclude()>, is not implemented.
 
-=head3 -traits and -metaclass in Mouse::Exporter
+=head3 -metaclass in Mouse::Exporter
+
+C<< use Mouse -metaclass => ... >> are not implemented.
+Use C<< use Mouse -traits => ... >> instead.
+
+=head3 Mouse::Meta::Attribute::Native
+
+Native traits are not supported directly, but C<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.
 
-C<< use Mouse -traits => ... >> and C<< use Mouse -metaclass => ... >> are not
-yet implemented.
+See L<MouseX::NativeTraits> for details.
 
 =head2 Notes about Moose::Cookbook
 
@@ -66,7 +79,7 @@ L<Moose::Cookbook::Basics::Recipe1> - The (always classic) B<Point> example
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe2> - A simple B<BankAccount> example\r
+L<Moose::Cookbook::Basics::Recipe2> - A simple B<BankAccount> example
 
 =item *
 
@@ -78,31 +91,31 @@ L<Moose::Cookbook::Basics::Recipe4> - Subtypes, and modeling a simple B<Company>
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe5> - More subtypes, coercion in a B<Request> class\r
+L<Moose::Cookbook::Basics::Recipe5> - More subtypes, coercion in a B<Request> class
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe6> - The augment/inner example\r
+L<Moose::Cookbook::Basics::Recipe6> - The augment/inner example
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe7> - Making Moose fast with immutable\r
+L<Moose::Cookbook::Basics::Recipe7> - Making Moose fast with immutable
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe8> - Builder methods and lazy_build\r
+L<Moose::Cookbook::Basics::Recipe8> - Builder methods and lazy_build
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe9> - Operator overloading, subtypes, and coercion\r
+L<Moose::Cookbook::Basics::Recipe9> - Operator overloading, subtypes, and coercion
 
 =item *
 
-L<Moose::Cookbook::Basics::Recipe10> - Using BUILDARGS and BUILD to hook into object construction\r
+L<Moose::Cookbook::Basics::Recipe10> - Using BUILDARGS and BUILD to hook into object construction
 
 =item *
 
-L<Moose::Cookbook::Roles::Recipe1> - The Moose::Role example\r
+L<Moose::Cookbook::Roles::Recipe1> - The Moose::Role example
 
 =item *
 
@@ -110,19 +123,19 @@ L<Moose::Cookbook::Roles::Recipe2> - Advanced Role Composition - method exclusio
 
 =item *
 
-L<Moose::Cookbook::Roles::Recipe3> - Applying a role to an object instance\r
+L<Moose::Cookbook::Roles::Recipe3> - Applying a role to an object instance
 
 =item *
 
-L<Moose::Cookbook::Meta::Recipe2> - A meta-attribute, attributes with labels\r
+L<Moose::Cookbook::Meta::Recipe2> - A meta-attribute, attributes with labels
 
 =item *
 
-L<Moose::Cookbook::Meta::Recipe3> - Labels implemented via attribute traits\r
+L<Moose::Cookbook::Meta::Recipe3> - Labels implemented via attribute traits
 
 =item *
 
-L<Moose::Cookbook::Extending::Recipe3> - Providing an alternate base object class\r
+L<Moose::Cookbook::Extending::Recipe3> - Providing an alternate base object class
 
 =back