countable-1.2: Countable, Searchable, Finite, Empty classes
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Countable

Synopsis

Documentation

class Eq a => Countable a where Source #

Values form a possibly empty, possibly finite, countable sequence.

Instances

Instances details
Countable Void Source # 
Instance details

Defined in Data.Countable

Countable Int16 Source # 
Instance details

Defined in Data.Countable

Countable Int32 Source # 
Instance details

Defined in Data.Countable

Countable Int64 Source # 
Instance details

Defined in Data.Countable

Countable Int8 Source # 
Instance details

Defined in Data.Countable

Countable Word16 Source # 
Instance details

Defined in Data.Countable

Countable Word32 Source # 
Instance details

Defined in Data.Countable

Countable Word64 Source # 
Instance details

Defined in Data.Countable

Countable Word8 Source # 
Instance details

Defined in Data.Countable

Countable Integer Source # 
Instance details

Defined in Data.Countable

Countable () Source # 
Instance details

Defined in Data.Countable

Methods

countPrevious :: () -> Maybe () Source #

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

Countable Bool Source # 
Instance details

Defined in Data.Countable

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

Defined in Data.Countable

Countable a => Countable [a] Source # 
Instance details

Defined in Data.Countable

Methods

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

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

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

Defined in Data.Countable

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

Defined in Data.Countable

Methods

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

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

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

Defined in Data.Function.Eq

Methods

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

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

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

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

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

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

class Countable a => AtLeastOneCountable a where Source #

Values form a non-empty, possibly finite, countable sequence.

Methods

countFirst :: a Source #

Instances

Instances details
AtLeastOneCountable Int16 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Int32 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Int64 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Int8 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Word16 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Word32 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Word64 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Word8 Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable Integer Source # 
Instance details

Defined in Data.Countable

AtLeastOneCountable () Source # 
Instance details

Defined in Data.Countable

Methods

countFirst :: () Source #

AtLeastOneCountable Bool Source # 
Instance details

Defined in Data.Countable

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

Defined in Data.Countable

Methods

countFirst :: Maybe a Source #

Countable a => AtLeastOneCountable [a] Source # 
Instance details

Defined in Data.Countable

Methods

countFirst :: [a] Source #

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

Defined in Data.Countable

Methods

countFirst :: Either a b Source #

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

Defined in Data.Countable

Methods

countFirst :: (a, b) Source #

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

Defined in Data.Function.Eq

Methods

countFirst :: a -> b Source #

class AtLeastOneCountable a => InfiniteCountable a where Source #

Values form an infinite countable sequence.

Methods

countNext :: Maybe a -> a Source #

Instances

Instances details
InfiniteCountable Integer Source # 
Instance details

Defined in Data.Countable

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

Defined in Data.Countable

Methods

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

AtLeastOneCountable a => InfiniteCountable [a] Source # 
Instance details

Defined in Data.Countable

Methods

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

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

Defined in Data.Countable

Methods

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

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

Defined in Data.Countable

Methods

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

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

Defined in Data.Function.Eq

Methods

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