r36744 - in /branches/upstream/libalgorithm-c3-perl/current: Build.PL Changes MANIFEST META.yml Makefile.PL README lib/Algorithm/C3.pm
ryan52-guest at users.alioth.debian.org
ryan52-guest at users.alioth.debian.org
Sat May 30 03:40:01 UTC 2009
Author: ryan52-guest
Date: Sat May 30 03:39:52 2009
New Revision: 36744
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=36744
Log:
[svn-upgrade] Integrating new upstream version, libalgorithm-c3-perl (0.08)
Removed:
branches/upstream/libalgorithm-c3-perl/current/Makefile.PL
Modified:
branches/upstream/libalgorithm-c3-perl/current/Build.PL
branches/upstream/libalgorithm-c3-perl/current/Changes
branches/upstream/libalgorithm-c3-perl/current/MANIFEST
branches/upstream/libalgorithm-c3-perl/current/META.yml
branches/upstream/libalgorithm-c3-perl/current/README
branches/upstream/libalgorithm-c3-perl/current/lib/Algorithm/C3.pm
Modified: branches/upstream/libalgorithm-c3-perl/current/Build.PL
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/Build.PL?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/Build.PL (original)
+++ branches/upstream/libalgorithm-c3-perl/current/Build.PL Sat May 30 03:39:52 2009
@@ -12,7 +12,6 @@
build_requires => {
'Test::More' => '0.47',
},
- create_makefile_pl => 'traditional',
recursive_test_files => 1,
add_to_cleanup => [
'META.yml', '*.bak', '*.gz', 'Makefile.PL',
Modified: branches/upstream/libalgorithm-c3-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/Changes?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/Changes (original)
+++ branches/upstream/libalgorithm-c3-perl/current/Changes Sat May 30 03:39:52 2009
@@ -1,4 +1,8 @@
Revision history for Perl extension Algorithm-C3.
+
+0.08 Thu. May 28, 2009
+ - Fix a couple of doc typos.
+ - Don't create a fake Makefile.PL.
0.07 Mon. May 14, 2007
- Some very small optimizations had been
Modified: branches/upstream/libalgorithm-c3-perl/current/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/MANIFEST?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/MANIFEST (original)
+++ branches/upstream/libalgorithm-c3-perl/current/MANIFEST Sat May 30 03:39:52 2009
@@ -1,9 +1,7 @@
Build.PL
Changes
lib/Algorithm/C3.pm
-Makefile.PL
-MANIFEST
-META.yml
+MANIFEST This list of files
README
t/000_load.t
t/001_merge.t
@@ -19,3 +17,4 @@
t/011_infinite_loop.t
t/pod.t
t/pod_coverage.t
+META.yml
Modified: branches/upstream/libalgorithm-c3-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/META.yml?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/META.yml (original)
+++ branches/upstream/libalgorithm-c3-perl/current/META.yml Sat May 30 03:39:52 2009
@@ -1,6 +1,6 @@
---
name: Algorithm-C3
-version: 0.07
+version: 0.08
author:
- 'Stevan Little, E<lt>stevan at iinteractive.comE<gt>'
- 'Brandon L. Black, E<lt>blblack at gmail.comE<gt>'
@@ -15,8 +15,8 @@
provides:
Algorithm::C3:
file: lib/Algorithm/C3.pm
- version: 0.07
-generated_by: Module::Build version 0.2807
+ version: 0.08
+generated_by: Module::Build version 0.33
meta-spec:
- url: http://module-build.sourceforge.net/META-spec-v1.2.html
- version: 1.2
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: 1.4
Modified: branches/upstream/libalgorithm-c3-perl/current/README
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/README?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/README (original)
+++ branches/upstream/libalgorithm-c3-perl/current/README Sat May 30 03:39:52 2009
@@ -1,4 +1,4 @@
-Algorithm::C3 version 0.07
+Algorithm::C3 version 0.08
===========================
See the individual module documentation for more information
@@ -25,5 +25,5 @@
http://www.iinteractive.com
This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+it under the same terms as Perl itself.
Modified: branches/upstream/libalgorithm-c3-perl/current/lib/Algorithm/C3.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libalgorithm-c3-perl/current/lib/Algorithm/C3.pm?rev=36744&op=diff
==============================================================================
--- branches/upstream/libalgorithm-c3-perl/current/lib/Algorithm/C3.pm (original)
+++ branches/upstream/libalgorithm-c3-perl/current/lib/Algorithm/C3.pm Sat May 30 03:39:52 2009
@@ -6,7 +6,7 @@
use Carp 'confess';
-our $VERSION = '0.07';
+our $VERSION = '0.08';
sub merge {
my ($root, $parent_fetcher, $cache) = @_;
@@ -85,7 +85,7 @@
if(!$winner) { # looking for a winner
$cand = $_->[0]; # seq head is candidate
next if $tails{$cand}; # he loses if in %tails
-
+
# Handy warn to give a output like the ones on
# http://www.python.org/download/releases/2.3/mro/
#warn " = " . join(' + ', @res) . " + merge([" . join('] [', map { join(', ', @$_) } grep { @$_ } @seqs) . "])\n";
@@ -98,11 +98,11 @@
$tails{$_->[0]}-- if @$_; # keep %tails sane
}
}
-
+
# Handy warn to give a output like the ones on
# http://www.python.org/download/releases/2.3/mro/
- #warn " = " . join(' + ', @res) . "\n" if !$cand;
-
+ #warn " = " . join(' + ', @res) . "\n" if !$cand;
+
last if !$cand;
die q{Inconsistent hierarchy found while merging '}
. $current_root . qq{':\n\t}
@@ -138,57 +138,57 @@
=head1 SYNOPSIS
use Algorithm::C3;
-
- # merging a classic diamond
- # inheritence graph like this:
+
+ # merging a classic diamond
+ # inheritance graph like this:
#
# <A>
# / \
# <B> <C>
# \ /
- # <D>
+ # <D>
my @merged = Algorithm::C3::merge(
- 'D',
+ 'D',
sub {
- # extract the ISA array
+ # extract the ISA array
# from the package
no strict 'refs';
@{$_[0] . '::ISA'};
}
);
-
+
print join ", " => @merged; # prints D, B, C, A
=head1 DESCRIPTION
-This module implements the C3 algorithm. I have broken this out
-into it's own module because I found myself copying and pasting
-it way too often for various needs. Most of the uses I have for
-C3 revolve around class building and metamodels, but it could
-also be used for things like dependency resolution as well since
-it tends to do such a nice job of preserving local precendence
-orderings.
-
-Below is a brief explanation of C3 taken from the L<Class::C3>
-module. For more detailed information, see the L<SEE ALSO> section
+This module implements the C3 algorithm. I have broken this out
+into it's own module because I found myself copying and pasting
+it way too often for various needs. Most of the uses I have for
+C3 revolve around class building and metamodels, but it could
+also be used for things like dependency resolution as well since
+it tends to do such a nice job of preserving local precedence
+orderings.
+
+Below is a brief explanation of C3 taken from the L<Class::C3>
+module. For more detailed information, see the L<SEE ALSO> section
and the links there.
=head2 What is C3?
-C3 is the name of an algorithm which aims to provide a sane method
-resolution order under multiple inheritence. It was first introduced
-in the langauge Dylan (see links in the L<SEE ALSO> section), and
-then later adopted as the prefered MRO (Method Resolution Order)
-for the new-style classes in Python 2.3. Most recently it has been
-adopted as the 'canonical' MRO for Perl 6 classes, and the default
+C3 is the name of an algorithm which aims to provide a sane method
+resolution order under multiple inheritance. It was first introduced
+in the language Dylan (see links in the L<SEE ALSO> section), and
+then later adopted as the preferred MRO (Method Resolution Order)
+for the new-style classes in Python 2.3. Most recently it has been
+adopted as the 'canonical' MRO for Perl 6 classes, and the default
MRO for Parrot objects as well.
=head2 How does C3 work.
-C3 works by always preserving local precendence ordering. This
-essentially means that no class will appear before any of it's
-subclasses. Take the classic diamond inheritence pattern for
+C3 works by always preserving local precedence ordering. This
+essentially means that no class will appear before any of it's
+subclasses. Take the classic diamond inheritance pattern for
instance:
<A>
@@ -197,13 +197,13 @@
\ /
<D>
-The standard Perl 5 MRO would be (D, B, A, C). The result being that
-B<A> appears before B<C>, even though B<C> is the subclass of B<A>.
-The C3 MRO algorithm however, produces the following MRO (D, B, C, A),
+The standard Perl 5 MRO would be (D, B, A, C). The result being that
+B<A> appears before B<C>, even though B<C> is the subclass of B<A>.
+The C3 MRO algorithm however, produces the following MRO (D, B, C, A),
which does not have this same issue.
-This example is fairly trival, for more complex examples and a deeper
-explaination, see the links in the L<SEE ALSO> section.
+This example is fairly trivial, for more complex examples and a deeper
+explanation, see the links in the L<SEE ALSO> section.
=head1 FUNCTION
@@ -212,32 +212,32 @@
=item B<merge ($root, $func_to_fetch_parent, $cache)>
This takes a C<$root> node, which can be anything really it
-is up to you. Then it takes a C<$func_to_fetch_parent> which
-can be either a CODE reference (see L<SYNOPSIS> above for an
-example), or a string containing a method name to be called
-on all the items being linearized. An example of how this
+is up to you. Then it takes a C<$func_to_fetch_parent> which
+can be either a CODE reference (see L<SYNOPSIS> above for an
+example), or a string containing a method name to be called
+on all the items being linearized. An example of how this
might look is below:
{
package A;
-
+
sub supers {
no strict 'refs';
@{$_[0] . '::ISA'};
- }
-
+ }
+
package C;
our @ISA = ('A');
package B;
- our @ISA = ('A');
- package D;
- our @ISA = ('B', 'C');
+ our @ISA = ('A');
+ package D;
+ our @ISA = ('B', 'C');
}
-
+
print join ", " => Algorithm::C3::merge('D', 'supers');
-The purpose of C<$func_to_fetch_parent> is to provide a way
-for C<merge> to extract the parents of C<$root>. This is
+The purpose of C<$func_to_fetch_parent> is to provide a way
+for C<merge> to extract the parents of C<$root>. This is
needed for C3 to be able to do it's work.
The C<$cache> parameter is an entirely optional performance
@@ -264,7 +264,7 @@
=head1 CODE COVERAGE
-I use B<Devel::Cover> to test the code coverage of my tests, below
+I use B<Devel::Cover> to test the code coverage of my tests, below
is the B<Devel::Cover> report on this module's test suite.
------------------------ ------ ------ ------ ------ ------ ------ ------
@@ -319,7 +319,7 @@
=item L<http://www.call-with-current-continuation.org/eggs/c3.html>
-=back
+=back
=head1 AUTHORS
@@ -334,6 +334,6 @@
L<http://www.iinteractive.com>
This library is free software; you can redistribute it and/or modify
-it under the same terms as Perl itself.
+it under the same terms as Perl itself.
=cut
More information about the Pkg-perl-cvs-commits
mailing list