| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Universe.Instances.Trans
Contents
Documentation
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.
Instances
| Universe a => Universe (Identity a) # | |
Defined in Data.Universe.Instances.Trans | |
| Universe (f a) => Universe (IdentityT f a) # | |
Defined in Data.Universe.Instances.Trans | |
| (Universe (f a), Universe (g a)) => Universe (Product f g a) # | |
Defined in Data.Universe.Instances.Trans | |
| (Finite e, Ord e, Universe (m a)) => Universe (ReaderT e m a) # | |
Defined in Data.Universe.Instances.Trans | |
| Universe (f (g a)) => Universe (Compose f g a) # | |
Defined in Data.Universe.Instances.Trans | |
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.
Instances
| Finite a => Finite (Identity a) # | |
Defined in Data.Universe.Instances.Trans | |
| Finite (f a) => Finite (IdentityT f a) # | |
Defined in Data.Universe.Instances.Trans | |
| (Finite (f a), Finite (g a)) => Finite (Product f g a) # | |
Defined in Data.Universe.Instances.Trans | |
| (Finite e, Ord e, Finite (m a)) => Finite (ReaderT e m a) # | |
Defined in Data.Universe.Instances.Trans | |
| Finite (f (g a)) => Finite (Compose f g a) # | |
Defined in Data.Universe.Instances.Trans | |
Orphan instances
| Universe a => Universe (Identity a) # | |
| Finite a => Finite (Identity a) # | |
| Universe (f a) => Universe (IdentityT f a) # | |
| Finite (f a) => Finite (IdentityT f a) # | |
| (Universe (f a), Universe (g a)) => Universe (Product f g a) # | |
| (Finite e, Ord e, Universe (m a)) => Universe (ReaderT e m a) # | |
| (Finite (f a), Finite (g a)) => Finite (Product f g a) # | |
| (Finite e, Ord e, Finite (m a)) => Finite (ReaderT e m a) # | |
| Universe (f (g a)) => Universe (Compose f g a) # | |
| Finite (f (g a)) => Finite (Compose f g a) # | |