A History of Haskell: Being Lazy With Class
Citation: Paul Hudak, John Hughes, Simon Peyton Jones, Philip Wadler (2007/04/16) A History of Haskell: Being Lazy With Class. The Third ACM SIGPLAN History of Programming Languages Conference (RSS)
Authors describe context of Haskell's creation (many lazy purely functional research languages, desire for common language in genre), key branching factors (e.g., decision of Miranda developers to not allow their language to be base of common language; adoption of still new features of typeclasses and monads), and a number of the design decisions made, and tools, implementations, and applications now available.
Theoretical and practical relevance:
Haskell seems to have had inauspicious beginnings for a widely used general purpose programming language -- design by committee of academics, but through some combination of purity (authors argue decision to be lazy made it easier to stay purely functional), openness (of the design process, specification, libraries, and language implementations), and luck, the language seems to have remained interesting for researchers and become practical for industry, and has also influenced feature development in many other languages.