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 ]

audreyt (6654)

audreyt
  (email not shown publicly)

Journal of audreyt (6654)

Thursday July 31, 2008
03:01 AM

Pugs.hs is back.

[ #37062 ]
(The excellent news from fglock++ that v6.pm is back prompted me to write something about Pugs, too, so here it is.)

During the past month, I've been quietly releasing Pugs and its dependencies on Hackage.

Installation for Pugs is now much simpler than before; see http://svn.pugscode.org/pugs/INSTALL for details.

There has been no action in terms of features, but the internal has been refactored to reduce compilation time, and the individual components has been released as separate packages to reduce maintenance overhead.

Startup time is also greatly improved. As a consequence, running the full smoke test suite is no longer a multi-hour-long ordeal; it now takes less than 15 minutes on modern machines.

As of the 6.2.13.11 release, the smoke numbers say it passes 17215 tests out of 19260, which is not significantly different from the 6.2.13 release.

Going forward, I think GHC 6.10's Quasiquoting and View patterns are going to be vital for the sanity of Pugs internals, so please expect no Pugs 6.28.* releases before GHC 6.10.1.

And finally, a shameless plug: I'm still looking for ways to make ends meet, so any offers of telecommuting, project-based/part-time jobs would be very much appreciated. :-)

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.
  • really weird, just yesterday i was wondering where you been hiding! anyway welcome back to Perl!
  • This is great news, and very welcome indeed.

    But I also have to add that part of the reduced runtime is due to many changes in the tests that leads to parse failures and thus early exists.

    The biggest chunk is the changed POD. We're slowly converting the old style POD from

      =pod

      ...

      =cut

    to new style POD

      =begin description

      ...

      =end description

    Since pugs can't parse that, the number of failing tests rose significantly.
    • Hmm? I don't see why that would be the case; Pugs parsed the begin/end POD comments just fine for quite a while now.

      For example, t/spec/S02-builtin_data_types/subtypes.t has such a block, and pugs passes it just fine (with two unexpected successes).

      Is it possible for you to give a single test file for me to try against?

      • Sorry for the noise, I tried with an outdated version of pugs. Very Outdated.

        But there's something different that came to my mind - are you actually using fudge before running the tests? some of the :todo<feature> markers were removed because they are are implementation specific, and substituted by fudge markers.

        In the parrot repository languages/perl6/t/harness integrates fudge, and languages/perl6/tools/autounfudge.pl is a script for autotmatically removing fudge markers from passing tests (which br
        • Sure, that'd be excellent. I did notice the unTODOing, but that did not trouble me as much because as long as the passing tests are still passing, things are going fine.

          In retrospect, I regret the insistence of marking :todo<feature> and making sure that all platforms fails with an equal number with tests before each Pugs release. Much of release engineering effort were spent tracking down platform-specific bugs, while it would make more sense simply to let them fail.

          But sure, a fudge script livi

          • The trouble with unTUDOed tests is just that they terminate pugs sometimes, and thus hide other tests.

            The fudge and fudgeall scripts already live in t/spec/, so you just have to integrate them into the pugs test harness.
            It's the unfudge scripts (that basically writes patches that remove '#?rakudo' or '#?pugs' fudge lines for you) that I considered for moving.

            I think that we also need to specify the functionality of Test.pm a bit more since rakudo uses its own (simpler) Test.pm, with slightly different is()
  • Hi Audrey,

    I described the pugs installation on cygwin at
    http://use.perl.org/~rurban/journal/36897 [perl.org]

  • Yes, the URL to your journal has been added to the INSTALL [pugscode.org] file. Many thanks!

    A commit bit is on its way to your mailbox; if you can check out the latest Pugs from subversion and see if "perl Makefile.PL ; make" just works on Cygwin, that'd be excellent.

  • Audrey,

    There are many, many people who wish you well in all things (not only for what you may do with Perl).

    Have you considered posting a link to say an Amazon wish list so that those who cannot afford to employ you, can register their appreciation ?

    Why not revisit TPF with a proposal to do more on what you obviously love, namely the Haskell implementation of P6 ? I can't think of a better way for the TPF to invest some of the Ian Hague cash than doing this, and, were I to learn that they'd sponsored