# Difference between revisions of "Mathematical prelude discussion"

m (→Haskell Prime': redirect broken link) |
(fix ghc dev wiki link) |
||

Line 28: | Line 28: | ||

=== Haskell Prime' === |
=== Haskell Prime' === |
||

− | [http:// |
+ | [http://prime.haskell.org/wiki/NumericClasses Numeric classes] on the Haskell' wiki |

=== See Also === |
=== See Also === |

## Revision as of 18:55, 4 April 2019

## Purpose

There have been many ideas for improving the prelude's support for mathematics. Including the addition of algebraic classes. But the discussion is spread over years of list archives and a half dozen websites. And the discussion has never gelled.

This page is intended to collect links to past discussion, and to provide a focal point for advancing the discussion.

## Todo

- Flesh out list of proposals. First from Libraries_and_tools/Mathematics.
- Add links to discussions in list archive, and elsewhere.

## Libraries and proposals

### Numeric Prelude

Working set of common type classes and instances.

### Basic Algebra Library (BAL)

- Is not in community report 2006-06.
- 0.04/announce.txt (2006-02)
- www.botik.ru/pub/local/Mechveliani/basAlgPropos/
- Formerly refered to as "basic algebra proposal".

Categorical Approach to representing mathematical structures in Haskell: [1]

### Haskell Prime'

Numeric classes on the Haskell' wiki

### See Also

## Discussion

*For me that probably starts with the semigroup/group/ring setup, and good*
arbitrary-precision as well as approximate linear algebra support.

*I agree: semigoups like lattices are everywhere. Then there could be a uniform treatment of linear algebra, polynomial equations, operator algebra, etc.*

MAGMA is an example of a language which embraced mathematical structure. MitchellNCharity 23:16, 14 November 2006 (UTC)

- Discussion 2010-04 in Haskell-Cafe on Google-Summer-of-Code proposal for richer numerical type classes and supporting algorithms

- Aldor/Axiom may be a place to look for a good type class hierarchy

- Elements of Programming, Chapter 5