# Haskell and mathematics

### From HaskellWiki

(Difference between revisions)

DonStewart (Talk | contribs) (page for maths and haskell) |
(merge Hierarchy with Mathematical prelude discussion) |
||

(29 intermediate revisions by 7 users not shown) | |||

Line 1: | Line 1: | ||

Haskell is growing in popularity among mathematicians. As one blogger put it: |
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 |
+ | :"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." |

− | the relatively low distance between thought expressed in my ordinary |
||

− | day-to-day mathematical discourse, and thought expressed in Haskell |
||

− | code." |
||

and |
and |
||

− | "How can Haskell not be the programming language that all mathematicians should learn?" |
+ | :"How can Haskell not be the programming language that all mathematicians should learn?" |

− | This page collects resources for using Haskell to do mathematics. |
+ | This page collects resources for using Haskell to do mathematics: |

− | ==Textbooks== |
+ | * [[Books and tutorials/Mathematics|Mathematics textbooks using Haskell]] |

+ | * The [http://hackage.haskell.org/packages/archive/pkg-list.html#cat:Math category of math libraries] on the Hackage library database. |
||

+ | * A growing [[Libraries_and_tools/Mathematics|collection of Haskell math libraries]]. |
||

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

+ | ** [[Research_papers/Testing_and_correctness#Verifying_Haskell_programs|Research papers]] |
||

+ | ** [[Libraries_and_tools/Theorem_provers|Theorem provers]] |
||

+ | * [[Mathematics|Articles]] on computational and category theoretic branches of mathematics, and their role as a foundation for programming and Haskell itself. |
||

+ | * [http://haskell.org/haskellwiki/Blog_articles/Mathematics Articles about Haskell and mathematics] |
||

+ | * [[Mathematical prelude discussion]]: Initiatives to develop a mathematically sound algebraic class hierarchy for Haskell. |
||

+ | * [[Z4]] - a Ro/Haskell page with a small (not complete) implementation of Z4, as part of the Project "Boosting your Maths. Faculty with Haskell" . See paragraph # 3, on page [[Z4]] |
||

− | ;[[Image:Haskell_Road.jpg|Cover]] Kees Doets and Jan van Eijck: [http://www.cwi.nl/~jve/HR <em>The Haskell Road to Logic, Maths and Programming</em>] |
+ | Math papers using Haskell: |

− | :King's College Publications, London, 2004. ISBN 0-9543006-9-6 (14.00 pounds, $25.00). <blockquote> <b>Book description:</b><br> 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. </blockquote> |
||

− | ==Libraries== |
+ | * [http://www.cs.cmu.edu/~kw/pubs/conway.pdf Proving Conway's Lost Cosmological Theorem with Haskell] |

− | |||

− | A growing [[Libraries_and_tools/Mathematics|collection of Haskell math libraries]]. |
||

− | |||

− | ==Theorem proving== |
||

− | |||

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

− | * [[Research_papers/Testing_and_correctness#Verifying_Haskell_programs|Research papers]] |
||

− | * [[Libraries_and_tools/Theorem_provers|Theorem provers]] |
||

− | |||

− | ==Tutorials and Blogs== |
||

− | |||

− | * [http://sigfpe.blogspot.com/2006/01/eleven-reasons-to-use-haskell-as.html Eleven Reasons to use Haskell as a Mathematician] |
||

− | * [http://blog.mikael.johanssons.org/archive/2006/10/prototyping-thought/ Prototyping thought] |
||

− | * [http://blog.mikael.johanssons.org/archive/2006/10/computational-group-theory-in-haskell-1-in-a-series/ Computational Group Theory in Haskell] |
||

− | * [http://blog.mikael.johanssons.org/archive/2006/07/carry-bits-and-group-cohomology/ Carry bits and group cohomology] |
||

− | * [http://sigfpe.blogspot.com/2006/09/infinitesimal-types.html Infinitesimal Types] |
||

− | * [http://sigfpe.blogspot.com/2006/09/practical-synthetic-differential.html Practical Synthetic Differential Geometry] |
||

− | * [http://sigfpe.blogspot.com/2006/09/more-low-cost-geometric-algebra.html More Low Cost Geometric Algebra] |
||

− | * [http://sigfpe.blogspot.com/2006/09/learn-maths-with-haskell.html Learn Maths with Haskell] |
||

− | * [http://sigfpe.blogspot.com/2006/08/geometric-algebra-for-free_30.html Geometric Algebra for Free!] |
||

[[Category:Community]] |
[[Category:Community]] |
||

+ | [[Category:Mathematics|*]] |

## Latest revision as of 23:18, 31 January 2009

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

This page collects resources for using Haskell to do mathematics:

- Mathematics textbooks using Haskell
- The category of math libraries on the Hackage library database.
- A growing collection of Haskell math libraries.
- There has been a long tradition of mechanised reasoning in and about Haskell.
- Articles on computational and category theoretic branches of mathematics, and their role as a foundation for programming and Haskell itself.
- Articles about Haskell and mathematics
- Mathematical prelude discussion: Initiatives to develop a mathematically sound algebraic class hierarchy for Haskell.
- Z4 - a Ro/Haskell page with a small (not complete) implementation of Z4, as part of the Project "Boosting your Maths. Faculty with Haskell" . See paragraph # 3, on page Z4

Math papers using Haskell: