From: Dave Thomas <Dave / thomases.com>

> "Conrad Schneiker" <schneiker / jump.net> writes:
>
> > With reference to FAQ 3.3, does anyone else find "yield" to be a
somewhat
> > counter-intuitive term?
> >
> > I think that (AFIK) either "invoke" or "callwith" (call with) would be a
> > better statement name.
> >
> > Am I thinking about this the wrong way around or something?
>
> Yes ;-)  (I think)
>
> I think 'yield' is used because of its historical use in
> coroutines. The relationship between an iterator and its caller is
> pretty much the same as a coroutine environment (or like those cartoon
> chipmunks--after you, no after you....)

==== and ====

From: Andrew Hunt <andy / Toolshed.Com>

> >From: "Conrad Schneiker" <schneiker / jump.net>
> >
> >With reference to FAQ 3.3, does anyone else find "yield" to be a somewhat
> >counter-intuitive term?
> >
> >I think that (AFIK) either "invoke" or "callwith" (call with) would be a
> >better statement name.
>
> I guess it's used in the sense of "yield a value" from the
> current iterator context.  It'd be clearer if it were something
> like callBlock or evalBlock or invoke, but these are all longer
> to type :-)

OK, thanks for yielding your insights.

I guess I could summarize things by saying that I think that effecting
control by _calling_ up a block with orders in the form of message
parameters or whatever is more natural and intuitive than _yielding_ the
floor, as it were.

Could we (the readers of this newsgroup)--in the interest of learn-ability,
teach-ability, comprehensibility, public friendliness, principle of least
surprise, not using Perl-like obscurities (e.g. bless), and everything else
that otherwise makes Ruby great--could we all agree on a better name for the
yield statement that would also be acceptable to Matz, and which could
co-exist for a year or so with a depreciated yield?

At the moment, I strongly prefer callBlock because it is syntactically
self-documenting.

Group?

Conrad

(PS: likewise, can we agree to describe "destructive methods" as "change
methods"?)