Ad-hoc polymorphism elevated to an art form. Type classes define shared behavior across types without inheritance hierarchies -- a principled approach to abstraction that influenced a generation of languages.
Structure-preserving mappings between categories. The humble fmap lifts ordinary functions into computational contexts -- a concept so fundamental it appears everywhere you look.
Composable computation descriptions. Bind (>>=) threads context through sequential operations with mathematical precision.
quicksort [] = []
quicksort (x:xs) =
let smaller = quicksort [a | a <- xs, a <= x]
bigger = quicksort [a | a <- xs, a > x]
in smaller ++ [x] ++ bigger
The first version of the Haskell Report is published, unifying existing functional language research into a single, open standard.
A stable, portable version of the language intended for teaching and as a base for extensions. The foundation for modern Haskell.
The Glasgow Haskell Compiler matures into the de facto standard. Cabal brings package management to the Haskell ecosystem.
The latest revision of the Haskell standard, incorporating lessons learned from a decade of industrial and academic use.
Stack arrives as a cross-platform build tool with reproducible builds, dramatically improving the developer experience.
Linear types arrive in GHC, bringing resource-safe programming to Haskell and opening new frontiers in type-level expressiveness.