Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Finitary.Enum
Synopsis
- class Ord x => Enum x where
- describeEnum :: (Enum x, Cartesian p, Cocartesian p) => p x x
- eqDefault :: Enum x => x -> x -> Bool
- compareDefault :: Enum x => x -> x -> Ordering
- enumList :: Enum x => [x]
- enum :: (Enum x, Alternative f) => f x
- coenum :: (Enum x, Decidable f, Divisible f) => f x
- cardinality :: Enum x => proxy x -> Int
- ptraverseFunction :: (Enum x, Cartesian p) => p a b -> p (x -> a) (x -> b)
Documentation
class Ord x => Enum x where Source #
Enum x
is Finitary x
but you can't get Cardinality n
at type level.
Minimal complete definition
Nothing
Methods
enumeration :: FinFn x x Source #
withEnum :: (forall (n :: Nat). KnownNat n => (x -> Finite n) -> (Finite n -> x) -> r) -> r Source #
Instances
Enum Void Source # | |
Enum Int16 Source # | |
Enum Int32 Source # | |
Enum Int64 Source # | |
Enum Int8 Source # | |
Enum Word16 Source # | |
Enum Word32 Source # | |
Enum Word64 Source # | |
Enum Word8 Source # | |
Enum Ordering Source # | |
Enum () Source # | |
Enum Bool Source # | |
Enum Char Source # | |
Enum Int Source # | |
Enum Word Source # | |
PTraversable f => Enum (Shape f) Source # | |
Enum x => Enum (Maybe x) Source # | |
(Enum x, Enum y) => Enum (Either x y) Source # | |
(Enum a, PTraversable t) => Enum (WrappedPTraversable t a) Source # | |
Defined in Data.PTraversable Methods enumeration :: FinFn (WrappedPTraversable t a) (WrappedPTraversable t a) Source # withEnum :: (forall (n :: Nat). KnownNat n => (WrappedPTraversable t a -> Finite n) -> (Finite n -> WrappedPTraversable t a) -> r) -> r Source # | |
(Enum x, Enum y) => Enum (x, y) Source # | |
(Enum x1, Enum x2, Enum x3) => Enum (x1, x2, x3) Source # | |
(Enum x1, Enum x2, Enum x3, Enum x4) => Enum (x1, x2, x3, x4) Source # | |
describeEnum :: (Enum x, Cartesian p, Cocartesian p) => p x x Source #
compareDefault :: Enum x => x -> x -> Ordering Source #
enum :: (Enum x, Alternative f) => f x Source #
cardinality :: Enum x => proxy x -> Int Source #
ptraverseFunction :: (Enum x, Cartesian p) => p a b -> p (x -> a) (x -> b) Source #