Rob Kinyon wrote:
> "Any practical programming language with structural subtyping will
> probably let you create and use aliases for type names (so you don't
> have to write the full form everywhere). However, the underlying type
> system will only consider the structure of the type when doing its
> job."
> 
> What's wrong with Perl doing things that way? duck-typing with names
> ... sounds like a plan to me ...

The thing is that people using .does(Name) and .isa(Name) is probably
expecting a nominal answer, not a structural one.

Although I do think Visual Basic's explicit duck-subtypes makes a lot of
sense:

    my subset Duck where {
        has $.half_life;
        can doom:();
        can quake:(--> Wolfenstein);
    };

then you can apply it as a ducktype with names:

    my Duck $donald = some_function();
    $donald.quake; # assured to return a Wolfenstein object

It's already part of S12, by the way.

Audrey

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to