Functional Programming Is Not What Makes Haskell Great
hackernoon.com
hackernoon.com
The real killer feature of Haskell is that it is the closest language to mathematics and makes reasoning mathematically much easier than even other functional languages.
Superficially, the syntax has more similarity to mathematical definitions and statements, the conventions (like single letter variables) are borrowed from mathematics and don't feel ugly or forced. Lack of side effects, composition, currying etc and other functional benefits much more neatly line up with how functions are treated in maths.
Ultimately it's still a programming language, and is used much more for traditional engineering or compsci applications than something like Maple or Mathematica would be in Mathematics research, but nonetheless the main draw of Haskell is that it will feel like a home away from home for mathematicians and not because of 5 features noted in this article.
And the reason is it's like that is its focus on purity.
Closer than e.g. Lean?
Well, I would neither use Haskell for this purpose, and Lean is indeed supposed to also be a "programming language", not only a theorem prover.
What I like about Haskell development is that the compiler enforces this separation, so when things misbehave you can just focus on the IO components. I think this would fit well into the paradigm rust had for marking variables as "mutable".
Predictable performance is a property of a compiler, not a pure function (a language construct).