Slash Boxes
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

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Those who don't take reality into account make up laws instead and then kick people in the head for not following them
    • I'll put you on the "pro" side of literal tabs in Makefiles then, and five years of completely broken Scalar::Util in ActivePerl.

      • How is Scalar::Util broken in ActivePerl it is (at least supposed to be) the same as in core Perl.
        • As I understand it, it doesn't include (all of?) the XS components of the module, making reftype() unavailable for the ActivePerl 5.8.x releases.

          The explanation I heard (and I don't remember where, though I'm pretty sure it wasn't from you) is that one goal of the ActivePerl releases for 5.8.x was to maintain binary compatibility back to 5.8.0, and thus there would be no reftype() available for Scalar::Util.

          When I last looked at which of my distributions failed in the AS build and test farm, most of the

          • You might have heard it from me, although I'm not sure it was (only) reftype()... might also have been weaken().

            ActivePerl on Windows maintains binary compatibility, and it does so for business reasons.

            As a result Scalar::Util, and hence all interesting packages (as in like 40% of all CPAN modules) are broken on ActivePerl, and can't be fixed for business reasons.

            This is why I never got to demo PPI on my own laptop at the Perl Conference the year I want, which triggered off a year-long attempt to get them t
            • If you’re building something important, 12,000 is still not very big.

              Of course it’s hard to assess ahead of time whether 12,000 is small or big in one’s particular case…

            • When the userbase is 12, who cares, when it's 12,000 or 12,000,000 that's an entirely different matter.

              My objection is when the best (and sometimes only) argument is "We can't change because people are already using it!" That argument was rubbish back when make had 12 users, and it's rubbish now when the proposed change improves the lives of many times more users.

              In ten years, see if fervent adherence to backwards compatibility killed Perl 5 in 2002.

            • 12,000 is the number of downloads of ActivePerl for Windows every 2-3 days (downloads for other platforms are significantly lower). Which is why breaking backwards compatibility in the PPM repository is a big deal.

              Of course all of these issues are really just pointing out faults in the original setup of the PPM and build farm infrastructure. Unfortunately it is a lot of work to get it cleaned up. We are currently testing adding additional repositories that are built with 5.8.8. We have already changed t
          • The explanation I heard [...] is that one goal of the ActivePerl releases for 5.8.x was to maintain binary compatibility back to 5.8.0, and thus there would be no reftype() available for Scalar::Util.

            I think it's reasonable to try to maintain binary backwards compatibility, but the problem seems to come from them breaking compatibility with Perl!

            Is the problem instead that we pretend that ActivePerl is Perl?

            P.S. Why is `make` considered broken, anyway, instead of the editors that can't highlight/insert tabs? Maybe they just aren't appropriate for editing Makfiles.

            • Invisible characters were much more difficult to see 30 years ago, but (so the story goes) a dozen people already used make, so the author both regretted the choice of literal tabs and couldn't fix the program.

          • You are mixing 2 different issues:

            ActivePerl contains the same or a later version of Scalar::Utils as the corresponding core release. ActivePerl should always contain a superset of the functionality of the corresponding core release; everything else would be a bug. In the spirit of the Artistic License, ActivePerl is a "Standard Version" of Perl.

            The PPM build farm however does run with very old distributions for backwards compatibility, as the generated modules must work on any released version of ActivePe