From 7757d26b3bbb3c98e692c1c780d38e8186a97e2b Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Mon, 11 Dec 2017 09:08:48 -0800 Subject: [PATCH] Prefer import from unnested modules. --- src/Postlude.hs | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/Postlude.hs b/src/Postlude.hs index b69f46f..ede0957 100644 --- a/src/Postlude.hs +++ b/src/Postlude.hs @@ -33,20 +33,32 @@ import Control.Monad as X , guard ) +import Control.Monad.Except as X + -- Note runExceptT is not actually a type declaration within the ExceptT + -- newtype but writing as follows for consistency's sake. + ( ExceptT, ExceptT(ExceptT), runExceptT + ) + import Control.Monad.Reader as X ( MonadReader, ask, local, reader - , Reader - , runReader + , Reader, runReader + , ReaderT, ReaderT(ReaderT), runReaderT ) import Control.Monad.State as X ( MonadState, get, put, state - , State + , State, runState + -- Note there also exists a strict interpretation but we default to the lazy + -- implementation. + , StateT, StateT(StateT), runStateT ) import Control.Monad.Writer as X ( MonadWriter, listen, pass, tell, writer - , Writer + , Writer, runWriter + -- Note there also exists a strict interpretation but we default to the lazy + -- implementation. + , WriterT, WriterT(WriterT), runWriterT ) import Control.Monad.Trans as X @@ -58,32 +70,10 @@ import Control.Monad.Trans.Either as X ( EitherT, EitherT(EitherT), runEitherT ) -import Control.Monad.Trans.Except as X - -- Note runExceptT is not actually a type declaration within the ExceptT - -- newtype but writing as follows for consistency's sake. - ( ExceptT, ExceptT(ExceptT), runExceptT - ) - import Control.Monad.Trans.Maybe as X ( MaybeT, MaybeT(MaybeT), runMaybeT ) -import Control.Monad.Trans.Reader as X - ( ReaderT, ReaderT(ReaderT), runReaderT - ) - --- Note there also exists a strict interpretation but we default to the lazy --- implementation. -import Control.Monad.Trans.State as X - ( StateT, StateT(StateT), runStateT - ) - --- Note there also exists a strict interpretation but we default to the lazy --- implementation. -import Control.Monad.Trans.Writer as X - ( WriterT, WriterT(WriterT), runWriterT - ) - import Data.Bool as X ( Bool, Bool(False), Bool(True) , (&&)