Yukihiro Matsumoto wrote:

>Hi,
>
>In message "Re: semenatics of if/unless/while statement modifiers"
>    on Tue, 22 Nov 2005 14:37:21 +0900, Stefan Kaes <skaes / gmx.net> writes:
>
>|It is definitely a compiler issue. Just like the recent discussion of 
>|the syntax for block parameters is only a compiler issue.
>
>Hm, suppose it is a compiler issue, then almost every syntax issues
>are compiler issues, because they can be solved by a certain
>implementation of compiler.  Unfortunately I don't agree here.
>See [ruby-core:06697] if you please.
>
>							matz.
>

You don't have to agree.

Elegantly avoiding the more substantial arguments made in my previous 
mail, you stated that you don't like the change, because one could write 
code that would be hard to read.

Most language constructs can be abused by programmers to write 
unreadable code. For example, the following is valid Ruby code:

def foo(x); "..."; end

some_value = foo(
          begin
            x = 721
            y = 100
            while x>y
              x /= (i= 17; while i>0
                       i -= 1
                   end)
            end
          rescue
            puts "something strange happened"
            0
           end
           )
puts foo(3).to_s

And yet you don't ban complex expressions inside function call arguments 
or on the RHS of an assignment, although they can be used to write 
pretty unreadable code.

-- stefan