David Green writes:
> In article <[EMAIL PROTECTED]>,
>  [EMAIL PROTECTED] (Larry Wall) wrote:
> >Maybe type parameters are just subscripts?  [...]
> >    my Fight %fight does key{Dog;Cat};
> 
> I like that.

Yeah, me too.  Except I'm having trouble seeing how key is a role.  It's
not adding anything into a hash; it's changing it.  Maybe I just don't
quite grok roles yet.

> 
> >But if English-like is the criterion that'd still read better as
> >    my Fight %fight has key{Dog;Cat};
> 
> I like that even better.
> 
> >Maybe "has" and "does" are just synonyms, and you can use
> >whatever makes more grammatical sense.  But pretty much every time
> >I've introduced synonyms into Perl I've come to regret it.  But hey,
> >if I introduce *different* synonyms this time, does that count as
> >making a new mistake?

Yeah, that's true.  But, on the other hand, "has" seems to have quite a
lot to do with roles:

    class Foo {
        has $.bar;   # compose in a .bar() method
    }

Then you can think of a class as an elementary decomposition of roles.
That's algebralicious.  (And its one of those things I can imagine not
seeing the potential in until someone does something Profound with it).

> >Well, there's always "domain" and "range", if we want to be
> >mathematical.
> 
> I'm happy with those too (perhaps because I do want to be a bit 
> mathematical).

Remember what happened last time you gave something a mathematical name
that was wrong?  Yeah, vector ops.  And then everyone (read: me) carped
about them not being vector anything.

What you want here is "domain" and "codomain".  Which leads me to
believe that you don't want either.

Luke

Reply via email to