Python doesn't allow misleading indentation in the specific case at issue, but does allow misleading indentation (e.g., inside list comprehensions split over multiple lines).
It's optional though, and leaves too much room for ambiguity IMO, which I find annoying since the point of significant white-space is maintaining consistency.
These are all equivalent:
main = do
something
main =
do
something
main =
do something
And obviously, you can also not use `do` notation.