Is the CPAN river always a DAG?

[email protected] (James E Keenan) Tue, 27 Mar 2018 09:17:59 -0400
Newsgroups perl.cpan.workers
Message-ID <[email protected]>
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)?

Thank you very much.
Jim Keenan