A lot of documentation exists about Haskell, and its foundations, in the form of research papers written by those investigating language design. An enormous research effort, by hundreds of researchers over the past 20 years, has gone into making Haskell such a great language. In general, if a feature is not well understood, it isn't going to become part of the language.
Here is a selection of those papers, with the goal of making the wealth of material published on Haskell more available to the casual user, and not just researchers. Some of the papers are highly technical, others, not so. These papers are not suitable for those trying to learn the language from scratch, but more for those looking for a deeper understanding of the theoretical and practical aspects of Haskell.
There are E-reader-friendly versions of many PDFs available at this Github repository.
- Why Functional Programming Matters
- John Hughes. Comput. J. 32(2): 98-107 (1989)
- Higher-order + Polymorphic = Reusable
- Simon Thompson, 1997.
- A History of Haskell: being lazy with class
- Simon Peyton Jones, Paul Hudak, John Hughes, and Philip Wadler, 2007.
- Runtime systems
- Parallelism and concurrency
- Type systems
- Data structures
- Monads and arrows
- Generic programming
- Proofs, verification and testing
- Software application development
- Domain specific languages
- Functional reactive programming
- Functional pearls: beautiful design
Most cited Haskell papers