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