On May 20, 1:45 ¨Βν¬ Τοξω ΑςγιεςΌτ®®®ΐνεδιοθ®γονχςοτεΊ > Okay, you just want an example I guess. ¨Βοδσπεαλσ μουδες τθαξ χοςδσ΅ > > Here is an example Ruby program: > > foo = [1,2,3] > x = foo.map do |n| > n += 1 > n *= 2 > end > result = case x > when Array > x.map! do |n| > n *= 3 > n += 4 > end > when NilClass > x > end > result = if result.size > 10 > result[0..2] > else > result > end > p result > > The output of this program is: > > [16, 22, 28] > > Show me how you would parse the equivalent program in an > indentation-sensitive Ruby, e.g.: Okay. But just to recap what's gone before: you've said all along that Pythonic indentation in Ruby was impossible. It's impossible, because it's incompatible with blocks. It's impossible, because everything's an expression. It's impossible, because Guido said so. And I've asked you over and over for an example demonstrating its impossibility. You've had time to think it over, you were under no constraints, and this is what you've come up with. I found the old preprocessor script from awhile ago that I mentioned earlier in this thread. I've pastebinned it at http://pastebin.com/m5fee1e92. It's very short, and pretty simple. I have no doubt that it would need a lot of work to be robust. (In particular, I think things need to be added to the enumeration at line 68.) But Tony, it blasted through your "impossible" example without skipping a beat, working perfectly on the first try. jhaas@littlefinger:~/pyruby$ cat pyrbtest.rb __BEGIN__ # Look, ma! No ends! foo = [1,2,3] x = foo.map do |n|: n += 1 n *= 2 result = case x: when Array x.map! do |n|: n *= 3 n += 4 when NilClass x result = if result.size > 10: result[0..2] else: result p result jhaas@littlefinger:~/pyruby$ irb irb(main):001:0> require 'pyruby' => true irb(main):002:0> require 'pyrbtest' [16, 22, 28] => true As I've said repeatedly, I don't follow your reasons for claiming that this is impossible. Can you come up with a better demonstration?