Today I wade through the code in perl5/ (i.e., the Perl5 and JS runtime engines), to prepare for the renovated container/object runcore. The Perl5 runtime's hook with metamodel was very enlightening, and fglock's meticulous TODO comments helped much. Also iblech's JS runtime is so concise, it looks almost like poetry. *smile*
I then turned to read theory.pod for the third time, which is a good summary of GADTs and generics in a Perl6 setting -- but whenever I start to think about how to reconcile it with optional dynamicness, my head starts throbbing. No wonder why Larry spent much time mulling over it, and I sympathize luqui's conflicted feeling a lot. Still, I think here formalization still helps, not hinders, so I look forward to spend some time with @Larry next week to hammer this out.
On the metamodel front, stevan attempted to steer Perl6's OO model toward Smalltalk/CLOS/Ruby from the Java/C++ direction, proposing that we drop class method inheritance and instead embrace eigenclasses, per-instance methods and roles as the True Way of doing things. Damian wondered how can we tell people to do away with the perl5 idiom of inheritable class-method new, and the discussion continues... Personally I think having a certain kind of Class that supports inheritable class methods can work out, but I'm not sure; fortunately, stevan volunterred to experiment and report back.
eric256 continued to make examples more pugs and runnable, and uncovered a bug that makes pugs too eagerly handle -n and -p in the script's argument list.
iblech added proper exception for division/modulo-by-zero to PIL2JS, a complete set of bit operators, fixed evaluation order so the indices are evaluated before the array/hash, and converted more p6l discussions into somewhat saner and certainly more tractable tests.
There's more, but I need to sleep. Ciao!
Subclass of Class with inheritable class methods (Score:1)
- Stevan