-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Sequence ID production and consumption -- -- Uniquely identify elements in a sequence. @package seqid @version 0.6.0 module Data.SequenceId -- | If the difference between the sequence IDs is not 1 then the -- appropriate error is returned. checkSeqId :: Integral s => s -> s -> Maybe (SequenceIdError s) -- | Increment to the next sequense ID incrementSeqId :: Integral s => s -> s -- | If the current sequence ID is greater than 1 more than the last -- sequence ID then the appropriate error is returned. checkSeqIdM :: (Integral s, Monad m) => s -> SequenceIdT s m (Maybe (SequenceIdError s)) -- | Update to the next sequense ID incrementSeqIdM :: (Monad m, Integral s) => SequenceIdT s m s -- | Last seen sequense ID lastSeqIdM :: Monad m => SequenceIdT s m s newtype SequenceIdT s m a SequenceIdT :: StateT s m a -> SequenceIdT s m a [unSequenceIdT] :: SequenceIdT s m a -> StateT s m a runSequenceIdT :: Monad m => SequenceIdT s m b -> s -> m (b, s) execSequenceIdT :: Monad m => SequenceIdT s m b -> s -> m s evalSequenceIdT :: Monad m => SequenceIdT s m b -> s -> m b data SequenceIdError a SequenceIdError :: !SequenceIdErrorType -> !a -> !a -> SequenceIdError a [errType] :: SequenceIdError a -> !SequenceIdErrorType [lastSeqId] :: SequenceIdError a -> !a [currSeqId] :: SequenceIdError a -> !a data SequenceIdErrorType SequenceIdDropped :: SequenceIdErrorType SequenceIdDuplicated :: SequenceIdErrorType instance GHC.Show.Show a => GHC.Show.Show (Data.SequenceId.SequenceIdError a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.SequenceId.SequenceIdError a) instance GHC.Show.Show Data.SequenceId.SequenceIdErrorType instance GHC.Classes.Eq Data.SequenceId.SequenceIdErrorType instance Control.Monad.Trans.Class.MonadTrans (Data.SequenceId.SequenceIdT s) instance GHC.Base.Monad m => Control.Monad.State.Class.MonadState s (Data.SequenceId.SequenceIdT s m) instance GHC.Base.Functor m => GHC.Base.Functor (Data.SequenceId.SequenceIdT s m) instance GHC.Base.Monad m => GHC.Base.Applicative (Data.SequenceId.SequenceIdT s m) instance GHC.Base.Monad m => GHC.Base.Monad (Data.SequenceId.SequenceIdT s m)