I like significant invitation, but I still wouldn’t choose it if I was designing a language today.
Functional-style programming has become much more popular since Python was designed in the 1990s, and there doesn’t seem to be a good way to have Python-like significant indentation and also support true anonymous functions.
Haskell has significant indentation and anonymous functions.
Re:Mojo 1.0
by ameliaquining on Tuesday August 11, 2026 @10:32PM
(#49267208)
Haskell's significant indentation is, in my experience, much worse than Python's at fading into the background by matching what you would have done anyway.
As I understand it, Mojo’s goal is to be able to match state of the art performance for parallel algorithms and be able to use the exotic GPU hardware. A functional style is not necessarily productive in that context.
One interesting PL concept they implement are linear types https://mojolang.org/docs/std/traits/anytype/AnyType/
Scala 3, F#, CoffeeScript, Nim, Haskell, Elm, PureScript...
What kind of special whitespace requirements do people have?