{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# OPTIONS_GHC -Wno-orphans #-} module RON.Prelude.Writer ( module X ) where import Control.Monad.Trans.Writer.CPS as X (WriterT, execWriterT, runWriterT) import qualified Control.Monad.Trans.Writer.CPS as CPS import Control.Monad.Writer.Class as X (MonadWriter, listen, pass, tell, writer) import Prelude (Monad, Monoid) instance (Monoid w, Monad m) => MonadWriter w (WriterT w m) where listen = CPS.listen pass = CPS.pass tell = CPS.tell writer = CPS.writer