With Pugs 6.2.3 out of door, many lambdacamels turned their attention to the newly introduced OO implementation, committing lots of examples, documentations and tests:
t/oo/
tests actually passes; iblech and he then proceeded to write some more.
$.typed_attribute.method
is now handled by MMD.
.method
changed to mean $_.method
; to call method on the current invocant, use ^method
instead.
do { ... }
block literal is now supported.
submethod
is parsed.
sub Baz returns Foo::Bar
.
Also as a result of hangmanbot.p6, people found the NOTICE messages used by bots annoying, so iblech turned them into regular PRIVMSGs. Hopefully my checkins won't disrupt people's sleep again...
horray,.. openfoundry is back ~_~ I forgot to turn off my speakers befire I went to sleep and my mIRC beeps on notice. It woke me up :/
clkao finally got the committer bit and wrote his first lines of Perl 6 code, to change the svnbot's announcement from committer --
to committer++
. We also discussed various approaches to port svk to Perl 6.
On the perl6-language front, after some discussion with pmichaud, we suggested the $0
(that's $1
in Perl 5) produced in '123' ~~ /(\d+)/
should numify to 123
, instead of the absurdly surprisingly 1
which tripped iblech, Stevan and me. Fortunately, sanity prevailed; Larry and Damian both OK'ed the suggestion, and it's been implemnted in both PGE and Pugs.
Also, per Larry's explanation, split
with capturing rules now inserts the match objects of submatches into the resulting list, instead of their stringified forms.
Other commits of note:
pugs_version.h
correctly generated from svk checkouts.
t/pugsbugs/
to other subdirectories where they belong.
force_todo
into per-test :todo<bug>
forms.
$!
into the exit value after an unsuccessful system()
that returns false.
s/./{ state $var; ++$var }/
works perfectly, and added a test for it.
Last, but not the least, I've finally committed some non-broken C code into the Parrot tree! I separated the bogus mix of ASCII and ISO-8859-1, and made ASCII-to-Unicode transcoding an O(1) operation, as it should be. Following on my suggestion, Leo proceeded to implement utf8:unicode:"string"
literals that plays well with the existing unescape code.
I also made ASCII and Unicode's validate
detect noncharacters correctly, so there is less chance of accidental double-encoding now. The mistake of Perl 5's latin1-biased Unicode model must not be repeated in the new era! ;-)