| Safe Haskell | Safe-Inferred |
|---|
Data.Universe.Instances.Trans
Documentation
class Universe a where
Creating an instance of this class is a declaration that your type is
recursively enumerable (and that universe is that enumeration). In
particular, you promise that any finite inhabitant has a finite index in
universe, and that no inhabitant appears at two different finite indices.
Methods
universe :: [a]
Instances
class Universe a => Finite a where
Creating an instance of this class is a declaration that your universe
eventually ends. Minimal definition: no methods defined. By default,
universeF = universe, but for some types (like Either) the universeF
method may have a more intuitive ordering.
Methods
universeF :: [a]
Instances
| Finite Bool | |
| Finite Char | |
| Finite Int | |
| Finite Int8 | |
| Finite Int16 | |
| Finite Int32 | |
| Finite Int64 | |
| Finite Ordering | |
| Finite Word | |
| Finite Word8 | |
| Finite Word16 | |
| Finite Word32 | |
| Finite Word64 | |
| Finite () | |
| Finite All | |
| Finite Any | |
| Finite a => Finite (Dual a) | |
| Finite a => Finite (Sum a) | |
| Finite a => Finite (Product a) | |
| Finite a => Finite (First a) | |
| Finite a => Finite (Last a) | |
| Finite a => Finite (Maybe a) | |
| Finite a => Finite (Identity a) | |
| (Ord a, Finite a, Finite b) => Finite (a -> b) | |
| (Finite a, Finite b) => Finite (Either a b) | |
| (Finite a, Finite b) => Finite (a, b) | |
| Finite (f a) => Finite (IdentityT f a) | |
| (Finite a, Finite b, Finite c) => Finite (a, b, c) | |
| (Finite e, Ord e, Finite (m a)) => Finite (ReaderT e m a) | |
| Finite (f (g a)) => Finite (Compose f g a) | |
| (Finite (f a), Finite (g a)) => Finite (Product f g a) | |
| (Finite a, Finite b, Finite c, Finite d) => Finite (a, b, c, d) | |
| (Finite a, Finite b, Finite c, Finite d, Finite e) => Finite (a, b, c, d, e) |