-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Arrow Transformer Library -- -- Arrow Transformer Library @package atl @version 15409.2 module Control.Arrow.Writer.Class class Arrow r => ArrowWriter w r | r -> w tell :: ArrowWriter w r => r w () look :: ArrowWriter w r => r a (a, w) censor :: ArrowWriter w r => (w -> w) -> r a b -> r a b looksA :: ArrowWriter w r => r w b -> r a (a, b) looks :: ArrowWriter w r => (w -> b) -> r a (a, b) module Control.Arrow.State.Class class Arrow r => ArrowState s r | r -> s get :: ArrowState s r => r () s put :: ArrowState s r => r s () gets :: ArrowState s r => (s -> a) -> r () a set :: ArrowState s r => (s -> s) -> r a a module Control.Arrow.Transformer class ArrowTransformer xT lift :: (ArrowTransformer xT, Arrow r) => r a b -> xT r a b tmap :: (ArrowTransformer xT, Arrow r, Arrow s) => (forall a b. r a b -> s a b) -> xT r a b -> xT s a b module Control.Arrow.Reader.Class class Arrow s => ArrowReader r s | s -> r ask :: ArrowReader r s => s () r local :: ArrowReader r s => (r -> r) -> s a b -> s a b asks :: ArrowReader r s => (r -> a) -> s () a asksA :: ArrowReader r s => s r a -> s () a module Control.Arrow.Reader newtype ReaderT r s a b ReaderT :: s (a, r) b -> ReaderT r s a b runReaderT :: ReaderT r s a b -> s (a, r) b withReaderT :: Arrow s => s q r -> ReaderT r s a b -> ReaderT q s a b instance (Arrow s, ArrowTransformer xT, Arrow (xT (ReaderT r s))) => ArrowReader r (xT (ReaderT r s)) instance Arrow s => ArrowReader r (ReaderT r s) instance ArrowLoop s => ArrowLoop (ReaderT r s) instance ArrowChoice s => ArrowChoice (ReaderT r s) instance ArrowPlus s => ArrowPlus (ReaderT r s) instance ArrowZero s => ArrowZero (ReaderT r s) instance ArrowApply s => ArrowApply (ReaderT r s) instance Arrow s => Arrow (ReaderT r s) instance Arrow s => Category (ReaderT r s) instance ArrowTransformer (ReaderT r) module Control.Arrow.List.Class class Arrow r => ArrowList r arrL :: ArrowList r => (a -> [b]) -> r a b mapL :: ArrowList r => ([b] -> [c]) -> r a b -> r a c module Control.Arrow.Abort.Class class Arrow r => ArrowAbort v r | r -> v abort :: ArrowAbort v r => r v a module Control.Arrow.Abort newtype AbortT v r a b AbortT :: r a (Either v b) -> AbortT v r a b unwrapAbortT :: AbortT v r a b -> r a (Either v b) runAbortT :: Arrow r => AbortT v r a v -> r a v instance (ArrowChoice r, ArrowTransformer xT, Arrow (xT (AbortT v r))) => ArrowAbort v (xT (AbortT v r)) instance ArrowChoice r => ArrowAbort v (AbortT v r) instance (ArrowChoice r, ArrowLoop r, Typeable v) => ArrowLoop (AbortT v r) instance (ArrowChoice r, ArrowApply r) => ArrowApply (AbortT v r) instance ArrowChoice r => Arrow (AbortT v r) instance ArrowChoice r => Category (AbortT v r) instance ArrowTransformer (AbortT v) module Control.Arrow.State newtype StateT s r a b StateT :: r (a, s) (b, s) -> StateT s r a b runStateT :: StateT s r a b -> r (a, s) (b, s) instance (Arrow r, ArrowTransformer xT, Arrow (xT (StateT s r))) => ArrowState s (xT (StateT s r)) instance Arrow r => ArrowState s (StateT s r) instance ArrowLoop r => ArrowLoop (StateT s r) instance ArrowChoice r => ArrowChoice (StateT s r) instance ArrowPlus r => ArrowPlus (StateT s r) instance ArrowZero r => ArrowZero (StateT s r) instance ArrowApply r => ArrowApply (StateT s r) instance Arrow r => Arrow (StateT s r) instance Category r => Category (StateT s r) instance ArrowTransformer (StateT s) module Control.Arrow.Writer newtype WriterT w r a b WriterT :: r a (b, w) -> WriterT w r a b runWriterT :: WriterT w r a b -> r a (b, w) instance (Monoid w, Arrow r) => ArrowWriter w (WriterT w r) instance (Monoid w, ArrowLoop r) => ArrowLoop (WriterT w r) instance (Monoid w, ArrowChoice r) => ArrowChoice (WriterT w r) instance (Monoid w, ArrowPlus r) => ArrowPlus (WriterT w r) instance (Monoid w, ArrowZero r) => ArrowZero (WriterT w r) instance (Monoid w, ArrowApply r) => ArrowApply (WriterT w r) instance (Monoid w, Arrow r) => Arrow (WriterT w r) instance (Monoid w, Arrow r) => Category (WriterT w r) instance Monoid w => ArrowTransformer (WriterT w)