(Darn, misclosed the tab containing today's journal. I hope I've installed a tab browser extension with unclose tab feature now... So this will be brief.)
With help from the amazing GHC profiler, I added strictness annotation to our core data types, turned them into unboxed types with -funbox-strict-fields
, threw in a thin cache for Parser.hs
, and now Pugs is 2x faster again! Our smokers are reporting that, for the first time in many weeks, make test
is faster than compiling Pugs itself. That is a clear sign: we need more tests! :-)
kcwu and machack666 brought up the life.p6
breakage to our attention; following that, Juerd and I discussed many corner cases in Perl 6 syntax; we posted them on p6l to get rulings. The current reduction rule repaired life.p6
, but introduced complications that confounded both of us.
Juerd also noted that print (3) + 4
now prints 7 (note the space between print
and (3)
), to the joy of newbies everywhere. It's now implemented in Pugs as well.
After lots of test refactoring and cleaning up last night, Corion crosses to the lambda side today, and fixed the division by zero
bug caused by splicing an empty array (thanks to Stevan for adding that test!). He is also making 1 % 0
raise the proper Illegal modulus zero
exception, instead of a uncatchable failure.
mkirank implemented the tic-tac-toe game for Pugs, and Stevan promptly checked it in for him; Stevan also updated the t/README
file to better reflect the current smoking and testing practices.
scw updated the debian port, and our helpful gnome iblech continued to add svn properties, adding back missing EOLS, and repair out of date comments.
See you tomorrow!