John Peacock <[EMAIL PROTECTED]> writes:

> Eric Wilhelm pointed out [...], so I released version-0.651 to fix
> that. Then he pointed out [...] I pointed out [...] Consequently, he
> pointed out [...], so I propose the following patch:

I know I'm not entitled to say this, and it will make me even more
unpopular than I already am, but nevertheless I'm not going to remain
silent.

I don't know all the inner details, but this M::B and version dancing
gives me the strong impression that something is terribly wrong here
at a fundamental design level.

Dealing with version numbers is not quite trivial, but should be
fairly straightforward to deal with. I cannot (and for the time being
I refuse to) believe that it takes 651 releases (652 at the time I
write this) to get it right.

I see that version.pm implements two flavours, a native perl version
and XS. Under the assumption that both versions are functionally
equal, I suggest to move the XS implementation to a separate module
and have version.pm be a single, straightforward perl module that is
easy to build, maintain, and to copy and paste into a distribution if
necessary. I cannot imagine that the gain in efficiency is noticable
for anything but an application that processes thousands of version
numbers, and in that case the authors will know that, and they can use
the XS version instead. It is better to have a good version.pm and a
faster XS version, than a complex mix that may lead to future modules
like version::lite, version::easy, or version::simple. Anyone
notice a parallel with Ken's Module::Build::YAML?

Please don't take me negative, it's just that my gut feeling is
telling me that we all can save a lot of energy by chosing a
different track.

I no way I underestimate nor underappreciate the enormous amount of
good work that you all do.

-- Johan

Reply via email to