Jeremy Henty wrote:

>My impression was that Haskell and Python treated this issue in
>essentially the *same* way: consecutive lines with the same
>indentation are part of the same block, and a following line with less
>indentation implicitly ends the preceding block.  So what do you think
>is the difference?  (Not flamebait, I'd really like to know.)
>
>Cheers, 
>
>Jeremy Henty 
>  
>

Haskell doesn't require you use significant whitespace. You can write 
Haskell with semicolons
and such (I don't quite recall the exact syntax).  The significant 
whitespace is shorthand for the
uglier semicolon/block-delimited syntax.

Similar things are done with monads, where:

    do
        p <- read_something
        write_something p

is actually short for:

    read_something <<= \p
    write_something p

Or something like that (it's been a while since I read about it, and 
monads are rather complex).

In other words, you aren't forced to use whitespace if it isn't handy, 
but when it is, you can.

Much like how in Ruby, the following things are equivalent:

    foo
    bar

and

    foo ; bar

Cheers,
- Dan