From 12bf35cea244b712bdb24d35fc81bf127dabb924 Mon Sep 17 00:00:00 2001 From: Joshua Potter Date: Sun, 22 Apr 2018 22:00:37 -0700 Subject: [PATCH] Separate strict and lazy version of functions. This includes a large minor version upgrade. --- postlude.cabal | 9 ++++++--- src/Postlude.hs | 20 -------------------- src/Postlude/Lazy.hs | 21 +++++++++++++++++++++ src/Postlude/Strict.hs | 21 +++++++++++++++++++++ 4 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 src/Postlude/Lazy.hs create mode 100644 src/Postlude/Strict.hs diff --git a/postlude.cabal b/postlude.cabal index 7b800cf..5f68dcc 100644 --- a/postlude.cabal +++ b/postlude.cabal @@ -2,11 +2,12 @@ -- -- see: https://github.com/sol/hpack -- --- hash: 82b7ad1c15304e5bdef2dfe14b8cecc2e801967a3e05a65154970648658b171c +-- hash: ea62b7db89a610cce35616a02dc56670b7cdff0d747b64a96f19cb72bd6d42f7 name: postlude -version: 0.1.0.8 -description: Please see the README on Github at +version: 0.1.1.0 +description: Please see the README on Github at + homepage: https://github.com/jrpotter/postlude#readme bug-reports: https://github.com/jrpotter/postlude/issues author: Joshua Potter @@ -37,6 +38,8 @@ library , transformers >=0.4 && <0.6 exposed-modules: Postlude + Postlude.Lazy + Postlude.Strict other-modules: Paths_postlude default-language: Haskell2010 diff --git a/src/Postlude.hs b/src/Postlude.hs index 1b31a08..01f2089 100644 --- a/src/Postlude.hs +++ b/src/Postlude.hs @@ -93,18 +93,6 @@ import Control.Monad.Trans.Reader as X , ReaderT, ReaderT(ReaderT), runReaderT ) --- We default to the lazy implementation of State. -import Control.Monad.Trans.State as X - ( State - , StateT, StateT(StateT), runStateT - ) - --- We default to the lazy implementation of Writer. -import Control.Monad.Trans.Writer as X - ( Writer - , WriterT, WriterT(WriterT), runWriterT - ) - import Data.Bits as X ( Bits , (.&.) @@ -139,10 +127,6 @@ import Data.Bool as X , otherwise ) -import Data.ByteString.Lazy as X - ( ByteString - ) - import Data.Char as X ( Char ) @@ -216,10 +200,6 @@ import Data.String as X ( String ) -import Data.Text.Lazy as X - ( Text - ) - import Data.Traversable as X ( Traversable, mapM, sequence, sequenceA, traverse ) diff --git a/src/Postlude/Lazy.hs b/src/Postlude/Lazy.hs new file mode 100644 index 0000000..04d7517 --- /dev/null +++ b/src/Postlude/Lazy.hs @@ -0,0 +1,21 @@ +{-# LANGUAGE NoImplicitPrelude #-} + +module Postlude.Lazy (module Lazy) where + +import Control.Monad.Trans.State as Lazy + ( State + , StateT, StateT(StateT), runStateT + ) + +import Control.Monad.Trans.Writer as Lazy + ( Writer + , WriterT, WriterT(WriterT), runWriterT + ) + +import Data.ByteString.Lazy as Lazy + ( ByteString + ) + +import Data.Text.Lazy as Lazy + ( Text + ) diff --git a/src/Postlude/Strict.hs b/src/Postlude/Strict.hs new file mode 100644 index 0000000..afb1541 --- /dev/null +++ b/src/Postlude/Strict.hs @@ -0,0 +1,21 @@ +{-# LANGUAGE NoImplicitPrelude #-} + +module Postlude.Strict (module Strict) where + +import Control.Monad.Trans.State.Strict as Strict + ( State + , StateT, StateT(StateT), runStateT + ) + +import Control.Monad.Trans.Writer.Strict as Strict + ( Writer + , WriterT, WriterT(WriterT), runWriterT + ) + +import Data.ByteString as Strict + ( ByteString + ) + +import Data.Text as Strict + ( Text + )