Karen Etheridge > Moose-2.0802 > Moose::Cookbook::Meta::WhyMeta
Annotate this POD   New  10 Open  39 Stalled  4 View/Report Bugs
Source   Latest Release: Moose-2.1204
Moose::Cookbook::Meta::WhyMeta - Welcome to the meta world (Why
Go Meta?)   version 2.0802   You might want to read
Moose::Manual::MOP if you haven't done so yet.  If you've ever
thought "Moose is great, but I wish it did X differently", then
you've gone meta. The meta recipes demonstrate how to change and
extend the way Moose works by extending and overriding how the
meta classes (Moose::Meta::Class, Moose::Meta::Attribute, etc)
work.  The metaclass API is a set of classes that describe
classes, roles, attributes, etc. The metaclass API lets you ask
questions about a class, like "what attributes does it have?",
or "what roles does the class do?"  The metaclass system also
lets you make changes to a class, for example by adding new
methods or attributes.  The interface presented by Moose.pm
(has, with, extends) is just a thin layer of syntac