Day 221 (r7568): A day of reading.

autrijus on 2005-10-12T00:55:10

Happily, both lightning talks got accepted, so I committed the unadapted Larry was a mariner text into the Pugs tree, planning to work on it (and read The Sillymarillion) whenever my brain feels overheated. Thoughts, ideas, patches and commits are all very much welcome!

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

Stevan on 2005-10-12T02:21:40

As promised, I have managed to implement a subclass of Class which will create classes which themselves have inheritable class methods (wow, thats kind of a mouthful). It is commited as a test in the Perl 5 meta-model prototype here. It has some quirks, but nothing which cannot be overcome easily.

- Stevan