in reply to The Case for Sensitivity to Case-Insensitivity in Module Names

This list would be shorter if you only examined the most recent version of each distribution.

For example, Bio::SeqIO::Fasta is from bioperl-0.05.1 (05 Jul 1999), while Bio::SeqIO::fasta is from bioperl-1.4 (23 Dec 2003).

Similarly, Petal::Hash::VAR is from Petal-0.64 (03 Sep 2002), while Petal::Hash::Var is from Petal-2.05 (05 Apr 2004).

In both cases, those modules are only used internally, so no public interface is broken by the case change.

Some of the other cases are still relevant -- for example, Stem and stem are from two different distributions.

If you wanted to make sure this didn't happen again, the PAUSE indexer could be patched to do case-folded comparisons so that module authors would be warned of this kind of conflict.

  • Comment on Re: The Case for Sensitivity to Case-Insensitivity in Module Names

Replies are listed 'Best First'.
Re: Re: The Case for Sensitivity to Case-Insensitivity in Module Names
by QwertyD (Pilgrim) on Apr 16, 2004 at 16:49 UTC
    If you wanted to make sure this didn't happen again, the PAUSE indexer could be patched to do case-folded comparisons so that module authors would be warned of this kind of conflict.

    Yes, I'm unsure exactly what to do about this. While I could see warning future module authors about it, the problem is that there are already modules whose names differ already in case. You couldn't easily prevent uploads of modules whose names case-insensitively conflict with other modules unless you wanted to prevent all of the authors of the modules that already exist from uploading new versions. It would probably be too heavy-handed to make a bunch of people change their modules' names.

    I guess you could prevent people from uploading modules whose names have never been used before but conflict with others case-insensitively, though. Still, maybe just warning authors is the best solution.


    Once it's Turing complete, everything else is just syntactic sugar.