A lot of documentation exists about Haskell, and its foundations, in the form of research papers written by those investigating language design. And it is this enormous research effort that goes into making Haskell such a sane 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.
- Why Functional Programming Matters
- John Hughes. Comput. J. 32(2): 98-107 (1989)
- A HOT opportunity
- Philip Wadler. Journal of Functional Programming, 7(2):127--128, March 1997.
- Wearing the hair shirt: a retrospective on Haskell
- Simon Peyton Jones. Slides of an invited talk at POPL'03.
- Higher-order + Polymorphic = Reusable
- Simon Thompson, 1997.
- Runtime systems
- Type systems
- Data structures
- Monads and arrows
- Generic programming
- Testing and correctness
- Domain specific languages
- Functional reactive programming
See also haskell.readscheme.org