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?