I have long used and appreciated whitespace significant languages. Those languages currently include F#, Haskell, and Python. But lately I have been using OCaml, and lo! Here is a language without any significant whitespace that for the most part, reads very well. Semicolons are only for sequencing statements, which you rarely need to do, and functions need no end delimiter thanks to a well defined syntax. Braces are reserved for records; an unimpeachable choice. The only end delimiter I can think of is for whole modules (and module public interfaces), which hardly sours me.
So I am wondering again: with all the benefits to having a whitespace insignificant language… If a language can look as good as OCaml*, is significant whitespace a good idea?
Is significant whitespace a bad idea?
What is your personal experience with this?
*please don’t bring up top-level, that is admittedly bad