Moose. Meta Object Protocols. Traits.
Egads, scary words, right?
...and wtf is a "Meta Object Protocol", anyways, and how do we smoke it?
Fear not, brave reader. Meta-programming is not the thing that goes bump in the night. Here we'll discuss what it is, how we can use it to make our lives easier, and -- even better -- how to make the lives of others using our code easier.
Among other things, here we will discuss:
- What is a MOP, and why are you saying "Moose" a lot?
- What MOP's are available when using Moose?
- Why would we want to modify a metaclass, that is, alter a MOP?
- What tools do we have to work with metaclasses?
- How do I do it?