Today has been really really crazily full of Pugs events and developments, even by the breakneck Pugs standard, and I can't possibly summarize them all. So just some short links:
slurp()
builtin for him.
t/
directory is being worked out just now.
hanoi.p6
produces weird results. It turns out that in binding sub foo ($a, $b)
, the $a
is being seen from the expression bound to $b
; this bug was caused by the support for sub foo ($a, ?$b = $a)
. Now only the defaulting for optional args can see the earlier bound parameters.
Makefile.PL
to be less insane, but made it break for earlier MakeMakers, so we now require MakeMaker 6.17 or later. Much kudos to gaal for spending tons of time tracking this down!
-O
to Eval and Unicode modules, so a normal Pugs executable should now be up to 5x faster.
:=
binding produce thunks (evaluations that remembers its original environment). So lvalue binding now works consistently, and the symbol table no longer contains Exps -- it's all Vals now.
substr
; jworthington implemented ASCII versions of hyper operators; stevan finished porting File::Spec
, except for the VMS part, but I don't think GHC runs on VMS anyway...
Locale::KeyedText
more idiomatically p6ish; so far all p6ification works have resulted in fruitful p6l discussions, often causing healthy rule 2 invocations. Nice!
$self.method vs $_.method
dilemma, namely to introduce o
for the current object and c
for the current (dynamic) class. I think it is really the best solution I have seen so far, but p6l is still hashing it out and Larry seems about to change his mind again, so maybe it will become something even better.
Whew. I don't think I've covered more than half of today's developments. But I must sleep now. obra will arrive in less than 24 hours...