-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Je jxauxdo 31 Majo 2001 23:31, vi skribis:
> 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.

Yes.  The only way this would be a Good Thing would be if the scoping rules 
of |...| were changed, potentially breaking old code.  I still think that

	{ | localvar, :upscopevar | }

would be the best syntax, even though it might break old code.  You don't 
even have to use ':'; I don't care if the symbol is '^' or something else.

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

I don't think that the scoping rule mentioned above would be complex; it 
would be complex if ':var' were local scope and 'var' were parent scope.  I 
actually think that using 

	{ | local, :up | }

is less complex than

	{ | up | < local > }

I just really, really, really dislike the direction this second example leads 
us in.

>  (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.

Unfortunately, I think the cleanest solution is to break compatibility.  
Failing that, don't solve the problem.  Leave things the way they are.  
That's my vote.

>  (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.

Perhaps you are right.  I expect that, once you set things up so that you 
can't mix the roles, people will begin complaining about needing to.

=== SER   Deutsch|Esperanto|Francaise|Linux|Java|Ruby|Aikido|Dirigibles|GPG
=== http://www.germane-software.com/~ser  jabber.com:ser  ICQ:83578737
"What are politicians going to tell people when the Constitution is gone 
 and we still have a drug problem?" -- William Simpson, A.C.L.U. 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.2 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7F9LMP0KxygnleI8RAtmsAJ96OrTKIVmlbeUTSs5RfTTpMMf4ZQCgjydl
neUN5CSldJbruMK6l4a+wr0=
=BPsk
-----END PGP SIGNATURE-----