HaloO Mr Castagna On Friday, 5. February 2010 16:43:26 you wrote: > I see I'm going out of the scope of this list. I apologize for spamming, > but please continue to post here or send me by PM every information about > Perls 6 types.
I'm delighted to have you interested in Perl 6. I know your book and articles and have argued for a type system of Perl 6 here on the list for quite a while. Unfortunately I'm not able to implement one for Parrot or so. But if you are willing to port the CDuce code this is a great thing! There is no formally defined subtype relation or rules for subsumption. A type is called narrower without details what that means. And the odering in dispatch is not a type lattice as in Cecil but a topological ordering. Again I've no clue what that means. It is possible for one role to do another as in role A does B {...} and all objects that do A are also B doers. So one could infer that we have A <: B. But note that this subtype relation is not enforced in the body of the role or in the class it is composed into. The spec says nothing about class inheritance and type narrowness. Parametric roles are covariant on their type parameter irrespective of its use. E.g. you can declare a read/write attribute of that type. Regards TSa. -- "The unavoidable price of reliability is simplicity" -- C.A.R. Hoare "Simplicity does not precede complexity, but follows it." -- A.J. Perlis 1 + 2 + 3 + 4 + ... = -1/12 -- Srinivasa Ramanujan