Class-Multimethods-Pure
view release on metacpan or search on metacpan
lib/Class/Multimethods/Pure.pm view on Meta::CPAN
for my $export (@exports) {
no strict 'refs';
*{"$pkg\::$export"} = \&{__PACKAGE__ . "::$export"};
}
}
else {
croak "Unknown command: $cmd";
}
}
sub all(@) {
Class::Multimethods::Pure::Type::Conjunction->new(
Class::Multimethods::Pure::Type->promote(@_)
);
}
sub any(@) {
Class::Multimethods::Pure::Type::Disjunction->new(
Class::Multimethods::Pure::Type->promote(@_)
);
}
sub none(@) {
Class::Multimethods::Pure::Type::Injunction->new(
Class::Multimethods::Pure::Type->promote(@_)
);
}
sub Any() {
Class::Multimethods::Pure::Type::Any->new;
}
sub subtype($$) {
Class::Multimethods::Pure::Type::Subtype->new(
Class::Multimethods::Pure::Type->promote($_[0]), $_[1]
);
}
package Class::Multimethods::Pure::Type;
use Carp;
use Scalar::Util qw<blessed>;
( run in 1.074 second using v1.01-cache-2.11-cpan-65fba6d93b7 )