seqid-0.5.1: Sequence ID production and consumption

Safe HaskellNone
LanguageHaskell2010

Data.SequenceId

Contents

Synopsis

Documentation

checkSeqId Source #

Arguments

:: SequenceId

Last sequence ID

-> SequenceId

Current sequence ID

-> Maybe SequenceIdError 

If the difference between the sequence IDs is not 1 then the appropriate error is returned.

incrementSeqId Source #

Arguments

:: SequenceId

Last sequence ID

-> SequenceId

Next sequence ID

Increment to the next sequense ID

Monadic

checkSeqIdM Source #

Arguments

:: Monad m 
=> SequenceId

Current sequence ID

-> SequenceIdT m (Maybe SequenceIdError) 

If the current sequence ID is greater than 1 more than the last sequence ID then the appropriate error is returned.

incrementSeqIdM Source #

Arguments

:: Monad m 
=> SequenceIdT m SequenceId

Next sequence ID

Update to the next sequense ID

lastSeqIdM Source #

Arguments

:: Monad m 
=> SequenceIdT m SequenceId

Last sequence ID

Last seen sequense ID

newtype SequenceIdT m a Source #

Constructors

SequenceIdT 

Instances

MonadTrans SequenceIdT Source # 

Methods

lift :: Monad m => m a -> SequenceIdT m a #

Monad m => MonadState SequenceId (SequenceIdT m) Source # 
Monad m => Monad (SequenceIdT m) Source # 

Methods

(>>=) :: SequenceIdT m a -> (a -> SequenceIdT m b) -> SequenceIdT m b #

(>>) :: SequenceIdT m a -> SequenceIdT m b -> SequenceIdT m b #

return :: a -> SequenceIdT m a #

fail :: String -> SequenceIdT m a #

Functor m => Functor (SequenceIdT m) Source # 

Methods

fmap :: (a -> b) -> SequenceIdT m a -> SequenceIdT m b #

(<$) :: a -> SequenceIdT m b -> SequenceIdT m a #

Monad m => Applicative (SequenceIdT m) Source # 

Methods

pure :: a -> SequenceIdT m a #

(<*>) :: SequenceIdT m (a -> b) -> SequenceIdT m a -> SequenceIdT m b #

(*>) :: SequenceIdT m a -> SequenceIdT m b -> SequenceIdT m b #

(<*) :: SequenceIdT m a -> SequenceIdT m b -> SequenceIdT m a #

Types

newtype SequenceId Source #

Constructors

SequenceId 

Fields

Instances

Enum SequenceId Source # 
Eq SequenceId Source # 
Integral SequenceId Source # 
Num SequenceId Source # 
Ord SequenceId Source # 
Real SequenceId Source # 
Show SequenceId Source # 
Monad m => MonadState SequenceId (SequenceIdT m) Source #