# Haskell and mathematics

### From HaskellWiki

(Difference between revisions)

BrettGiles (Talk | contribs) (→Mathematical Hierarchy: Case) |
(merge Hierarchy with Mathematical prelude discussion) |
||

(9 intermediate revisions by 4 users not shown) | |||

Line 7: | Line 7: | ||

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

− | To paraphrase Hilbert ([http://www.autoren-heute.de/wissenschaft/trans_html/Physiker/index.html "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: |
+ | This page collects resources for using Haskell to do mathematics: |

− | :"Haskell is too mathematical for many mathematicians." |
||

− | This page collects resources for using Haskell to do mathematics. |
+ | * [[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]] |
||

− | ==Textbooks== |
+ | Math papers using Haskell: |

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

− | |||

− | ==Libraries== |
||

− | |||

− | 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]] |
||

− | |||

− | ==Mathematics from a Haskell perspective == |
||

− | |||

− | [[Mathematics|Articles]] on computational and category theoretic branches of |
||

− | mathematics, and their role as a foundation for programming and Haskell |
||

− | itself. |
||

− | |||

− | ==Tutorials and blogs on Haskell for mathematicians== |
||

− | |||

− | * [http://sigfpe.blogspot.com/2006/11/why-isnt-listt-monad.html Why isn't ListT list a monad?] |
||

− | * [http://sigfpe.blogspot.com/2006/11/yoneda-lemma.html Reverse Engineering Machines with the Yoneda Lemma] |
||

− | * [http://sigfpe.blogspot.com/2006/11/variable-substitution-gives.html Variable substitution gives a...] |
||

− | * [http://sigfpe.blogspot.com/2006/11/from-l-theorem-to-spreadsheet.html From Löb's Theorem to Spreadsheet Evaluation] |
||

− | * [http://sigfpe.blogspot.com/2006/10/games-strategies-and-self-composition.html Games, Strategies and the Self-Composition of the List Monad.] |
||

− | * [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/algebraic-topology-in-haskell.html Algebraic Topology in Haskell] |
||

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

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

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

− | * [http://sigfpe.blogspot.com/2006/06/laws-of-form-opinion.html Laws of Form: An Opinion] |
||

− | * [http://blog.mikael.johanssons.org/archive/2006/11/a-algebras-and-group-cohomology/ A-algebras and group cohomology] |
||

− | * [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://scienceblogs.com/goodmath/2006/11/why_haskell.php Why Haskell?] |
||

− | * [http://scienceblogs.com/goodmath/2006/09/programs_are_proofs_models_and_1.php Programs are Proofs: Models and Types in Lambda Calculus] |
||

− | * [http://www.quetzal.com/sambangu/2006/12/polynomials-as-numbers Polynomials as numbers] |
||

− | * [http://vandreev.wordpress.com/2006/12/04/non-standard-analysis-and-automatic-differentiation/ Non-standard analysis, automatic differentiation, Haskell] |
||

− | * [http://www.polyomino.f2s.com/ Haskell for Maths]: commutative algebra, combinatorics, number theory, and group theory |
||

− | * [http://www.serpentine.com/blog/2007/01/11/two-dimensional-spatial-hashing-with-space-filling-curves/ Two-dimensional spatial hashing with space-filling curves] |
||

− | |||

− | ==Mathematical hierarchy== |
||

− | |||

− | An initiative to develop a mathematically sound algebraic class hierarchy for Haskell. See [[Haskell and mathematics/Hierarchy]] |
||

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

− | |||

[[Category:Mathematics|*]] |
[[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: