Difference between revisions of "Haskell and mathematics"

From HaskellWiki
Jump to navigation Jump to search
m (Added link to new page for Mathematial Hierarchy)
(merge Hierarchy with Mathematical prelude discussion)
(10 intermediate revisions by 5 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?"
   
 
This page collects resources for using Haskell to do mathematics:
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:
 
:"Haskell is too mathematical for many mathematicians."
 
   
 
* [[Books and tutorials/Mathematics|Mathematics textbooks using Haskell]]
This page collects resources for using Haskell to do mathematics.
 
  +
* 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]]
   
  +
Math papers using Haskell:
==Textbooks==
 
   
  +
* [http://www.cs.cmu.edu/~kw/pubs/conway.pdf Proving Conway's Lost Cosmological Theorem with Haskell]
See [[Books and tutorials/Mathematics]]
 
 
==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|*]]

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:

Math papers using Haskell: