packages feed

glazier-pipes 0.1.4.0 → 0.1.5.0

raw patch · 3 files changed

+4/−83 lines, 3 filesdep −lensdep −mtldep −pipes-concurrencydep ~glazierPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: lens, mtl, pipes-concurrency, pipes-misc

Dependency ranges changed: glazier

API changes (from Hackage documentation)

- Glazier.Pipes.Lazy: gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => Gadget s m a c -> Pipe a c (t m) r
- Glazier.Pipes.Lazy: gadgetToProducer :: (MonadState s (t STM), MonadTrans t) => Input a -> Gadget s STM a c -> Producer' c (t STM) ()
- Glazier.Pipes.Strict: gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => Gadget s m a c -> Pipe a c (t m) r
- Glazier.Pipes.Strict: gadgetToProducer :: (MonadState s (t STM), MonadTrans t) => Input a -> Gadget s STM a c -> Producer' c (t STM) ()

Files

glazier-pipes.cabal view
@@ -1,6 +1,6 @@ name:                glazier-pipes-version:             0.1.4.0-synopsis:            Converts Glazier widgets into a Pipe.+version:             0.1.5.0+synopsis:            A threaded rendering framework using glaizer and pipes description:         Please see README.md homepage:            https://github.com/louispan/glazier-pipes#readme license:             BSD3@@ -16,17 +16,11 @@  library   hs-source-dirs:      src-  exposed-modules:     Glazier.Pipes.Lazy-                       Glazier.Pipes.Strict-                       Glazier.Pipes.Ui+  exposed-modules:     Glazier.Pipes.Ui   build-depends:       base >= 4.7 && < 5-                     , glazier >= 0.7 && < 1-                     , lens >= 4 && < 5+                     , glazier >= 0.8 && < 1                      , mmorph >= 1 && < 2-                     , mtl >= 2 && < 3                      , pipes >= 4 && < 5-                     , pipes-concurrency >= 2 && < 3-                     , pipes-misc >= 0.2.3 && < 1                      , stm >= 2.4 && < 3                      , stm-extras > 0.1 &&  < 1                      , transformers >= 0.4 && < 0.6
− src/Glazier/Pipes/Lazy.hs
@@ -1,35 +0,0 @@-{-# LANGUAGE RankNTypes #-}--module Glazier.Pipes.Lazy where--import Control.Concurrent-import Control.Concurrent.STM-import Control.Concurrent.STM.TMVar.Extras as STE-import Control.Lens-import Control.Monad.Morph-import Control.Monad.State.Lazy-import Control.Monad.Trans.Maybe-import qualified Glazier.Gadget.Lazy as G-import qualified Pipes as P-import qualified Pipes.Concurrent as PC-import qualified Pipes.Lift as PL-import qualified Pipes.Misc.Concurrent as PM-import qualified Pipes.Misc.State.Lazy as PM---- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe'-gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r-gadgetToPipe g = forever $ do-    a <- P.await-    s <- get-    -- This is the only line that is different between the Strict and Lazy version-    ~(c, s') <- lift . lift $ view G._Gadget g a s-    put s'-    P.yield c-{-# INLINABLE gadgetToPipe #-}---- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret.-gadgetToProducer ::-  (MonadState s (t STM), MonadTrans t) =>-  PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) ()-gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g-{-# INLINABLE gadgetToProducer #-}
− src/Glazier/Pipes/Strict.hs
@@ -1,38 +0,0 @@-{-# LANGUAGE RankNTypes #-}--module Glazier.Pipes.Strict where--import Control.Concurrent-import Control.Concurrent.STM-import Control.Concurrent.STM.TMVar.Extras as STE-import Control.Lens-import Control.Monad.Morph-import Control.Monad.State.Strict-import Control.Monad.Trans.Maybe-import qualified Glazier.Gadget.Strict as G-import qualified Pipes as P-import qualified Pipes.Concurrent as PC-import qualified Pipes.Lift as PL-import qualified Pipes.Misc.Concurrent as PM-import qualified Pipes.Misc.State.Strict as PM-import qualified Pipes.Prelude as PP-import qualified Pipes.Internal as PI----- | Converts a 'Glazier.Gadget' into a 'Pipes.Pipe'-gadgetToPipe :: (Monad m, MonadTrans t, MonadState s (t m)) => G.Gadget s m a c -> P.Pipe a c (t m) r-gadgetToPipe g = forever $ do-    a <- P.await-    s <- get-    -- This is the only line that is different between the Strict and Lazy version-    (c, s') <- lift . lift $ view G._Gadget g a s-    put s'-    P.yield c-{-# INLINABLE gadgetToPipe #-}---- | Convert a 'Pipes.Concurrent.Input' and a 'Glazier.Gadget' into a stateful 'Pipes.Producer' of commands to interpret.-gadgetToProducer ::-  (MonadState s (t STM), MonadTrans t) =>-  PC.Input a -> G.Gadget s STM a c -> P.Producer' c (t STM) ()-gadgetToProducer input g = hoist lift (PM.fromInputSTM input) P.>-> gadgetToPipe g-{-# INLINABLE gadgetToProducer #-}