Re: Class names are virtual

2008-04-23 Thread TSa
HaloO, John M. Dlugosz wrote: Using Dog in an expression (rather than a declaration) returns an undefined protoobject of type Dog. Yeah, an avatar. But we already know that this is supposed to work: my ::Alias ::= Dog; but maybe the RHS of ::= (if not :=) has its own special parsing

Re: Class names are virtual

2008-04-22 Thread TSa
HaloO, John M. Dlugosz wrote: They are mixed! Perl treats types as first-class objects. For functions, types don't need to be treated specially from other arguments as in C++. Looks like we need a third party ruling on that. Note that the HOW is the meta class object and the WHAT the

Re: Class names are virtual

2008-04-22 Thread TSa
HaloO, John M. Dlugosz wrote: Larry, you've wanted to have class names used within a class be virtual. With various degrees of conviction across the synopses, you've wanted classes defined within a class to be overridable, or all classes referenced by a class to be overridable, speculating

Re: Class names are virtual

2008-04-22 Thread John M. Dlugosz
as methods are virtual. I think more along the lines of parametric polymorphism. So D implicitly is 'class D [::C = OUTER::C]'. This ::C is bound to P::C in 'class E is D'. Attributes are frozen into the base class and don't override the way members do. That is why virtual class names don't apply to them

Re: Class names are virtual

2008-04-22 Thread John M. Dlugosz
TSa Thomas.Sandlass-at-barco.com |Perl 6| wrote: HaloO, John M. Dlugosz wrote: They are mixed! Perl treats types as first-class objects. For functions, types don't need to be treated specially from other arguments as in C++. Looks like we need a third party ruling on that. Note that the

Re: Class names are virtual

2008-04-22 Thread John M. Dlugosz
TSa Thomas.Sandlass-at-barco.com |Perl 6| wrote: For functions, types don't need to be treated specially from other arguments as in C++. Could you give an example of what you mean in C++ and how Perl differs from that? In C++, types are not first-class objects. You can't pass a type as

Re: Class names are virtual

2008-04-21 Thread TSa
HaloO, John M. Dlugosz wrote: I hope you have a few minutes to look it over. I started to think it through. There are two quick remarks. In module M { class C { ... } class D { # lexical region where C refers to M::C method m1 () { my

Re: Class names are virtual

2008-04-21 Thread John M. Dlugosz
TSa Thomas.Sandlass-at-barco.com |Perl 6| wrote: Second, I don't like the concept of a virtual method that returns a type. That horribly mixes type level and value level. From the They are mixed! Perl treats types as first-class objects. For functions, types don't need to be treated

Class names are virtual

2008-04-20 Thread John M. Dlugosz
Larry, you've wanted to have class names used within a class be virtual. With various degrees of conviction across the synopses, you've wanted classes defined within a class to be overridable, or all classes referenced by a class to be overridable, speculating on whether this is do-able.