ChannelT 0.0.0.3 → 0.0.0.4
raw patch · 2 files changed
+8/−3 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
ChannelT.cabal view
@@ -1,5 +1,5 @@ name: ChannelT-version: 0.0.0.3+version: 0.0.0.4 synopsis: Generalized stream processors description: A mutual generalization of <https://hackage.haskell.org/package/pipes pipes> and <https://hackage.haskell.org/package/machines machines>; a library for exploring a particular corner of the design space of streaming IO (and other related tasks) in Haskell. license: BSD3@@ -21,7 +21,7 @@ hs-source-dirs: src exposed-modules: Control.Monad.Channel.Internal , Control.Monad.Channel- -- other-modules: + -- other-modules: build-depends: base >= 4.8.2.0 && < 5 , mtl >= 2.2.1 && < 2.3 , free >= 4.12.4 && < 4.13
src/Control/Monad/Channel/Internal.hs view
@@ -17,7 +17,7 @@ deriving instance Generic (FreeT f m a) newtype ChannelT sel m a = ChannelT { unChannelT :: FreeT (ChannelF sel) m a }- deriving (Functor, Applicative, Monad, MFunctor, MonadTrans, MonadFree (ChannelF sel), Generic1, Generic)+ deriving (Functor, Applicative, Monad, MonadTrans, MonadFree (ChannelF sel), Generic1, Generic) deriving instance MonadBase b m => MonadBase b (ChannelT sel m) data ChannelF (sel :: * -> * -> *) (x :: *) =@@ -33,5 +33,10 @@ instance Monad m => MonadChannel sel (ChannelT sel m) where syncOn s o = ChannelT . FreeT . return . Free . SyncChannel s o $ FreeT . return . Pure++-- NB: Don't use GeneralizedNewtypeDeriving to create this instance, as it will+-- trigger GHC Trac #11837 on GHC 8.0.1 and older.+instance MFunctor (ChannelT sel) where+ hoist f = ChannelT . hoist f . unChannelT type Channel sel = ChannelT sel Identity