on master help sign in
Drop newtype-generics
commit0632d78e78d86cc1387d66c5b18e0834a79ede46 authorIndex Int <vlad.z.4096@gmail.com> dateThu 22 Oct 2015, 22:34 (11 years ago) parent9a62d41
9 files changed+140−64
ether.cabal−1 src/Control/Ether/Tagged.hs−9 src/Control/Ether/Wrapped.hs+1−4 src/Control/Monad/Trans/Ether/Except.hs+21−10 src/Control/Monad/Trans/Ether/Reader.hs+21−10 src/Control/Monad/Trans/Ether/State/Lazy.hs+21−10 src/Control/Monad/Trans/Ether/State/Strict.hs+21−10 src/Control/Monad/Trans/Ether/Writer.hs+21−10 stack-ghc-7.8.4.yaml+34
ether.cabal−1
@@ -64,7 +64,6 @@ library
6464 , monad-control >=1.0.0.4
6565 , transformers-base >=0.4.4
6666 , template-haskell >=2.9
67− , newtype-generics >=0.4.1
6867
6968 default-language: Haskell2010
7069 other-extensions: DeriveGeneric
src/Control/Ether/Tagged.hs−9
@@ -7,7 +7,6 @@
77{-# LANGUAGE UndecidableInstances #-}
88{-# LANGUAGE MultiParamTypeClasses #-}
99{-# LANGUAGE FunctionalDependencies #-}
10−{-# LANGUAGE DefaultSignatures #-}
1110
1211-- | Type-level machinery for tag manipulation.
1312
@@ -28,7 +27,6 @@ import qualified Control.Monad.ST.Strict as Strict (ST)
2827import qualified Control.Monad.ST.Lazy as Lazy (ST)
2928import GHC.Conc (STM)
3029import GHC.Exts (Constraint)
31−import qualified Control.Newtype as NT
3230import Control.Ether.Util (type (++), MaybeToList)
3331
3432import qualified Control.Monad.Trans.Cont as Trans
@@ -147,13 +145,6 @@ type Tags (m :: * -> *) = MaybeToList (Tag m) ++ ListMapTag (Inners m)
147145-- | The 'Tagged' type class establishes a relationship between a tagged
148146-- monad transformer and its untagged counterpart.
149147class (Taggable m, Tag m ~ 'Just tag) => Tagged m tag | m -> tag where
150−
151148 type Untagged m :: * -> *
152−
153149 tagged :: proxy tag -> Untagged m a -> m a
154− default tagged :: NT.Newtype (m a) => proxy tag -> NT.O (m a) -> m a
155− tagged _ = NT.pack
156−
157150 untagged :: proxy tag -> m a -> Untagged m a
158− default untagged :: NT.Newtype (m a) => proxy tag -> m a -> NT.O (m a)
159− untagged _ = NT.unpack
src/Control/Ether/Wrapped.hs+1−4
@@ -17,7 +17,7 @@ Annotating monads with tags to turn untagged constraints into tagged ones.
1717>
1818> f :: T.MonadState Int m => m String
1919> f = fmap show T.get
20−>
20+>
2121> g :: MonadState Foo Int m => m String
2222> g = ethered foo f
2323-}
@@ -33,7 +33,6 @@ import Control.Monad (MonadPlus)
3333import Control.Monad.Fix (MonadFix)
3434import Control.Monad.IO.Class (MonadIO)
3535import GHC.Generics (Generic)
36−import qualified Control.Newtype as NT
3736
3837import Control.Monad.Ether.Reader.Class
3938import Control.Monad.Ether.State.Class
@@ -51,8 +50,6 @@ newtype WrappedEther tag m a = WrapEther { unwrapEther :: m a }
5150 , Functor, Applicative, Alternative, Monad, MonadPlus
5251 , MonadFix, MonadIO )
5352
54−instance NT.Newtype (WrappedEther tag m a)
55−
5653-- | Annotate a polymorphic monadic computation with a tag.
5754ethered :: proxy tag -> WrappedEther tag m a -> m a
5855ethered _proxy = unwrapEther
src/Control/Monad/Trans/Ether/Except.hs+21−10
@@ -22,6 +22,9 @@ module Control.Monad.Trans.Ether.Except
2222 -- * Exception operations
2323 , throw
2424 , catch
25+ -- * Newtype operations
26+ , pack
27+ , unpack
2528 ) where
2629
2730import Data.Functor.Identity (Identity(..))
@@ -33,7 +36,7 @@ import Control.Monad.IO.Class (MonadIO)
3336import Control.Monad.Morph (MFunctor, MMonad)
3437import Control.Ether.Tagged (Taggable(..), Tagged(..))
3538import GHC.Generics (Generic)
36−import qualified Control.Newtype as NT
39+import Data.Coerce (coerce)
3740
3841import qualified Control.Monad.Base as MB
3942import qualified Control.Monad.Trans.Control as MC
@@ -74,15 +77,21 @@ newtype ExceptT tag e m a = ExceptT (Trans.ExceptT e m a)
7477 , Functor, Applicative, Alternative, Monad, MonadPlus
7578 , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
7679
77−instance NT.Newtype (ExceptT tag e m a)
80+-- | Type-restricted `coerce`.
81+pack :: Trans.ExceptT e m a -> ExceptT tag e m a
82+pack = coerce
83+
84+-- | Type-restricted `coerce`.
85+unpack :: ExceptT tag e m a -> Trans.ExceptT e m a
86+unpack = coerce
7887
7988instance MB.MonadBase b m => MB.MonadBase b (ExceptT tag e m) where
8089 liftBase = MB.liftBaseDefault
8190
8291instance MC.MonadTransControl (ExceptT tag e) where
8392 type StT (ExceptT tag e) a = MC.StT (Trans.ExceptT e) a
84− liftWith = MC.defaultLiftWith NT.pack NT.unpack
85− restoreT = MC.defaultRestoreT NT.pack
93+ liftWith = MC.defaultLiftWith pack unpack
94+ restoreT = MC.defaultRestoreT pack
8695
8796instance MC.MonadBaseControl b m => MC.MonadBaseControl b (ExceptT tag e m) where
8897 type StM (ExceptT tag e m) a = MC.ComposeSt (ExceptT tag e) m a
@@ -92,20 +101,20 @@ instance MC.MonadBaseControl b m => MC.MonadBaseControl b (ExceptT tag e m) wher
92101type instance Lift.StT (ExceptT tag e) a = MC.StT (ExceptT tag e) a
93102
94103instance Lift.LiftLocal (ExceptT tag e) where
95− liftLocal = Lift.defaultLiftLocal NT.pack NT.unpack
104+ liftLocal = Lift.defaultLiftLocal pack unpack
96105
97106instance Lift.LiftCatch (ExceptT tag e) where
98− liftCatch = Lift.defaultLiftCatch NT.pack NT.unpack
107+ liftCatch = Lift.defaultLiftCatch pack unpack
99108
100109instance Lift.LiftListen (ExceptT tag e) where
101− liftListen = Lift.defaultLiftListen NT.pack NT.unpack
110+ liftListen = Lift.defaultLiftListen pack unpack
102111
103112instance Lift.LiftPass (ExceptT tag e) where
104− liftPass = Lift.defaultLiftPass NT.pack NT.unpack
113+ liftPass = Lift.defaultLiftPass pack unpack
105114
106115instance Lift.LiftCallCC (ExceptT tag e) where
107− liftCallCC = Lift.defaultLiftCallCC NT.pack NT.unpack
108− liftCallCC' = Lift.defaultLiftCallCC NT.pack NT.unpack
116+ liftCallCC = Lift.defaultLiftCallCC pack unpack
117+ liftCallCC' = Lift.defaultLiftCallCC pack unpack
109118
110119instance Taggable (ExceptT tag e m) where
111120 type Tag (ExceptT tag e m) = 'Just tag
@@ -113,6 +122,8 @@ instance Taggable (ExceptT tag e m) where
113122
114123instance Tagged (ExceptT tag e m) tag where
115124 type Untagged (ExceptT tag e m) = Trans.ExceptT e m
125+ tagged _ = pack
126+ untagged _ = unpack
116127
117128-- | Constructor for computations in the exception monad transformer.
118129exceptT :: proxy tag -> m (Either e a) -> ExceptT tag e m a
src/Control/Monad/Trans/Ether/Reader.hs+21−10
@@ -22,6 +22,9 @@ module Control.Monad.Trans.Ether.Reader
2222 -- * Reader operations
2323 , ask
2424 , local
25+ -- * Newtype operations
26+ , pack
27+ , unpack
2528 ) where
2629
2730import Data.Functor.Identity (Identity(..))
@@ -33,7 +36,7 @@ import Control.Monad.IO.Class (MonadIO)
3336import Control.Monad.Morph (MFunctor, MMonad)
3437import Control.Ether.Tagged (Taggable(..), Tagged(..))
3538import GHC.Generics (Generic)
36−import qualified Control.Newtype as NT
39+import Data.Coerce (coerce)
3740
3841import qualified Control.Monad.Base as MB
3942import qualified Control.Monad.Trans.Control as MC
@@ -70,15 +73,21 @@ newtype ReaderT tag r m a = ReaderT (Trans.ReaderT r m a)
7073 , Functor, Applicative, Alternative, Monad, MonadPlus
7174 , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
7275
73−instance NT.Newtype (ReaderT tag r m a)
76+-- | Type-restricted `coerce`.
77+pack :: Trans.ReaderT r m a -> ReaderT tag r m a
78+pack = coerce
79+
80+-- | Type-restricted `coerce`.
81+unpack :: ReaderT tag r m a -> Trans.ReaderT r m a
82+unpack = coerce
7483
7584instance MB.MonadBase b m => MB.MonadBase b (ReaderT tag r m) where
7685 liftBase = MB.liftBaseDefault
7786
7887instance MC.MonadTransControl (ReaderT tag r) where
7988 type StT (ReaderT tag r) a = MC.StT (Trans.ReaderT r) a
80− liftWith = MC.defaultLiftWith NT.pack NT.unpack
81− restoreT = MC.defaultRestoreT NT.pack
89+ liftWith = MC.defaultLiftWith pack unpack
90+ restoreT = MC.defaultRestoreT pack
8291
8392instance MC.MonadBaseControl b m => MC.MonadBaseControl b (ReaderT tag r m) where
8493 type StM (ReaderT tag r m) a = MC.ComposeSt (ReaderT tag r) m a
@@ -88,20 +97,20 @@ instance MC.MonadBaseControl b m => MC.MonadBaseControl b (ReaderT tag r m) wher
8897type instance Lift.StT (ReaderT tag r) a = MC.StT (ReaderT tag r) a
8998
9099instance Lift.LiftLocal (ReaderT tag r) where
91− liftLocal = Lift.defaultLiftLocal NT.pack NT.unpack
100+ liftLocal = Lift.defaultLiftLocal pack unpack
92101
93102instance Lift.LiftCatch (ReaderT tag r) where
94− liftCatch = Lift.defaultLiftCatch NT.pack NT.unpack
103+ liftCatch = Lift.defaultLiftCatch pack unpack
95104
96105instance Lift.LiftListen (ReaderT tag r) where
97− liftListen = Lift.defaultLiftListen NT.pack NT.unpack
106+ liftListen = Lift.defaultLiftListen pack unpack
98107
99108instance Lift.LiftPass (ReaderT tag r) where
100− liftPass = Lift.defaultLiftPass NT.pack NT.unpack
109+ liftPass = Lift.defaultLiftPass pack unpack
101110
102111instance Lift.LiftCallCC (ReaderT tag r) where
103− liftCallCC = Lift.defaultLiftCallCC NT.pack NT.unpack
104− liftCallCC' = Lift.defaultLiftCallCC' NT.pack NT.unpack
112+ liftCallCC = Lift.defaultLiftCallCC pack unpack
113+ liftCallCC' = Lift.defaultLiftCallCC' pack unpack
105114
106115instance Taggable (ReaderT tag r m) where
107116 type Tag (ReaderT tag r m) = 'Just tag
@@ -109,6 +118,8 @@ instance Taggable (ReaderT tag r m) where
109118
110119instance Tagged (ReaderT tag r m) tag where
111120 type Untagged (ReaderT tag r m) = Trans.ReaderT r m
121+ tagged _ = pack
122+ untagged _ = unpack
112123
113124-- | Constructor for computations in the reader monad transformer.
114125readerT :: proxy tag -> (r -> m a) -> ReaderT tag r m a
src/Control/Monad/Trans/Ether/State/Lazy.hs+21−10
@@ -26,6 +26,9 @@ module Control.Monad.Trans.Ether.State.Lazy
2626 -- * State operations
2727 , get
2828 , put
29+ -- * Newtype operations
30+ , pack
31+ , unpack
2932 ) where
3033
3134import Data.Functor.Identity (Identity(..))
@@ -37,7 +40,7 @@ import Control.Monad.IO.Class (MonadIO)
3740import Control.Monad.Morph (MFunctor)
3841import Control.Ether.Tagged (Taggable(..), Tagged(..))
3942import GHC.Generics (Generic)
40−import qualified Control.Newtype as NT
43+import Data.Coerce (coerce)
4144
4245import qualified Control.Monad.Base as MB
4346import qualified Control.Monad.Trans.Control as MC
@@ -74,15 +77,21 @@ newtype StateT tag s m a = StateT (Trans.StateT s m a)
7477 , Functor, Applicative, Alternative, Monad, MonadPlus
7578 , MonadFix, MonadTrans, MonadIO, MFunctor )
7679
77−instance NT.Newtype (StateT tag s m a)
80+-- | Type-restricted `coerce`.
81+pack :: Trans.StateT s m a -> StateT tag s m a
82+pack = coerce
83+
84+-- | Type-restricted `coerce`.
85+unpack :: StateT tag s m a -> Trans.StateT s m a
86+unpack = coerce
7887
7988instance MB.MonadBase b m => MB.MonadBase b (StateT tag s m) where
8089 liftBase = MB.liftBaseDefault
8190
8291instance MC.MonadTransControl (StateT tag s) where
8392 type StT (StateT tag s) a = MC.StT (Trans.StateT s) a
84− liftWith = MC.defaultLiftWith NT.pack NT.unpack
85− restoreT = MC.defaultRestoreT NT.pack
93+ liftWith = MC.defaultLiftWith pack unpack
94+ restoreT = MC.defaultRestoreT pack
8695
8796instance MC.MonadBaseControl b m => MC.MonadBaseControl b (StateT tag s m) where
8897 type StM (StateT tag s m) a = MC.ComposeSt (StateT tag s) m a
@@ -92,20 +101,20 @@ instance MC.MonadBaseControl b m => MC.MonadBaseControl b (StateT tag s m) where
92101type instance Lift.StT (StateT tag s) a = MC.StT (StateT tag s) a
93102
94103instance Lift.LiftLocal (StateT tag s) where
95− liftLocal = Lift.defaultLiftLocal NT.pack NT.unpack
104+ liftLocal = Lift.defaultLiftLocal pack unpack
96105
97106instance Lift.LiftCatch (StateT tag s) where
98− liftCatch = Lift.defaultLiftCatch NT.pack NT.unpack
107+ liftCatch = Lift.defaultLiftCatch pack unpack
99108
100109instance Lift.LiftListen (StateT tag s) where
101− liftListen = Lift.defaultLiftListen NT.pack NT.unpack
110+ liftListen = Lift.defaultLiftListen pack unpack
102111
103112instance Lift.LiftPass (StateT tag s) where
104− liftPass = Lift.defaultLiftPass NT.pack NT.unpack
113+ liftPass = Lift.defaultLiftPass pack unpack
105114
106115instance Lift.LiftCallCC (StateT tag s) where
107− liftCallCC = Lift.defaultLiftCallCC NT.pack NT.unpack
108− liftCallCC' = Lift.defaultLiftCallCC' NT.pack NT.unpack
116+ liftCallCC = Lift.defaultLiftCallCC pack unpack
117+ liftCallCC' = Lift.defaultLiftCallCC' pack unpack
109118
110119instance Taggable (StateT tag s m) where
111120 type Tag (StateT tag s m) = 'Just tag
@@ -113,6 +122,8 @@ instance Taggable (StateT tag s m) where
113122
114123instance Tagged (StateT tag s m) tag where
115124 type Untagged (StateT tag s m) = Trans.StateT s m
125+ tagged _ = pack
126+ untagged _ = unpack
116127
117128-- | Constructor for computations in the state monad transformer.
118129stateT :: proxy tag -> (s -> m (a, s)) -> StateT tag s m a
src/Control/Monad/Trans/Ether/State/Strict.hs+21−10
@@ -26,6 +26,9 @@ module Control.Monad.Trans.Ether.State.Strict
2626 -- * State operations
2727 , get
2828 , put
29+ -- * Newtype operations
30+ , pack
31+ , unpack
2932 ) where
3033
3134import Data.Functor.Identity (Identity(..))
@@ -37,7 +40,7 @@ import Control.Monad.IO.Class (MonadIO)
3740import Control.Monad.Morph (MFunctor)
3841import Control.Ether.Tagged (Taggable(..), Tagged(..))
3942import GHC.Generics (Generic)
40−import qualified Control.Newtype as NT
43+import Data.Coerce (coerce)
4144
4245import qualified Control.Monad.Base as MB
4346import qualified Control.Monad.Trans.Control as MC
@@ -74,15 +77,21 @@ newtype StateT tag s m a = StateT (Trans.StateT s m a)
7477 , Functor, Applicative, Alternative, Monad, MonadPlus
7578 , MonadFix, MonadTrans, MonadIO, MFunctor )
7679
77−instance NT.Newtype (StateT tag s m a)
80+-- | Type-restricted `coerce`.
81+pack :: Trans.StateT s m a -> StateT tag s m a
82+pack = coerce
83+
84+-- | Type-restricted `coerce`.
85+unpack :: StateT tag s m a -> Trans.StateT s m a
86+unpack = coerce
7887
7988instance MB.MonadBase b m => MB.MonadBase b (StateT tag s m) where
8089 liftBase = MB.liftBaseDefault
8190
8291instance MC.MonadTransControl (StateT tag s) where
8392 type StT (StateT tag s) a = MC.StT (Trans.StateT s) a
84− liftWith = MC.defaultLiftWith NT.pack NT.unpack
85− restoreT = MC.defaultRestoreT NT.pack
93+ liftWith = MC.defaultLiftWith pack unpack
94+ restoreT = MC.defaultRestoreT pack
8695
8796instance MC.MonadBaseControl b m => MC.MonadBaseControl b (StateT tag s m) where
8897 type StM (StateT tag s m) a = MC.ComposeSt (StateT tag s) m a
@@ -92,20 +101,20 @@ instance MC.MonadBaseControl b m => MC.MonadBaseControl b (StateT tag s m) where
92101type instance Lift.StT (StateT tag s) a = MC.StT (StateT tag s) a
93102
94103instance Lift.LiftLocal (StateT tag s) where
95− liftLocal = Lift.defaultLiftLocal NT.pack NT.unpack
104+ liftLocal = Lift.defaultLiftLocal pack unpack
96105
97106instance Lift.LiftCatch (StateT tag s) where
98− liftCatch = Lift.defaultLiftCatch NT.pack NT.unpack
107+ liftCatch = Lift.defaultLiftCatch pack unpack
99108
100109instance Lift.LiftListen (StateT tag s) where
101− liftListen = Lift.defaultLiftListen NT.pack NT.unpack
110+ liftListen = Lift.defaultLiftListen pack unpack
102111
103112instance Lift.LiftPass (StateT tag s) where
104− liftPass = Lift.defaultLiftPass NT.pack NT.unpack
113+ liftPass = Lift.defaultLiftPass pack unpack
105114
106115instance Lift.LiftCallCC (StateT tag s) where
107− liftCallCC = Lift.defaultLiftCallCC NT.pack NT.unpack
108− liftCallCC' = Lift.defaultLiftCallCC' NT.pack NT.unpack
116+ liftCallCC = Lift.defaultLiftCallCC pack unpack
117+ liftCallCC' = Lift.defaultLiftCallCC' pack unpack
109118
110119instance Taggable (StateT tag s m) where
111120 type Tag (StateT tag s m) = 'Just tag
@@ -113,6 +122,8 @@ instance Taggable (StateT tag s m) where
113122
114123instance Tagged (StateT tag s m) tag where
115124 type Untagged (StateT tag s m) = Trans.StateT s m
125+ tagged _ = pack
126+ untagged _ = unpack
116127
117128-- | Constructor for computations in the state monad transformer.
118129stateT :: proxy tag -> (s -> m (a, s)) -> StateT tag s m a
src/Control/Monad/Trans/Ether/Writer.hs+21−10
@@ -26,6 +26,9 @@ module Control.Monad.Trans.Ether.Writer
2626 , tell
2727 , listen
2828 , pass
29+ -- * Newtype operations
30+ , pack
31+ , unpack
2932 ) where
3033
3134#if __GLASGOW_HASKELL__ < 710
@@ -41,7 +44,7 @@ import Control.Monad.IO.Class (MonadIO)
4144import Control.Monad.Morph (MFunctor, MMonad)
4245import Control.Ether.Tagged (Taggable(..), Tagged(..))
4346import GHC.Generics (Generic)
44−import qualified Control.Newtype as NT
47+import Data.Coerce (coerce)
4548
4649import qualified Control.Monad.Base as MB
4750import qualified Control.Monad.Trans.Control as MC
@@ -77,15 +80,21 @@ newtype WriterT tag w m a = WriterT (Trans.WriterT w m a)
7780 , Functor, Applicative, Alternative, Monad, MonadPlus
7881 , MonadFix, MonadTrans, MonadIO, MFunctor, MMonad )
7982
80−instance NT.Newtype (WriterT tag w m a)
83+-- | Type-restricted `coerce`.
84+pack :: Trans.WriterT w m a -> WriterT tag w m a
85+pack = coerce
86+
87+-- | Type-restricted `coerce`.
88+unpack :: WriterT tag w m a -> Trans.WriterT w m a
89+unpack = coerce
8190
8291instance (Monoid w, MB.MonadBase b m) => MB.MonadBase b (WriterT tag w m) where
8392 liftBase = MB.liftBaseDefault
8493
8594instance Monoid w => MC.MonadTransControl (WriterT tag w) where
8695 type StT (WriterT tag w) a = MC.StT (Trans.WriterT w) a
87− liftWith = MC.defaultLiftWith NT.pack NT.unpack
88− restoreT = MC.defaultRestoreT NT.pack
96+ liftWith = MC.defaultLiftWith pack unpack
97+ restoreT = MC.defaultRestoreT pack
8998
9099instance (Monoid w, MC.MonadBaseControl b m) => MC.MonadBaseControl b (WriterT tag w m) where
91100 type StM (WriterT tag w m) a = MC.ComposeSt (WriterT tag w) m a
@@ -95,20 +104,20 @@ instance (Monoid w, MC.MonadBaseControl b m) => MC.MonadBaseControl b (WriterT t
95104type instance Lift.StT (WriterT tag w) a = MC.StT (WriterT tag w) a
96105
97106instance Monoid w => Lift.LiftLocal (WriterT tag w) where
98− liftLocal = Lift.defaultLiftLocal NT.pack NT.unpack
107+ liftLocal = Lift.defaultLiftLocal pack unpack
99108
100109instance Monoid w => Lift.LiftCatch (WriterT tag w) where
101− liftCatch = Lift.defaultLiftCatch NT.pack NT.unpack
110+ liftCatch = Lift.defaultLiftCatch pack unpack
102111
103112instance Monoid w => Lift.LiftListen (WriterT tag w) where
104− liftListen = Lift.defaultLiftListen NT.pack NT.unpack
113+ liftListen = Lift.defaultLiftListen pack unpack
105114
106115instance Monoid w' => Lift.LiftPass (WriterT tag w') where
107− liftPass = Lift.defaultLiftPass NT.pack NT.unpack
116+ liftPass = Lift.defaultLiftPass pack unpack
108117
109118instance Monoid w => Lift.LiftCallCC (WriterT tag w) where
110− liftCallCC = Lift.defaultLiftCallCC NT.pack NT.unpack
111− liftCallCC' = Lift.defaultLiftCallCC NT.pack NT.unpack
119+ liftCallCC = Lift.defaultLiftCallCC pack unpack
120+ liftCallCC' = Lift.defaultLiftCallCC pack unpack
112121
113122instance Taggable (WriterT tag w m) where
114123 type Tag (WriterT tag w m) = 'Just tag
@@ -116,6 +125,8 @@ instance Taggable (WriterT tag w m) where
116125
117126instance Tagged (WriterT tag w m) tag where
118127 type Untagged (WriterT tag w m) = Trans.WriterT w m
128+ tagged _ = pack
129+ untagged _ = unpack
119130
120131-- | Constructor for computations in the writer monad transformer.
121132writerT :: proxy tag -> m (a, w) -> WriterT tag w m a
stack-ghc-7.8.4.yamlnew file+34
@@ -0,0 +1,34 @@
1+flags:
2+ text:
3+ integer-simple: false
4+ QuickCheck:
5+ base4point8: false
6+packages:
7+- '.'
8+extra-deps:
9+- QuickCheck-2.8.1
10+- ansi-terminal-0.6.2.3
11+- ansi-wl-pprint-0.6.7.3
12+- async-2.0.2
13+- clock-0.5.1
14+- mmorph-1.0.4
15+- monad-control-1.0.0.4
16+- mtl-2.2.1
17+- optparse-applicative-0.12.0.0
18+- parsec-3.1.9
19+- primitive-0.6.1.0
20+- random-1.1
21+- regex-base-0.93.2
22+- regex-tdfa-rc-1.1.8.3
23+- stm-2.4.4
24+- tagged-0.8.1
25+- tasty-0.11.0.1
26+- tasty-quickcheck-0.8.4
27+- text-1.2.1.3
28+- tf-random-0.5
29+- transformers-0.4.3.0
30+- transformers-base-0.4.4
31+- transformers-compat-0.4.0.4
32+- transformers-lift-0.1.0.0
33+- unbounded-delays-0.1.0.9
34+resolver: ghc-7.8.4