deepcontrol-0.3.2.0: Provide more deeper level style of programming than the usual Control.xxx modules express

Copyright(c) Andy Gill 2001, (c) Oregon Graduate Institute of Science and Technology, 2001, (C) 2015 KONISHI Yohsuke,
LicenseBSD-style (see the file LICENSE)
Maintainerocean0yohsuke@gmail.com
Stabilityexperimental
Portability---
Safe HaskellSafe
LanguageHaskell2010

DeepControl.Monad.Trans.Writer

Contents

Description

This module extended Writer Monad in mtl(monad-transformer-library).

Synopsis

Documentation

Level-2

newtype WriterT2 w m1 m2 a Source

Constructors

WriterT2 

Fields

runWriterT2 :: m1 (m2 (a, w))
 

Instances

execWriterT2 :: (Monad m1, Monad2 m2) => WriterT2 w m1 m2 a -> m1 (m2 w) Source

mapWriterT2 :: (m1 (m2 (a, w)) -> n1 (n2 (b, w'))) -> WriterT2 w m1 m2 a -> WriterT2 w' n1 n2 b Source

Level-3

newtype WriterT3 w m1 m2 m3 a Source

Constructors

WriterT3 

Fields

runWriterT3 :: m1 (m2 (m3 (a, w)))
 

Instances

(Monoid w, Monad m1, Monad2 m2, Monad3 m3) => MonadWriter w (WriterT3 w m1 m2 m3) Source 
Monoid w => MonadTransCover3 (WriterT3 w) Source 
Monoid w => MonadTransFold3 (WriterT3 w) Source 
Monoid w => MonadTrans3Down (WriterT3 w) Source 
Monoid w => MonadTrans3 (WriterT3 w) Source 
(Monoid w, Monad m1, Monad2 m2, Monad3 m3) => Monad (WriterT3 w m1 m2 m3) Source 
(Monad m1, Monad2 m2, Monad3 m3) => Functor (WriterT3 w m1 m2 m3) Source 
(Monoid w, Monad m1, Monad2 m2, Monad3 m3) => Applicative (WriterT3 w m1 m2 m3) Source 
(Monoid w, MonadIO m1, Monad m1, Monad2 m2, Monad3 m3) => MonadIO (WriterT3 w m1 m2 m3) Source 
type Trans3Down (WriterT3 w) = WriterT2 w Source 

execWriterT3 :: (Monad m1, Monad2 m2, Monad3 m3) => WriterT3 w m1 m2 m3 a -> m1 (m2 (m3 w)) Source

mapWriterT3 :: (m1 (m2 (m3 (a, w))) -> n1 (n2 (n3 (b, w')))) -> WriterT3 w m1 m2 m3 a -> WriterT3 w' n1 n2 n3 b Source