aboutsummaryrefslogtreecommitdiff
path: root/devel/p5-Class-Multimethods
diff options
context:
space:
mode:
authorAaron Dalton <aaron@FreeBSD.org>2006-06-01 07:11:51 +0000
committerAaron Dalton <aaron@FreeBSD.org>2006-06-01 07:11:51 +0000
commit2cfe6ef857fd9e03628272a30227beffd1bb96c1 (patch)
treea8abbbe2faafa45c8637ee57aa5f861388dd03a8 /devel/p5-Class-Multimethods
parent5ce504f96a413d2147985dc16ebd413dff628346 (diff)
downloadports-2cfe6ef857fd9e03628272a30227beffd1bb96c1.tar.gz
ports-2cfe6ef857fd9e03628272a30227beffd1bb96c1.zip
Notes
Diffstat (limited to 'devel/p5-Class-Multimethods')
-rw-r--r--devel/p5-Class-Multimethods/Makefile22
-rw-r--r--devel/p5-Class-Multimethods/distinfo3
-rw-r--r--devel/p5-Class-Multimethods/pkg-descr26
-rw-r--r--devel/p5-Class-Multimethods/pkg-plist6
4 files changed, 57 insertions, 0 deletions
diff --git a/devel/p5-Class-Multimethods/Makefile b/devel/p5-Class-Multimethods/Makefile
new file mode 100644
index 000000000000..0b73bd575100
--- /dev/null
+++ b/devel/p5-Class-Multimethods/Makefile
@@ -0,0 +1,22 @@
+# New ports collection makefile for: p5-Class-Multimethods
+# Date created: 01 Jun 2006
+# Whom: Aaron Dalton <aaron@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= Class-Multimethods
+PORTVERSION= 1.70
+CATEGORIES= devel perl5
+MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
+MASTER_SITE_SUBDIR= Class
+PKGNAMEPREFIX= p5-
+
+MAINTAINER= aaron@FreeBSD.org
+COMMENT= Support multimethods and function overloading in Perl
+
+MAN3= Class::Multimethods.3
+
+PERL_CONFIGURE= yes
+
+.include <bsd.port.mk>
diff --git a/devel/p5-Class-Multimethods/distinfo b/devel/p5-Class-Multimethods/distinfo
new file mode 100644
index 000000000000..b9d14d716a6d
--- /dev/null
+++ b/devel/p5-Class-Multimethods/distinfo
@@ -0,0 +1,3 @@
+MD5 (Class-Multimethods-1.70.tar.gz) = 5fdc79daa81b102b956b1a61531fd6a7
+SHA256 (Class-Multimethods-1.70.tar.gz) = e6f2fe15530d9e03629c6f42d538bbf81419965dc47094fd0e36ce8302069c23
+SIZE (Class-Multimethods-1.70.tar.gz) = 28316
diff --git a/devel/p5-Class-Multimethods/pkg-descr b/devel/p5-Class-Multimethods/pkg-descr
new file mode 100644
index 000000000000..6a40c87cf79b
--- /dev/null
+++ b/devel/p5-Class-Multimethods/pkg-descr
@@ -0,0 +1,26 @@
+The Class:Multimethod module exports a subroutine (&multimethod) that can
+be used to declare other subroutines that are dispatched using a algorithm
+different from the normal Perl subroutine or method dispatch mechanism.
+
+Normal Perl subroutines are dispatched by finding the appropriately-named
+subroutine in the current (or specified) package and calling that. Normal
+Perl methods are dispatched by attempting to find the appropriately-named
+subroutine in the package into which the invoking object is blessed or,
+failing that, recursively searching for it in the packages listed in the
+appropriate @ISA arrays.
+
+Class::Multimethods multimethods are dispatched quite differently. The
+dispatch mechanism looks at the classes or types of each argument to the
+multimethod (by calling ref on each) and determines the "closest" matching
+variant of the multimethod, according to the argument types specified in
+the variants' definitions (see "Finding the "nearest" multimethod" for a
+definition of "closest").
+
+The result is something akin to C++'s function overloading, but more
+intelligent, since multimethods take the inheritance relationships of each
+argument into account. Another way of thinking of the mechanism is that it
+performs polymorphic dispatch on every argument of a method, not just the
+first.
+
+WWW: http://search.cpan.org/dist/Class-Multimethods
+Author: Damian Conway <damian@conway.org>
diff --git a/devel/p5-Class-Multimethods/pkg-plist b/devel/p5-Class-Multimethods/pkg-plist
new file mode 100644
index 000000000000..1bcaf7f3c326
--- /dev/null
+++ b/devel/p5-Class-Multimethods/pkg-plist
@@ -0,0 +1,6 @@
+%%SITE_PERL%%/Class/Multimethods.pm
+%%SITE_PERL%%/Class/Multimethods.pod
+%%SITE_PERL%%/%%PERL_ARCH%%/auto/Class/Multimethods/.packlist
+@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Class/Multimethods
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Class
+@dirrmtry %%SITE_PERL%%/Class