Hi,

In message "[ruby-talk:16096] Re: Block arguments vs method arguments"
    on 01/06/01, Sean Russell <ser / germane-software.com> writes:

|1) There are better (IMHO) solutions for the problem.  I, personally, liked 
|the earlier suggestion of defining scope with { |:var| ... }, and I'm not 
|sure whatever happened to this recommendation.

I don't think it's better, because

 (a) it's not compatible.

     depending on how : works, but if variables without : work as they
     are now, it's still error prone.  And if you choose the way Hal
     wants in [ruby-talk:16118], it will break too many programs.

 (b) it's orthogonal, but makes things complex.

     it's my personal observation.

I don't mean "<...>" is the best.  It's uglier.  But it's compatible
and easy-to-use.

So, in conclusion, what I want is something:

 (1) fairly compatible; at least 99.5% of current Ruby programs should
     run unchanged.  Considering number of Ruby programs all over the
     world, 0.5% might be too big.

 (2) natural; what we want is NOT orthogonality, but naturalness.
     From my observation, block parameters has two major roles,
     iteration variables and Proc's formal arguments.  Current
     behavior focuses too much on the former.  We'd better rescue the
     latter too.  That's why I'm thinking of "<...>", which gives
     distinct notation for each major role.  Ithink we don't need to
     mix these two roles.

 (3) good looking; as long as it satisfies the above two.

"<...>" satisfies the first two.  There might be better idea.
I'm not in a hurry, alway seeking better idea.

							matz.