Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

moose::autobox(3) [osx man page]

Moose::Autobox(3)					User Contributed Perl Documentation					 Moose::Autobox(3)

NAME
Moose::Autobox - Autoboxed wrappers for Native Perl datatypes SYNOPOSIS
use Moose::Autobox; print 'Print squares from 1 to 10 : '; print [ 1 .. 10 ]->map(sub { $_ * $_ })->join(', '); DESCRIPTION
Moose::Autobox provides an implementation of SCALAR, ARRAY, HASH & CODE for use with autobox. It does this using a hierarchy of roles in a manner similar to what Perl 6 might do. This module, like Class::MOP and Moose, was inspired by my work on the Perl 6 Object Space, and the 'core types' implemented there. A quick word about autobox The autobox module provides the ability for calling 'methods' on normal Perl values like Scalars, Arrays, Hashes and Code references. This gives the illusion that Perl's types are first-class objects. However, this is only an illusion, albeit a very nice one. I created this module because autobox itself does not actually provide an implementation for the Perl types but instead only provides the 'hooks' for others to add implementation too. Is this for real? or just play? Several people are using this module in serious applications and it seems to be quite stable. The underlying technologies of autobox and Moose::Role are also considered stable. There is some performance hit, but as I am fond of saying, nothing in life is free. Note that this hit only applies to the use of methods on native Perl values, not the mere act of loading this module in your namespace. If you have any questions regarding this module, either email me, or stop by #moose on irc.perl.org and ask around. Adding additional methods Moose::Autobox asks autobox to use the Moose::Autobox::* namespace prefix so as to avoid stepping on the toes of other autobox modules. This means that if you want to add methods to a particular perl type (i.e. - monkeypatch), then you must do this: sub Moose::Autobox::SCALAR::bar { 42 } instead of this: sub SCALAR::bar { 42 } as you would with vanilla autobox. METHODS
mixin_additional_role ($type, $role) This will mixin an additonal $role into a certain $type. The types can be SCALAR, ARRAY, HASH or CODE. This can be used to add additional methods to the types, see the examples/units/ directory for some examples. TODO
More docs More tests BUGS
All complex software has bugs lurking in it, and this module is no exception. If you find a bug please either email me, or add the bug to cpan-RT. AUTHOR
Stevan Little <stevan@iinteractive.com> with contributions from: Anders (Debolaz) Nor Berle Matt (mst) Trout renormalist COPYRIGHT AND LICENSE
Copyright 2006-2008 by Infinity Interactive, Inc. <http://www.iinteractive.com> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.2 2012-08-29 Moose::Autobox(3)

Check Out this Related Man Page

Moose::Meta::TypeConstraint::Role(3)			User Contributed Perl Documentation		      Moose::Meta::TypeConstraint::Role(3)

NAME
Moose::Meta::TypeConstraint::Role - Role/TypeConstraint parallel hierarchy VERSION
version 2.0604 DESCRIPTION
This class represents type constraints for a role. INHERITANCE
"Moose::Meta::TypeConstraint::Role" is a subclass of Moose::Meta::TypeConstraint. METHODS
Moose::Meta::TypeConstraint::Role->new(%options) This creates a new role type constraint based on the given %options. It takes the same options as its parent, with two exceptions. First, it requires an additional option, "role", which is name of the constraint's role. Second, it automatically sets the parent to the "Object" type. The constructor also overrides the hand optimized type constraint with one it creates internally. $constraint->role Returns the role name associated with the constraint. $constraint->parents Returns all the type's parent types, corresponding to the roles that its role does. $constraint->is_subtype_of($type_name_or_object) If the given type is also a role type, then this checks that the type's role does the other type's role. Otherwise it falls back to the implementation in Moose::Meta::TypeConstraint. $constraint->create_child_type(%options) This returns a new Moose::Meta::TypeConstraint object with the type as its parent. Note that it does not return a "Moose::Meta::TypeConstraint::Role" object! BUGS
See "BUGS" in Moose for details on reporting bugs. AUTHOR
Moose is maintained by the Moose Cabal, along with the help of many contributors. See "CABAL" in Moose and "CONTRIBUTORS" in Moose for details. COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Infinity Interactive, Inc.. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.16.2 2012-09-19 Moose::Meta::TypeConstraint::Role(3)
Man Page

Featured Tech Videos