On Thu, Sep 18, 2008 at 8:37 AM, Geoffrey Broadwell <[EMAIL PROTECTED]> wrote:
> On Thu, 2008-09-18 at 07:34 -0500, Patrick R. Michaud wrote:
>> > "Aggregating coroutine" and "aggregating yield" aren't nearly as zippy
>> > as 'gather' and 'take', but they're more meaningful to a broader
>> > audience, which may help the feature spread.
>
> I don't buy this.  The Perl 6 terms are well chosen, and as soon as you
> know what they mean in the context of programming, you won't forget.
> The other versions ... well, let's leave it at "easy to forget".  (OK,
> one more thing -- the word "coroutine" scares people.  "Gather" does
> not.)
>
>> I'm rather hoping and expecting that "gather" and "take" become
>> the meaningful names for this feature, much like "grep" started
>> out as a Unix shell command but is now the language-agnostic term for
>> "extract things from a list matching a pattern".
>
> Now *this* I agree with.  The first system to make a feature standard
> gets first try at standardizing the name.  If they've chosen the name
> well, there's a decent chance it will stick.
>
what's the difference between gather and aggregating coroutine?
lipstick.

but seriously, folks,

what some refer to as "traits", perl 6 calls "roles".

what some refer to as "associative arrays", perl calls "hashes".
but aren't hashes that funny key on your phone you type after you've
entered your credit card info? oh, right, that's "pound". huh? i
thought that's an outdated form of currency.
let's call it "octothorpe". wait, what? you store your dispatch table
in an octothorpe?

we need to be precise in naming constructs, rather than using common names.
scientists call a chanterelle mushroom by its proper name,
"Cantharellus cibarius".

we should call gather and take by their proper names where they're
defined. "aggregating coroutine" is more precise and descriptive than
is "gather", however "gather" is much easier to say in polite company,
and is therefore a better name to use at the language level.

a related point: wherever these constructs are defined, they need to
be documented. you may think "CONTROL_RETURN" is obviously for
"return" statements, but many will find it quite strange that "return"
is an Exception at all.

~jerry

Reply via email to