Checking in changes prior to tagging of version 0.40_02. Changelog diff is:
[gitmo/Mouse.git] / lib / Mouse / Spec.pm
CommitLineData
d3f79b34 1package Mouse::Spec;
d3f79b34 2use strict;
43e6a50b 3use warnings;
d3f79b34 4
065f79e7 5our $VERSION = '0.40_02';
d3f79b34 6
7our $MouseVersion = $VERSION;
8our $MooseVersion = '0.90';
9
1b9e472d 10sub MouseVersion{ $MouseVersion }
11sub MooseVersion{ $MooseVersion }
12
d3f79b34 131;
14__END__
7fc043cc 15
16=head1 NAME
17
18Mouse::Spec - To what extent Mouse is compatible with Moose
19
a25ca8d6 20=head1 VERSION
21
065f79e7 22This document describes Mouse version 0.40_02
a25ca8d6 23
976891fa 24=head1 SYNOPSIS
25
26 use Mouse::Spec;
27
28 printf "Mouse/%s is compatible with Moose/%s\n",
29 Mouse::Spec->MouseVersion, Mouse::Spec->MooseVersion;
30
7fc043cc 31=head1 DESCRIPTION
32
ff012e5d 33(TODO)
34
35=head2 Compatibility with Moose
36
37=head2 Incompatibility with Moose
38
39=head3 Meta object protocols
40
4f74e488 41Any MOP has no attributes, so
4b1994d4 42C<< $metaclass->meta->make_immutable() >> does not yet work as you expect.
ff012e5d 43
de236787 44=head3 Mouse::Meta::Instance
ff012e5d 45
4f74e488 46Meta instance mechanism is not implemented.
47
48=head3 Role exclusion
49
50Role exclusion, C<exclude()>, is not implemented.
51
de236787 52=head3 -traits and -metaclass in Mouse::Exporter
4f74e488 53
54C<< use Mouse -traits => ... >> and C<< use Mouse -metaclass => ... >> are not
55yet implemented.
a25ca8d6 56
7fc043cc 57=head2 Notes about Moose::Cookbook
58
59Many recipes in L<Moose::Cookbook> fit L<Mouse>, including:
60
61=over 4
62
63=item *
64
65L<Moose::Cookbook::Basics::Recipe1> - The (always classic) B<Point> example
66
67=item *
68
69L<Moose::Cookbook::Basics::Recipe2> - A simple B<BankAccount> example\r
70
71=item *
72
73L<Moose::Cookbook::Basics::Recipe3> - A lazy B<BinaryTree> example
74
75=item *
76
77L<Moose::Cookbook::Basics::Recipe4> - Subtypes, and modeling a simple B<Company> class hierarchy
78
79=item *
80
81L<Moose::Cookbook::Basics::Recipe5> - More subtypes, coercion in a B<Request> class\r
82
83=item *
84
85L<Moose::Cookbook::Basics::Recipe6> - The augment/inner example\r
86
87=item *
88
89L<Moose::Cookbook::Basics::Recipe7> - Making Moose fast with immutable\r
90
91=item *
92
93L<Moose::Cookbook::Basics::Recipe8> - Builder methods and lazy_build\r
94
95=item *
96
97L<Moose::Cookbook::Basics::Recipe9> - Operator overloading, subtypes, and coercion\r
98
99=item *
100
101L<Moose::Cookbook::Basics::Recipe10> - Using BUILDARGS and BUILD to hook into object construction\r
102
103=item *
104
105L<Moose::Cookbook::Roles::Recipe1> - The Moose::Role example\r
106
107=item *
108
8006ea01 109L<Moose::Cookbook::Roles::Recipe2> - Advanced Role Composition - method exclusion and aliasing
7fc043cc 110
111=item *
112
113L<Moose::Cookbook::Roles::Recipe3> - Applying a role to an object instance\r
114
115=item *
116
117L<Moose::Cookbook::Meta::Recipe2> - A meta-attribute, attributes with labels\r
118
119=item *
120
121L<Moose::Cookbook::Meta::Recipe3> - Labels implemented via attribute traits\r
122
123=item *
124
125L<Moose::Cookbook::Extending::Recipe3> - Providing an alternate base object class\r
126
127=back
128
129=head1 SEE ALSO
130
131L<Mouse>
132
de236787 133L<Moose>
134
135L<Moose::Manual>
136
137L<Moose::Cookbook>
138
7fc043cc 139=cut
140