Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

cog (4665)

Journal of cog (4665)

Thursday October 27, 2005
06:03 AM

Recursive dependency detected

[ #27329 ]

My last two CPAN modules are an experiment:

These two modules use each other, and state that inside Makefile.PL

The reason I created them is because I wanted to see what would happen to a CPAN shell installation of one of them:

A bunch of errors and a "Recursive dependency detected"

Should this be addressed? If so, in what way?

Why does this bother me?

Here are two of my modules:

The second one is barely started, but here's what I'd like them to do, at some point:

Lingua::Identify: You give it a file, it uses File::Munger to figure out what kind of file it is (pdf, html, whatever) and retrieve the textual content of the file, and then identifies the language.

File::Munger: You give it a file, it identifies the file type, retrieves a bunch of information about it, *including* the language the file is written in, via Lingua::Identify.

Basically, something like this:

Lingua::Identify->file_lang uses File::Munger->file_text

File::Munger->file_info uses Lingua::Identify->lang

I think this should be possible, even without breaking one of the modules in two...

Before I think too much about it, I'd like to ask for your thoughts on this.

Anyone?

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • The CPAN lacks proper dependency specifications.

    To do this properly, we probably need (1) to distinguish between pre-requirements and requirements. The first ones are necessary for installation, the second ones for usage (or for "make test"). And (2) transactional installations, that is, detect dependency cycles and install/upgrade sets of dependent packages as a whole. (Rolling back everything, of course, if one of the make-tests in the transaction fails.)

    That's what proper package management systems and

  • Whatever you think you need to try, nearly always someone has got there before you....

    • But I did use it... it's just that between the search I made and the day I finally decided to create the modules, those two showed up :-)

      Anyway, recursive dependency is only the first version of what I want to try, so my two modules (or at least one of them) will eventually see another version with another test. At some point, when I'm satisfied, I'll probably delete them.
  • It actually does the right thing when detecting recursive dependencies... try it out ;)