------------------------------------------------------------------------------- |-- Module : Control.Monad.RWS.Strict-- Copyright : (c) Andy Gill 2001,-- (c) Oregon Graduate Institute of Science and Technology, 2001-- License : BSD-style (see the file LICENSE)---- Maintainer : libraries@haskell.org-- Stability : experimental-- Portability : non-portable (multi-param classes, functional dependencies)---- Strict RWS monad.---- Inspired by the paper-- /Functional Programming with Overloading and Higher-Order Polymorphism/,-- Mark P Jones (<http://web.cecs.pdx.edu/~mpj/>)-- Advanced School of Functional Programming, 1995.-----------------------------------------------------------------------------moduleControl.Monad.RWS.Strict(-- * The RWS monadRWS,rws,runRWS,evalRWS,execRWS,mapRWS,withRWS,-- * The RWST monad transformerRWST(RWST),runRWST,evalRWST,execRWST,mapRWST,withRWST,-- * Strict Reader-writer-state monadsmoduleControl.Monad.RWS.Class,moduleControl.Monad,moduleControl.Monad.Fix,moduleControl.Monad.Trans,moduleData.Monoid,)whereimportControl.Monad.RWS.Class importControl.Monad.Trans importControl.Monad.Trans.RWS.Strict(RWS,rws,runRWS,evalRWS,execRWS,mapRWS,withRWS,RWST(RWST),runRWST,evalRWST,execRWST,mapRWST,withRWST)importControl.MonadimportControl.Monad.FiximportData.Monoid