On Thu, Aug 11, 2005 at 01:34:34AM +0800, Autrijus Tang wrote: : On Wed, Aug 10, 2005 at 10:25:05AM -0700, Larry Wall wrote: : > I'll have to think about the rest of your proposal, but I was suddenly : > struck with the thought that our "platonic" Class objects are really : > forms of undef: : > : > say defined IO; # prints 0 : : Hmm, bool::false stringifies to '0'?
Well, okay, maybe I meant: say +defined IO; # prints 0 : Also, isn't IO an instance of Class, and hence defined? It's up to the instance to tell you whether it's defined or undefined. Perl 5 guarantees that all refs are defined, but Perl 6 makes no such guarantee. The whole interesting-undef thing depends on this. : My current understanding is that the typechecker considers IO to be of : Class type, not of IO type; the fact that IO.does(IO) is true is purely : an illusion created by special dispatch for .does. Well, that's what I thought last week. :-) But these days I'm wondering if the whole point of a class is to proxy for its missing members, and everything else is deferred to the metaclass. : Am I way off base? :) Maybe, but it doesn't matter if your teammate just knocked a home run. Unfortunately the ball is still in the air, and we don't know if it'll clear the fence, or land in someone's mit. Larry