classes, focusing on "what" rather than "how". A class definition with
Moose reads like a list of very concise English sentences.
-Moose is built in top of C<Class::MOP>, a meta-object protocol (aka
+Moose is built on top of C<Class::MOP>, a meta-object protocol (aka
MOP). Using the MOP, Moose provides complete introspection for all
Moose-using classes. This means you can ask classes about their
attributes, parents, children, methods, etc., all using a well-defined
Introduces Moose concepts, and contrasts them against "old school"
Perl 5 OO.
+=item L<Moose::Manual::Unsweetened>
+
+Show two examples classes, each written first with Moose and then with
+"plain old Perl 5".
+
=item L<Moose::Manual::Classes>
How do you make use of Moose in your classes? Now that I'm a Moose,
=item L<Moose::Manual::Delegation>
-Delegation is a powerful way to make use of attribute which are
+Delegation is a powerful way to make use of attributes which are
themselves objects.
=item L<Moose::Manual::Construction>
Learn how objects are built in Moose, and in particular about the
-C<BUILD>, C<BUILDARGS> methods. Also covers object destruction
+C<BUILD> and C<BUILDARGS> methods. Also covers object destruction
with C<DEMOLISH>.
=item L<Moose::Manual::MethodModifiers>
=item L<Moose::Manual::MooseX>
-This document shows a few of the most useful Moose extensions on CPAN.
+This document describes a few of the most useful Moose extensions on
+CPAN.
+
+=item L<Moose::Manual::BestPractices>
+
+Moose has a lot of features, and there's definitely more than one way
+to do it. However, we think that picking a subset of these features
+and using them consistently makes everyone's life easier.
+
+=item L<Moose::Manual::FAQ>
+
+Frequently asked questions about Moose.
+
+=item L<Moose::Manual::Contributing>
+
+Interested in hacking on Moose? Read this.
+
+=item L<Moose::Manual::Delta>
+
+This document details backwards-incompatibilities and other major
+changes to Moose.
=back
=head1 JUSTIFICATION
-If you're still still asking yourself "Why do I need this?", then this
+If you're still asking yourself "Why do I need this?", then this
section is for you.
=over 4
Moose has been used successfully in production environments by many
people and companies. There are Moose applications which have been in
-production with little or no issue now for well years. We consider it
-highly stable and we are commited to keeping it stable.
+production with little or no issue now for years. We consider it
+highly stable and we are committed to keeping it stable.
Of course, in the end, you need to make this call yourself. If you
-have any questions or concerns, please feel free to email Stevan, the
-moose@perl.org list, or just stop by irc.perl.org#moose and ask away.
+have any questions or concerns, please feel free to email Stevan or
+the moose@perl.org list, or just stop by irc.perl.org#moose and ask
+away.
=item Is Moose just Perl 6 in Perl 5?
No. While Moose is very much inspired by Perl 6, it is not itself Perl
-6. Instead, it is an OO system for Perl 5. Stevan built Moose because
+6. Instead, it is an OO system for Perl 5. Stevan built Moose because
he was tired of writing the same old boring Perl 5 OO code, and
drooling over Perl 6 OO. So instead of switching to Ruby, he wrote
Moose :)