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)
DOI (original publisher): 10.1145/1238844.1238856
Semantic Scholar (metadata): 10.1145/1238844.1238856
Sci-Hub (fulltext): 10.1145/1238844.1238856
Internet Archive Scholar (search for fulltext): A History of Haskell: Being Lazy With Class
Download: https://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf
Tagged: Computer Science
(RSS) Haskell (RSS), functional programming (RSS), history of programming (RSS)
Summary
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.