Today the release-a-thon continued, with gaal joining the bug triaging. We made good progress, but sadly $job days begins from tomorrow until Friday, so the release schedule continues to slip toward this weekend. :-(
Leo implemented the nested subroutine scoping in Parrot, so closures is now always closed at compile time first, and then recloses itself at runtime as neccessary:
sub f ($x) {
sub g { $x }
}
g(); # undef -- pad not initialized
my $g = f(10);
$g(); # 10 -- sub{$x} is returned at runtime
g(); # 10 -- also &g is rebound
f(20);
$g(); # 10 -- the old closure is kept around
g(); # 20 -- the new rebound &g takes the new $x
This behaviour is dynamic, nice, fun, and sufficiently perlish. :-)
Now that the fallout from the lexical import change is mostly cleared, I can resurrect evalbot to #perl6 and rest in peace for tonight. See you tomorrow!
Comments