NAME
mop::manual::details::traits - A manual for p5-mop
DESCRIPTION
Traits are the preferred method of extension for the mop. A trait is simply a subroutine which is in scope at the time of class creation. The subroutine accepts as it's first argument the meta-object it is being invoked upon, followed by any remaining arguments that are passed.
Here is a simplistic example:
class Foo is bar, baz(10, "gorch") {}
The MOP will transform this into the following:
class Foo {}
mop::traits::util::apply_trait(\&bar, mop::meta('Foo'));
mop::traits::util::apply_trait(\&baz, mop::meta('Foo'), 10, "gorch");
The same transformation will occur when traits are applied to attributes and methods.
BUGS
Since this module is still under development we would prefer to not use the RT bug queue and instead use the built in issue tracker on Github.
Git Repository
Issue Tracker
AUTHOR
Stevan Little <stevan.little@iinteractive.com>
Jesse Luehrs <doy@tozt.net>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Infinity Interactive.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.