countable-1.0: Countable, Searchable, Finite, Empty classes

Safe HaskellSafe
LanguageHaskell2010

Data.Countable

Documentation

class Eq a => Countable a where #

Minimal complete definition

countPrevious, countMaybeNext

Methods

countPrevious :: a -> Maybe a #

countMaybeNext :: Maybe a -> Maybe a #

Instances

Countable Bool # 
Countable Int8 # 
Countable Int16 # 
Countable Int32 # 
Countable Int64 # 
Countable Integer # 
Countable Word8 # 
Countable Word16 # 
Countable Word32 # 
Countable Word64 # 
Countable () # 

Methods

countPrevious :: () -> Maybe () #

countMaybeNext :: Maybe () -> Maybe () #

Countable None # 
Countable a => Countable [a] # 

Methods

countPrevious :: [a] -> Maybe [a] #

countMaybeNext :: Maybe [a] -> Maybe [a] #

Countable a => Countable (Maybe a) # 
(Countable a, Countable b) => Countable (Either a b) # 

Methods

countPrevious :: Either a b -> Maybe (Either a b) #

countMaybeNext :: Maybe (Either a b) -> Maybe (Either a b) #

(Countable a, Countable b) => Countable (a, b) # 

Methods

countPrevious :: (a, b) -> Maybe (a, b) #

countMaybeNext :: Maybe (a, b) -> Maybe (a, b) #

countDown :: Countable a => a -> [a] #

boundedCountPrevious :: (Eq a, Bounded a, Enum a) => a -> Maybe a #

maybeRecount :: (Countable a, Countable b) => a -> Maybe b #

countDownUp :: (Countable down, Countable up) => (down, up) -> Maybe (down, up) #

countUpDown :: (Countable up, Countable down) => (up, down) -> Maybe (up, down) #

finalIteration :: (a -> Maybe a) -> a -> a #

class AtLeastOneCountable a => InfiniteCountable a where #

Minimal complete definition

countNext

Methods

countNext :: Maybe a -> a #

recount :: (Countable a, InfiniteCountable b) => a -> b #