Day 116: Massive backlogging.

autrijus on 2005-05-28T00:41:34

Stevan's life as the ChangeLog scribe would probably be much miserable, if I actually skipped all daily summaries for this week. So I'm back now to summarise the developmeng since Pugs 6.2.5's release:

  • Multi-invocant calls like foo($x, $y: $z) is no longer legal, according to Damian's new revelation. That broke &sub.goto for a while (since you can't re-appoint invocants anymore), but it's fixed now.
  • Class methods now works; Int.isa(Int) now returns true.
  • ./SUPER::method() implemented at chromatic's request.
  • pugs -MFoo now means use Foo instead of require Foo. That makes pugs -MDBI--perl5 -e '...' work correctly.
  • chromatic hacked in DESTROYALL/DESTROY support with help from scook0 and SamB, taking advantage of GHC's fast generational GC system and System.Mem.Weak's support for adding finalisers. I also forced a GC run to always happen on program termination.
  • luqui implemented exclusive-range operators: ^.., ..^ and ^..^.
  • integral (aka bsmith -- I'm going to switch to IRC nicks as primary handles) continued to factor away AST, Parser and other modules into smaller submodules.
  • gaal added quickref/unicode to document how to enter those Unicode operators in editors, upon dragonchild's request on p6l; Juerd also improved layout on many quickref documents.
  • ninereasons worked on the cookbook, in particular 01-02default-variables.t, adding idioms like the use of [//] @foo to find the first defined value in @foo.
  • iblech adjusted the scaling of svnlog2graph.pl again, because we have more 4000 commits now. Parrot has ~8000, so there's still some way to go...
  • mugwump played with the new coro support, adding a (not fully working) iterator interface to his Tree.pm module.
  • theorbtwo and scook0 tweaked PA02 to make it more readable.
  • mugwump rearranged metamodel-related modules under ext/Perl-MetaModel to be more consistent; the beginning of a Perl 6 port of Pugs's source code is interesting.
  • Stevan updated perl6_meta_meta_class_hierarchy.pod; I asked chromatic to audit them before I implement them in Pugs.
  • rgs, integral and clkao worked on Makefile.PL's support for Perl 5 embedding; it should now work on most *nix platforms.
  • Limbic_Region needed hyper-dereferencing operators, so he wrote test for them.
  • iblech made &reduce and &map accept n-ary functions, in a similar way as the for block.
  • dakkar, our new committer, added a JAPH written for the t-shirt of the Second Italian Perl Workshop:
    say [~] (-> @c is copy {gather { while @c[0] { for @c -> {take(.shift)} } }
    }(['Joec','utrk','shle','te6r',' r .','a h.','nPa.'].map:{[split "",$_]}));
    
  • Aankhen added &escapeHTML and &unescapeHTML to CGI.pm, refactored CGI::Header to behave more like the Perl 5 counterpart, implemented full support for CGI::redirect, and ported over Perl 5's CGI::Util module.
  • cdpruden, our new committer, found that our &eval_haskell is broken with newer hs-plugins. Old versions with non-hierarchical namespace is no longer supported.
  • Corion declared that × now works on Win32 for real.
  • iblech made die "abc\ndef\nghi" correctly align vertically.
  • gaal started working on the standard Prelude.pm, a set of not-really-primitve functions that can be implemented in Perl6. The first example is &Pipe::open (but known as &openpipe for now.
  • Hyper-reduction prefix operators like [+]« are now parsed, thanks to iblech.
  • iblech also made &readline handle UTF-8 correctly, so svnbot6 can finally announce the commit messages as UTF-8.
  • scook0 added more Haddock, and renamed the enterLoop internal function to the more correct enterWhile.
  • fireartist, our new committer, added many tests for corner cases in array and hash slicing.
  • iblech unbroke "$hash<key>" in string interpolation.
  • nothingmuch added a draft module, Class::Events, a publish-subscribe event framework much like Class::Publisher. With luck (and handles delegation support), hopefully he will finish it before the 6.2.6 release and move to ext/ where it belongs...
  • iblech contributed another useful real-world Perl 6 script, screen-nodestatus.p6, that monitors host aliveness for GNU screen users. The bottom-right corner of this screenshot has this in action.
  • Aankhen moved ext/LWP-Simple/ to ext/libwww-perl/ after some discussions in #perl6.
  • ninereasons improved support for inline documentations in perl6.vim. I wonder when will we see a perl6-mode for Emacs...
  • SamB, our new committer from lambdaland, added export lists Pugs.Types, while investigating various ways to speed up the compilation process.
  • iblech implemented implemented a couple Control::Basic::* functions from S29: ¬hing and &evalfile.
  • ninereasons clarified a pair.t test that reflects Larry's ruling that => now assumes assignment precedence, so 1 => 2 ?? 3 :: 4 will construct a pair. I promptly implemented it.
  • Aankhen improved porting_howto to keep it up to date with recent practices.
  • eric256 continued to work on wizard.p6, uncovering many issues with given/when and wrote tests for them. Thanks to his report, when .method() {...} now works.
Whew. I think that's all. See you tomorrow!