=head1 DESCRIPTION
-The Moose cookbook is a series of recipes taken from the Moose
-test suite. Each recipe presents some code, which demonstrates
-some of the features of Moose, and then proceeds to explain the
-details of the code.
+The Moose cookbook is a series of recipes showing various Moose
+features. Most recipes present some code demonstrating some feature,
+and then explain the details of the code.
-We also provide a L<Moose::Cookbook::FAQ> and a L<Moose::Cookbook::WTF>
-for common questions and problems people have with Moose.
+You should probably read the L<Moose::Manual> first. The manual
+explains Moose concepts without being too code-heavy.
=head1 RECIPES
=item L<Moose::Cookbook::Basics::Recipe3> - A lazy B<BinaryTree> example
Demonstrates several attribute features, including types, weak
-references, predicates ("does this object have a foo?"), defaults, and
-lazy attribute uction.
+references, predicates ("does this object have a foo?"), defaults,
+laziness, and triggers.
=item L<Moose::Cookbook::Basics::Recipe4> - Subtypes, and modeling a simple B<Company> class hierarchy
Demonstrates using operator overloading, coercion, and subtypes to
model how eye color is determined during reproduction.
+=item L<Moose::Cookbook::Basics::Recipe11> - Using BUILDARGS and BUILD to hook into object construction
+
+This recipe demonstrates the use of C<BUILDARGS> and C<BUILD> to hook
+into object construction.
+
=back
=head2 Moose Roles
=over 4
-=item L<Moose::Cookbook::Role::Recipe1> - The Moose::Role example
+=item L<Moose::Cookbook::Roles::Recipe1> - The Moose::Role example
Demonstrates roles, which are also sometimes known as traits or
mix-ins. Roles provide a method of code re-use which is orthogonal to
subclassing.
-=item L<Moose::Cookbook::Role::Recipe2> - Advanced Role Composition - method exclusion and aliasing
+=item L<Moose::Cookbook::Roles::Recipe2> - Advanced Role Composition - method exclusion and aliasing
Sometimes you just want to include part of a role in your
class. Sometimes you want the whole role but one if its methods
conflicts with one in your class. With method exclusion and aliasing,
you can work around these problems.
-=item L<Moose::Cookbook::Role::Recipe3> - Runtime Role Composition (TODO)
+=item L<Moose::Cookbook::Roles::Recipe3> - Applying a role to an object instance
-I<abstract goes here>
+In this recipe, we apply a role to an existing object instance.
=back
This recipe shows you how to write extensions which immutabilize
properly.
-=item L<Moose::Cookbook::Meta::Recipe7> - I<meta-instance> (TODO)
+=item L<Moose::Cookbook::Meta::Recipe7> - Using a blessed array reference as an object instance
-I<abstract goes here>
+This recipe shows an example of how you create your own meta-instance
+class. The meta-instance determines the internal structure of object
+instances and provide access to attribute slots.
=back
=head1 COPYRIGHT AND LICENSE
-Copyright 2006-2008 by Infinity Interactive, Inc.
+Copyright 2006-2009 by Infinity Interactive, Inc.
L<http://www.iinteractive.com>