--- Stevan Little <[EMAIL PROTECTED]> wrote:
> On 5/23/06, Sam Vilain <[EMAIL PROTECTED]> wrote: > > People can diverge completely with completely incompatible > > metaclasses that don't .do those roles, the only side effect > > of which being that people who write code for the standard > > Perl 6 metamodel will be incompatible, and maybe some ways > > of setting up the class won't work without another layer of > > trickery. I *think* that's what you're getting at. Of course, > > it shouldn't be prohibited just because it smells. > > I am not sure I like this, incompatible metaclass issues are really > really tricky and hard to debug (aka - smells *really* bad). And the > system needed to support them really can bloat the metamodel > internals in a nasty way. There are several papers out there on the > subject, none of which IMO provide a satisfactory solution. The > problem then becomes compounded by introducing the Python and Ruby > metamodels into the fray. Having a single compatability level made > out of roles is not that much of a restriction really, and keeps > much of the system interals clean and orderly. It also makes it > much easier for use to add new metamodels from other languages by > just by writing a layer to map to the core metamodel roles. <my $.02> I'd say a more standard system is much better, so long as we leave a standard set of hooks by which someone can insert a nonstandard setup. A small API isn't a huge bloat, and is worth it, though I agree that a full system might actually be counterproductive. And by all that I've seen lately, the whole language is pretty malleable that way; those who really want the nonstandard model can take the small overhead hit of whatever internal shenanigans they need to implement, and just about anything like that can be stuffed into a module now, can't it? So the upshot is, a standardized metamodel seems like the way to go to me.... </my $.02> <ot> And Congrats again, gramps. May your new little one be as loved as the language you've also labored so much to guide to maturity. >;o] </ot> Paul "on est aisément dupé par ce qu'on aime" -- Molière (one is easily fooled by that which one loves) "Increase in wisdom can be measured accurately by the corresponding decrease in anger." -- Friedrich Nietzsche "There are trivial truths and there are great Truths. The opposite of a trival truth is obviously false. The opposite of a great Truth is also true." -- Neils Bohr "Real friends are those whom, when you must inconvenience them, are bothered less by it than you are." -- me. =o) Hodges' Rule of Thumb: Don't expect reasonable behavior from anything with a thumb. __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com