Today is another productive day, with the Eval in Rule problem finally resolved. Now we can finally do compilation and evaluation inside the parser, all these things are suddenly working:
-
BEGIN {
as both a rhs term and statement level block -
use Module;
- Calling
foo()
before definingsub foo {
- Room for compile-time AST analysis, such as
use strict
,use warnings
and macros.
There are many other new developments today as well:
- Stevan tweaked dragonchild's tic-tac-toe game example some more, with a nice-looking game board.
- Stevan also helped me changing all the
require Test
touse Test
in test files. - Corion noted that on Win32, an
async { system(...) }
blocks other threads as well. That does not happen on FreeBSD here, so it may well be a Win32-specific issue. He added tests for it. - Limbic_Region, our new committer on board, checked in a wonderfully written progressive power set generator, which exercises some missing Pugs features...
- ...mugwump promptly implemented the first,
@elem.end
. - ...I also implemented the second one: correct parsing for
last if defined $foo
. - ninereasons repaired the MOTD.pm module used in the motd demo example.
- bsb added
$ENV{HASKTAGS}
override for ourmake tags
target. - I improved the error reporting; now it always come with a source code position, including the file name, line and column number.
That's quite good for a day... See you tomorrow!
Comments