upvote
Why would someone make a language where the programmer and the interpreter have two different ways of figuring out where blocks start and end?
reply
at the closing curly?
reply
Programmers look at the indentation.
reply
this discussion is so dated...
reply
llms prefer indents too
reply
They seem to be quite okay with oneliners, have you not noticed ?
reply
To weed out programmers who don't indent.
reply
identation should be something the compiler does not care about
reply
Like with array base indexes, there are plenty of languages that start with something other than zero, and many that use indentation, including a few well known in hacker circles, Python isn't alone.
reply
I never understood this.

What kind of special whitespace requirements do people have?

reply
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.

reply
True anonymous functions has nothing to do with indentation, ML derived languages are also indentation based.

Guido doesn't want them in the language, as simple as that.

reply
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/

reply
Haskell has significant indentation and anonymous functions.
reply
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.
reply
Scala 3, F#, CoffeeScript, Nim, Haskell, Elm, PureScript...
reply
deleted
reply
It's really not that bad
reply