# Haskell and mathematics

### From HaskellWiki

Revision as of 01:19, 1 March 2007 by DonStewart (Talk | contribs)

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?"

To paraphrase Hilbert ("Physics is too complicated for Physicists"), the relative obscurity of Haskell (a language with a strict notion of functions, higher-order-functions, and types) amongst mathematicians may be that:

- "Haskell is too mathematical for many mathematicians."

This page collects resources for using Haskell to do mathematics.

## Contents |

## 1 Textbooks

See Books and tutorials/Mathematics

## 2 Libraries

A growing collection of Haskell math libraries.

## 3 Theorem proving

There has been a long tradition of mechanised reasoning in and about Haskell.

## 4 Mathematics from a Haskell perspective

Articles on computational and category theoretic branches of mathematics, and their role as a foundation for programming and Haskell itself.

## 5 Tutorials and blogs on Haskell for mathematicians

- Why isn't ListT list a monad?
- Reverse Engineering Machines with the Yoneda Lemma
- Variable substitution gives a...
- From Löb's Theorem to Spreadsheet Evaluation
- Games, Strategies and the Self-Composition of the List Monad.
- Practical Synthetic Differential Geometry
- More Low Cost Geometric Algebra
- Learn Maths with Haskell
- Algebraic Topology in Haskell
- Infinitesimal Types
- Geometric Algebra for Free!
- Eleven Reasons to use Haskell as a Mathematician
- Laws of Form: An Opinion
- A-algebras and group cohomology
- Prototyping thought
- Computational Group Theory in Haskell
- Carry bits and group cohomology
- Why Haskell?
- Programs are Proofs: Models and Types in Lambda Calculus
- Polynomials as numbers
- Non-standard analysis, automatic differentiation, Haskell
- Haskell for Maths: commutative algebra, combinatorics, number theory, and group theory
- Two-dimensional spatial hashing with space-filling curves