On Tue, Mar 27, 2018 at 3:17 PM, James E Keenan <jkee...@pobox.com> wrote: > A few weeks ago I made a presentation to the Philadelphia Perlmongers > (http://thenceforward.net/perl/talks/phlpm20180312/index.html) on the > subject "Testing CPAN against the Perl 5 Core Distribution: Where Do We > Stand?". In that presentation, I sketched the concept of the CPAN river and > described it as a directed acyclic graph (DAG) > (http://thenceforward.net/perl/talks/phlpm20180312/slide017.html), using one > of Neil Bower's images to make that point. > > In the discussion afterwards, a prominent former COBOL programmer suggested > that there was nothing to exclude the possibility of circular dependencies > among CPAN distributions. A could depend on B, which depends on C, which > depends on A. If so, we would have a cyclic graph. Wouldn't that undermine > the concept of the CPAN river, he asked. > > Since all I know about DAGs I got from reading Wikipedia and the > documentation to Jarkko's Graph.pm module, I didn't have a good response. > So I promised to ask the question here. > > * Can CPAN be cyclic? > > * If so, then does that mean that, when we speak of CPAN as a river, we are > *imposing* DAG-ness on it by means of the algorithm(s) with which we > calculate the river (e.g., https://github.com/dagolden/zzz-index-cpan-meta)?
There have been cases of circular dependencies in the past, though no CPAN client will handle them nicely anyway so they should iron out by themselves. I don't think it undermines the concept of the river, though it probably does complicate the calculation. Leon