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