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 # 
Instance details

Defined in Data.Countable

Countable Int8 # 
Instance details

Defined in Data.Countable

Countable Int16 # 
Instance details

Defined in Data.Countable

Countable Int32 # 
Instance details

Defined in Data.Countable

Countable Int64 # 
Instance details

Defined in Data.Countable

Countable Integer # 
Instance details

Defined in Data.Countable

Countable Word8 # 
Instance details

Defined in Data.Countable

Countable Word16 # 
Instance details

Defined in Data.Countable

Countable Word32 # 
Instance details

Defined in Data.Countable

Countable Word64 # 
Instance details

Defined in Data.Countable

Countable () # 
Instance details

Defined in Data.Countable

Methods

countPrevious :: () -> Maybe () #

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

Countable None # 
Instance details

Defined in Data.Empty

Countable a => Countable [a] # 
Instance details

Defined in Data.Countable

Methods

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

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

Countable a => Countable (Maybe a) # 
Instance details

Defined in Data.Countable

(Finite a, Countable b) => Countable (a -> b) # 
Instance details

Defined in Data.Searchable

Methods

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

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

(Countable a, Countable b) => Countable (Either a b) # 
Instance details

Defined in Data.Countable

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) # 
Instance details

Defined in Data.Countable

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 Countable a => AtLeastOneCountable a where #

Minimal complete definition

countFirst

Methods

countFirst :: a #

Instances
AtLeastOneCountable Bool # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Bool #

AtLeastOneCountable Int8 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Int8 #

AtLeastOneCountable Int16 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Int16 #

AtLeastOneCountable Int32 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Int32 #

AtLeastOneCountable Int64 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Int64 #

AtLeastOneCountable Integer # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Integer #

AtLeastOneCountable Word8 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Word8 #

AtLeastOneCountable Word16 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Word16 #

AtLeastOneCountable Word32 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Word32 #

AtLeastOneCountable Word64 # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Word64 #

AtLeastOneCountable () # 
Instance details

Defined in Data.Countable

Methods

countFirst :: () #

Countable a => AtLeastOneCountable [a] # 
Instance details

Defined in Data.Countable

Methods

countFirst :: [a] #

Countable a => AtLeastOneCountable (Maybe a) # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Maybe a #

(Finite a, AtLeastOneCountable b) => AtLeastOneCountable (a -> b) # 
Instance details

Defined in Data.Searchable

Methods

countFirst :: a -> b #

(Countable a, AtLeastOneCountable b) => AtLeastOneCountable (Either a b) # 
Instance details

Defined in Data.Countable

Methods

countFirst :: Either a b #

(AtLeastOneCountable a, AtLeastOneCountable b) => AtLeastOneCountable (a, b) # 
Instance details

Defined in Data.Countable

Methods

countFirst :: (a, b) #

class AtLeastOneCountable a => InfiniteCountable a where #

Minimal complete definition

countNext

Methods

countNext :: Maybe a -> a #

Instances
InfiniteCountable Integer # 
Instance details

Defined in Data.Countable

AtLeastOneCountable a => InfiniteCountable [a] # 
Instance details

Defined in Data.Countable

Methods

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

InfiniteCountable a => InfiniteCountable (Maybe a) # 
Instance details

Defined in Data.Countable

Methods

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

(Finite a, AtLeastOneCountable a, InfiniteCountable b) => InfiniteCountable (a -> b) # 
Instance details

Defined in Data.Searchable

Methods

countNext :: Maybe (a -> b) -> a -> b #

(Countable a, InfiniteCountable b) => InfiniteCountable (Either a b) # 
Instance details

Defined in Data.Countable

Methods

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

(AtLeastOneCountable a, InfiniteCountable b) => InfiniteCountable (a, b) # 
Instance details

Defined in Data.Countable

Methods

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

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