Haskell and mathematics

From HaskellWiki

Haskell is growing in popularity among mathematicians. As one blogger put it:

"after my involving myself in the subject, one thing that stands out is
the relatively low distance between thought expressed in my ordinary
day-to-day mathematical discourse, and thought expressed in Haskell
code."

and

"How can Haskell not be the programming language that all mathematicians should learn?"

1 Textbooks

Book description: The purpose of this book is to teach logic and mathematical reasoning in practice, and to connect logical reasoning with computer programming. Throughout the text, abstract concepts are linked to concrete representations in Haskell. Everything one has to know about programming in Haskell to understand the examples in the book is explained as we go along, but we do not cover every aspect of the language. Haskell is a marvelous demonstration tool for logic and maths because its functional character allows implementations to remain very close to the concepts that get implemented, while the laziness permits smooth handling of infinite data structures. We do not assume that our readers have previous experience with either programming or construction of formal proofs. We do assume previous acquaintance with mathematical notation, at the level of secondary school mathematics. Wherever necessary, we will recall relevant facts. Everything one needs to know about mathematical reasoning or programming is explained as we go along. We do assume that our readers are able to retrieve software from the Internet and install it, and that they know how to use an editor for constructing program texts.