| Copyright | © Anders Kaseorg 2013 |
|---|---|
| License | BSD-style |
| Maintainer | Anders Kaseorg <andersk@mit.edu> |
| Stability | experimental |
| Portability | Non-portable (GHC extensions) |
| Safe Haskell | None |
| Language | Haskell98 |
Data.Nimber
Description
The finite nimbers, Nimber, are a quadratically closed field of
characteristic 2 introduced in combinatorial game theory.
>>>257 + 258 :: Nimber*3>>>sqrt 123456789 :: Nimber*98433322>>>123456789/sqrt 123456789 :: Nimber*98433322
This implementation was inspired by Patrick Hurst’s slow Haskell implementation that this replaced (with his permission), and by Michel Van den Bergh’s Python implementation at https://web.archive.org/web/20101124110959/http://alpha.uhasselt.be/Research/Algebra/Members/nimbers/nimbers.py.
Synopsis
- data Nimber
- fromNimber :: Nimber -> Integer
- data NimberException
Documentation
The type of finite nimbers.
Instances
| Enum Nimber Source # | |
Defined in Data.Nimber | |
| Eq Nimber Source # | |
| Floating Nimber Source # | This partial |
| Fractional Nimber Source # | Note: Although nimbers support division, the |
| Num Nimber Source # | |
| Ord Nimber Source # | |
| Read Nimber Source # | |
| Show Nimber Source # | |
data NimberException Source #
The type of exceptions thrown by impossible Nimber operations.
Constructors
| NegativeNimber | A negative integer was converted to a nimber. |
| Innimerable String | A transcendental function was called on nimbers. |
Instances
| Eq NimberException Source # | |
Defined in Data.Nimber Methods (==) :: NimberException -> NimberException -> Bool # (/=) :: NimberException -> NimberException -> Bool # | |
| Ord NimberException Source # | |
Defined in Data.Nimber Methods compare :: NimberException -> NimberException -> Ordering # (<) :: NimberException -> NimberException -> Bool # (<=) :: NimberException -> NimberException -> Bool # (>) :: NimberException -> NimberException -> Bool # (>=) :: NimberException -> NimberException -> Bool # max :: NimberException -> NimberException -> NimberException # min :: NimberException -> NimberException -> NimberException # | |
| Show NimberException Source # | |
Defined in Data.Nimber Methods showsPrec :: Int -> NimberException -> ShowS # show :: NimberException -> String # showList :: [NimberException] -> ShowS # | |
| Exception NimberException Source # | |
Defined in Data.Nimber Methods toException :: NimberException -> SomeException # | |