>
> * Can CPAN be cyclic?
>

There are likely classes of circular dependencies that exist, but are
invisible from the metadata.

"the river" is not conclusive, just an aspect that helps us reason
about significance.

For instance, there is plenty of code all over perl that does:

if ( eval "require Foo" ) {
   Foo->stuff
} else {
   Other->stuff()
}


Such a construct implies a conditional, weak dependency on Foo, but is
frequently not exposed in the metadata.

This means that if Foo is present but functionally broken, the
consumer ( and all its consumers ) will by proxy be broken.

But this is entirely invisible on the river, due in part to the lack
of describing data in the metadata.

Techniques like this are frequently employed to side-step technical
problems that occur when a circular dependency would prevent
installation.

Subsequently, when reasoning about the river, consider it "a minimal
subset of useful information that can help guide decisions", but not
by any means all the information, and you must make conjectures that
the reality is *worse* than the river describes.


-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL

Reply via email to