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:
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.