Haskell
- Aesthetic Geometry
- 8 out of 10
- Mathematical Elegance
- 10 out of 10
- Linguistic Clarity
- 8 out of 10
- Practitioner Happiness
- 6 out of 10
- Organic Habitability
- 6 out of 10
- Conceptual Integrity
- 10 out of 10
- Total
- 48 out of 60
Character
The beautifully dressed philosopher who can't find their car keys. Haskell writes the most elegant code in any language, then spends 45 minutes explaining why IO is actually a monad.
Dimension Analysis
Φ Aesthetic Geometry
Clean Haskell is visually striking, where clauses, pattern matching, and type signatures create a structured, proportional layout. Docked from 9 because production Haskell with GADTs and monad transformer stacks can produce dense type-signature walls.
Ω Mathematical Elegance
The gold standard. fibs = 0 : 1 : zipWith (+) fibs (tail fibs) defines infinity by self-reference. Purity, lazy evaluation, and higher-kinded types let algorithms approach Erdős's "Book" proofs. No other language comes close.
Λ Linguistic Clarity
Simple Haskell reads like mathematics rendered in prose. Point-free style and function composition create elegant chains of meaning. Docked from 9 because lens operators (^., .~) and advanced type-level code can be opaque even to intermediate Haskellers.
Ψ Practitioner Happiness
Moderate Stack Overflow admiration (~57%), well below Rust, Elixir, or Gleam. The learning curve is brutal, Cabal/Stack tooling fragmentation has caused years of pain, and cryptic error messages for type-level code create real frustration. The community is passionate but small. Developers admire Haskell more than they enjoy it day-to-day.
Γ Organic Habitability
Purity is a double-edged sword, you can't "just add a side effect here" without restructuring. Changing one type signature can cascade through an entire module. Haskell code is correct but often brittle to modify, which is the opposite of Gabriel's habitability ideal.
Σ Conceptual Integrity
"Avoid success at all costs." Haskell is about something: purity, types, and mathematical foundations. Every feature follows from a coherent worldview. It's the most internally consistent language design on this list.
How are these scores calculated? Read the methodology
Signature Code
Elegant quicksort
quicksort :: Ord a => [a] -> [a]quicksort [] = []quicksort (x:xs) = quicksort smaller ++ [x] ++ quicksort bigger where smaller = [a | a <- xs, a <= x] bigger = [a | a <- xs, a > x]