Pm's #parrotsketch report for 2006-11-21 * Helped chromatic and mdiep debug grammar issues in pheme and Tcl * Lots of improvements to PAST-pm * PAST-pm now has + variable support (package/namespace, lexical, hash, array, vivification) + conditionals (if, unless, else) + loops (while, until) + inlined PIR nodes + method call nodes + nested lexical blocks + some documentation and an example * I have a good feeling about past-pm, things seem to "just work" and fit nicely + now being used for perl6, abc, apl, and (reportedly) plumhead * Lots of improvements to languages/abc (loops, variables, operators, tests) + smash++ for tests and harness * Rebuilt APL to use PAST-pm and HLLCompiler + old: 943 lines, new: 466 lines * Added a "--trace" option to HLLCompiler * Updates to perl6: + Now uses PAST-pm and HLL Compiler + initial support for arrays and hashes + cleaner handling of symbol table and lexicals + improved(?) postfix ops in grammar + perl6 now supports method calls [ $a.foo and $a.foo() ] + working but not committed: subs w/o parameters + working on subs with parameters now * I'm continually running into various roadblocks with subclasses of PMC classes * There's also a bizarre (and annoying) interaction between Test::Harness and perl6, it seems to generate extra calls to :main (with bogus arguments). (Different versions of T::H cause different reactions.) * I have three questions today Waiting for resolutions/fixes for: - ability to reliably subclass PMCs - RT #40806: [BUG] IMCC - embedded source locations (#line nnn "file.pir") - RT #40626: [BUG] :vtable fails for subclasses of core classes - working subclasses of capture.pmc Questions: * Do we have a standard prototype format for documenting pir subs in POD? * What's the implementation status on exception handling? * Should I convert punie to past-pm, or come up with a converted version? Problems observed with subclassing PMCs: * can't iterate over subclass of .ResizablePMCArray * "clone" op doesn't work for subclasses of .ResizablePMCArray, .Hash * sub-subclass of .Capture doesn't properly delegate vtable methods