view release on metacpan or search on metacpan
lib/Acme/DependOnEverything.pm view on Meta::CPAN
use MooseX::Method::Signatures;
use MooseX::Modern;
use MooseX::ModifyTaggedMethods;
use MooseX::MojoControllerExposingAttributes;
use MooseX::MultiInitArg;
use MooseX::MultiMethods;
use MooseX::MultiObject;
use MooseX::MungeHas;
use MooseX::MutatorAttributes;
use MooseX::NestedAttributesConstructor::tar;
use MooseX::Net::API;
view all matches for this distribution
view release on metacpan or search on metacpan
profiles/App/Module.pm view on Meta::CPAN
# ABSTRACT: Fun with {{$name}}!
class {{$name}} extends MooseX::App::Cmd with MooseX::Log::Log4perl {
use MooseX::StrictConstructor;
use MooseX::AlwaysCoerce;
use MooseX::MultiMethods;
use MooseX::Types::Moose -all;
use v5.14;
use Carp;
use FindBin;
view all matches for this distribution
view release on metacpan or search on metacpan
Notes/cpan-namespaces/cpan-namespaces-L1-L2.txt view on Meta::CPAN
MooseX::MethodAttributes
MooseX::Modern
MooseX::ModifyTaggedMethods
MooseX::MojoControllerExposingAttributes
MooseX::MultiInitArg
MooseX::MultiMethods
MooseX::MultiObject
MooseX::MungeHas
MooseX::MutatorAttributes
MooseX::NestedAttributesConstructor
MooseX::Net
view all matches for this distribution
view release on metacpan or search on metacpan
docs/design.md view on Meta::CPAN
way; but this doesn't apply to current Perl 5.</small>
### Try to limit dependencies if sensible.
E.g. avoiding the use of `Sub::Call::Tail`, `Method::Signatures`,
`MooseX::MultiMethods` or `autobox` in the core modules. (Some tests,
[examples](../examples/README.md) and [Htmlgen](../htmlgen/README.md)
use them.) Declaring dependencies in `FunctionalPerl::Dependencies` so
that tests can skip modules with such dependencies.
### Generally provide functionality both as functions and methods.
docs/design.md view on Meta::CPAN
order as traditional functional programming languages (the object does
not need to come first, and with multiple objects it can be unclear
which to use as the one to dispatch on).
Idea: use `Class::Multimethods` or `Class::Multimethods::Pure` or
`MooseX::MultiMethods` to provide multimethods as alternative to
methods; this would allow to retain the traditional argument positions
and still use short names. (Perhaps look at Clojure as an example?)
### Use of `*foo` vs `\&foo`
view all matches for this distribution
view release on metacpan or search on metacpan
- Add script/{bootstrap.pl,env} to MANIFEST.SKIP.
0.001008 2010-06-03
- Add a requires_external_bin for the git command so we won't try running
tests unless it's present.
- Remove MooseX::MultiMethods as it has been broken by a recent Moose
change. The new code is smaller and will be faster.
- Add diagnostics to the tests to print out the version of git that
people are using.
- Make tests which commonly fail with older/different versions of git
fail with the output of their git command to make debugging the tests
view all matches for this distribution
view release on metacpan or search on metacpan
examples/benchmarks-multisub.pl view on Meta::CPAN
}
{
package Using_MXMM;
use Moose;
use MooseX::MultiMethods;
multi method fib ( Int $i where { $_ <= 1 } ) {
return $i;
}
examples/benchmarks-multisub.pl view on Meta::CPAN
L<Kavorka> (of course)
=item *
L<MooseX::MultiMethods>
=item
Plain old Perl 5 subs, for comparison.
view all matches for this distribution
view release on metacpan or search on metacpan
- Updated to avoid warnings from Moose 1.09 (Dave Rolsky).
- Switch from Module::Install to Dist::Zilla.
0.34 2010-06-08 17:00:00Z
- Provides a version of reify that replaces the original version and
now finally CatalystX::Declare and MooseX::MultiMethods work.
0.33 2010-06-01 16:47:34Z
- CatalystX::Declare seems to create a method object without a code
reference at all.
view all matches for this distribution
view release on metacpan or search on metacpan
lib/MooseX/MultiMethods.pm view on Meta::CPAN
package MooseX::MultiMethods;
our $VERSION = '0.10';
# ABSTRACT: Multi Method Dispatch based on Moose type constraints
use Moose;
use Devel::Declare ();
use MooseX::Method::Signatures;
use Sub::Install qw/install_sub/;
use MooseX::Types::Moose qw/HashRef ClassName/;
use aliased 'Devel::Declare::Context::Simple' => 'DDContext';
use aliased 'MooseX::MultiMethods::Meta::Method' => 'MetaMethod';
use namespace::autoclean;
has _dd_context => (
lib/MooseX/MultiMethods.pm view on Meta::CPAN
__END__
=pod
=head1 NAME
MooseX::MultiMethods - Multi Method Dispatch based on Moose type constraints
=head1 VERSION
version 0.10
lib/MooseX/MultiMethods.pm view on Meta::CPAN
package Lizard; use Moose;
package Spock; use Moose;
package Game;
use Moose;
use MooseX::MultiMethods;
multi method play (Paper $x, Rock $y) { 1 }
multi method play (Paper $x, Spock $y) { 1 }
multi method play (Scissors $x, Paper $y) { 1 }
multi method play (Scissors $x, Lizard $y) { 1 }
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Sub/Multi/Tiny.pm view on Meta::CPAN
=item L<Kavorka::Manual::MultiSubs> (and L<Moops>)
Requires Perl 5.14+.
=item L<MooseX::MultiMethods>
I am not ready to move to full L<Moose>!
=item L<MooseX::Params>
view all matches for this distribution
view release on metacpan or search on metacpan
lib/Sub/MultiMethod.pm view on Meta::CPAN
Includes a full type system and Keyword::Declare-based syntax. Pretty
sensible dispatch technique which is almost identical to
Sub::MultiMethod. Much much slower though, at both compile time and
runtime.
L<MooseX::MultiMethods> - uses Moose type system and Devel::Declare-based
syntax. Not entirely sure what the dispatching method is.
L<Kavorka> - I wrote this, so I'm allowed to be critical. Type::Tiny-based
type system. Very naive dispatching; just dispatches to the first declared
candidate that can handle it rather than trying to find the "best".
view all matches for this distribution
view release on metacpan or search on metacpan
"MooseX::Getopt" : "0.56",
"MooseX::Has::Sugar" : "0.05070421",
"MooseX::HasDefaults::RO" : "0",
"MooseX::LazyRequire" : "0.10",
"MooseX::MethodAttributes" : "0.28",
"MooseX::MultiMethods" : "0.10",
"MooseX::Role::WithOverloading" : "0.13",
"MooseX::StrictConstructor" : "0.19",
"MooseX::Traits" : "0.11",
"MooseX::Types" : "0.36",
"MooseX::Types::DateTime" : "0.08",
view all matches for this distribution
view release on metacpan or search on metacpan
"Moops" : "0",
"Moose" : "0",
"Moose::Exporter" : "0",
"Moose::Role" : "0",
"MooseX::Declare" : "0",
"MooseX::MultiMethods" : "0",
"MooseX::Params::Validate" : "0",
"PDL" : "0",
"Package::Stash" : "0",
"PadWalker" : "0",
"Params::Validate" : "0",
view all matches for this distribution
view release on metacpan or search on metacpan
lib/XML/LibXSLT/Easy.pm view on Meta::CPAN
use URI::file;
use URI::data;
use Scope::Guard;
use MooseX::MultiMethods;
use MooseX::Types::Moose qw(Str FileHandle Item Undef);
use MooseX::Types::Path::Class qw(File);
use MooseX::Types::URI qw(Uri);
use MooseX::Types -declare => [qw(Stylesheet Document)];
view all matches for this distribution