Safe Haskell | None |
---|---|

Language | Haskell98 |

`AUTHOR`

- Dr. Alistair Ward
`DESCRIPTION`

- Describes a
*ring*and operations on its members. - http://en.wikipedia.org/wiki/Ring_%28mathematics%29.
- http://www.numericana.com/answer/rings.htm.

- class Ring r where
- (=+=) :: r -> r -> r
- (=*=) :: r -> r -> r
- additiveInverse :: r -> r
- multiplicativeIdentity :: r
- additiveIdentity :: r
- (=-=) :: r -> r -> r
- square :: r -> r

- product' :: Ring r => BisectionRatio -> MinLength -> [r] -> r
- sum' :: Ring r => BisectionRatio -> MinLength -> [r] -> r
- (=^) :: (Eq r, Integral power, Ring r, Show power) => r -> power -> r

# Type-classes

- Define both the operations applicable to all members of the
*ring*, and its mandatory members. - Minimal definition;
`=+=`

,`=*=`

,`additiveInverse`

,`multiplicativeIdentity`

,`additiveIdentity`

.

:: r | |

-> r | |

-> r | Addition of two members; required to be |

:: r | |

-> r | |

-> r | Multiplication of two members. |

:: r | |

-> r | The operand required to yield |

:: r | The |

:: r | The |

:: r | |

-> r | |

-> r | Subtract the two specified |

:: r | |

-> r | Square the ring. |

# Types

## Data.types

# Functions

product' :: Ring r => BisectionRatio -> MinLength -> [r] -> r Source

Returns the *product* of the list of *ring*-members.

sum' :: Ring r => BisectionRatio -> MinLength -> [r] -> r Source

Returns the *sum* of the list of *ring*-members.

## Operators

(=^) :: (Eq r, Integral power, Ring r, Show power) => r -> power -> r infixr 8 Source

- Raise a
*ring*-member to the specified positive integral power. - Exponentiation is implemented as a sequence of either squares of, or multiplications by, the
*ring*-member; http://en.wikipedia.org/wiki/Exponentiation_by_squaring.