Copyright | (c) Grant Weyburne 2022 |
---|---|
License | BSD-3 |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- universe1 :: forall a. (Bounded a, Enum a) => NonEmpty a
- universe1R :: forall a. (Bounded a, Enum a) => NonEmpty a
- enumFrom1 :: (Bounded a, Enum a) => a -> NonEmpty a
- enumFrom1R :: forall a. (Bounded a, Enum a) => a -> NonEmpty a
- enumTo1 :: (Bounded a, Enum a) => a -> NonEmpty a
- enumFromThen1 :: (Bounded a, Enum a) => a -> a -> NonEmpty a
- enumFromTo1 :: Enum a => a -> a -> NonEmpty a
- enumFromThenTo1 :: Enum a => a -> a -> a -> NonEmpty a
- predSafe :: (Bounded a, Enum a) => a -> Maybe a
- succSafe :: (Bounded a, Enum a) => a -> Maybe a
- integerToEnumSafe :: forall a. (Enum a, Bounded a) => Integer -> Either String a
- integerToIntSafe :: Integer -> Either String Int
- toEnumList :: forall a. (Enum a, Bounded a) => Integer -> Either String [a]
- toEnumList1 :: forall a. (Enum a, Bounded a) => Integer -> Either String (NonEmpty a)
- universeTraversable :: forall f a. (Traversable f, Enum a, Bounded a) => f a -> Either String (NonEmpty (f a))
- toEnumTraversable :: forall a f z. (Traversable f, Enum a, Bounded a) => f z -> Integer -> Either String (f a)
- succTraversable :: forall a t. (Traversable t, Enum a, Bounded a) => t a -> Either String (t a)
- predTraversable :: forall a t. (Traversable t, Enum a, Bounded a) => t a -> Either String (t a)
- fromEnumFoldable :: forall a t. (Foldable t, Enum a, Bounded a) => t a -> Either String Integer
- fromEnumFoldable1 :: forall a t. (Foldable1 t, Enum a, Bounded a) => t a -> Integer
- capacity :: forall a t z. (Bounded a, Enum a, Foldable t) => t z -> Either String (Integer, Integer)
enumerations
universe1 :: forall a. (Bounded a, Enum a) => NonEmpty a Source #
create a nonempty list of all the values for an Enum
universe1R :: forall a. (Bounded a, Enum a) => NonEmpty a Source #
create a nonempty list of all the values for an Enum
in reverse order
enumFrom1 :: (Bounded a, Enum a) => a -> NonEmpty a Source #
create a nonempty list of values starting at "a"
enumFrom1R :: forall a. (Bounded a, Enum a) => a -> NonEmpty a Source #
create a nonempty list of "a" in reverse order
enumTo1 :: (Bounded a, Enum a) => a -> NonEmpty a Source #
create a nonempty list of values starting at "a"
enumFromThen1 :: (Bounded a, Enum a) => a -> a -> NonEmpty a Source #
create a nonempty list of values starting at "a" and skipping "b"
enumFromTo1 :: Enum a => a -> a -> NonEmpty a Source #
create a nonempty list of values starting at "a" and skipping "b"
enumFromThenTo1 :: Enum a => a -> a -> a -> NonEmpty a Source #
enumFromThenTo
for nonempty lists
converters
integerToEnumSafe :: forall a. (Enum a, Bounded a) => Integer -> Either String a Source #
safe toEnum
container enums
enumerations
toEnumList :: forall a. (Enum a, Bounded a) => Integer -> Either String [a] Source #
convert toEnum of "a" into a list containing "a"s
zero is the empty list: see toEnumList
toEnumList1 :: forall a. (Enum a, Bounded a) => Integer -> Either String (NonEmpty a) Source #
convert toEnum of "a" into a nonempty list containing "a"s
universeTraversable :: forall f a. (Traversable f, Enum a, Bounded a) => f a -> Either String (NonEmpty (f a)) Source #
generate all the possible enum combinations for the given container in ascending order
useful for creating all the valid indices for matrices
toEnumTraversable :: forall a f z. (Traversable f, Enum a, Bounded a) => f z -> Integer -> Either String (f a) Source #
load a given container with "a"s using the relative position "i"
converters
succTraversable :: forall a t. (Traversable t, Enum a, Bounded a) => t a -> Either String (t a) Source #
succ
for a traversable container
predTraversable :: forall a t. (Traversable t, Enum a, Bounded a) => t a -> Either String (t a) Source #
pred
for a traversable container
fromEnumFoldable :: forall a t. (Foldable t, Enum a, Bounded a) => t a -> Either String Integer Source #
reverse of toEnumList
[can fail if xs is null and toEnum 0 is not defined]
fromEnumFoldable1 :: forall a t. (Foldable1 t, Enum a, Bounded a) => t a -> Integer Source #
reverse of toEnumList1
[cant fail]