reactive-banana-automation 0.5.2 → 0.5.3
raw patch · 3 files changed
+15/−10 lines, 3 filesdep ~basePVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base
API changes (from Hackage documentation)
Files
- CHANGELOG +8/−0
- Reactive/Banana/Automation.hs +5/−8
- reactive-banana-automation.cabal +2/−2
CHANGELOG view
@@ -1,3 +1,11 @@+reactive-banana-automation (0.5.3) upstream; urgency=medium++ * Prepare for monad of no return, by removing redundant return+ implementation for Automation.+ * Remove compatability for ghc older than 8.0.++ -- Joey Hess <id@joeyh.name> Wed, 26 Feb 2020 11:31:40 -0400+ reactive-banana-automation (0.5.2) upstream; urgency=medium * Support stm-2.5.
Reactive/Banana/Automation.hs view
@@ -63,7 +63,6 @@ import Reactive.Banana import Reactive.Banana.Frameworks-import Data.Semigroup as Sem import Control.Monad.Fix import Control.Monad.Trans.Reader import Control.Monad.Trans.Class@@ -104,24 +103,22 @@ newtype Automation sensors actuators a = Automation { unAutomation :: ReaderT (sensors, actuators -> IO ()) MomentIO a } -instance Sem.Semigroup (Automation sensors actuators ()) where+instance Semigroup (Automation sensors actuators ()) where Automation a <> Automation b = Automation (a >> b) instance Monoid (Automation sensors actuators ()) where mempty = Automation (return ())- mappend = (Sem.<>) instance Functor (Automation sensors actuators) where fmap f = Automation . fmap f . unAutomation -instance Monad (Automation sensors actuators) where- return = Automation . return- m >>= g = Automation $ unAutomation m >>= unAutomation . g- instance Applicative (Automation sensors actuators) where pure = Automation . pure f <*> a = Automation $ unAutomation f <*> unAutomation a +instance Monad (Automation sensors actuators) where+ m >>= g = Automation $ unAutomation m >>= unAutomation . g+ instance MonadFix (Automation sensors actuators) where mfix f = Automation $ mfix (unAutomation . f) @@ -433,7 +430,7 @@ -- | Combining two ranges yields a range between their respective lowest -- and highest values.-instance Ord t => Sem.Semigroup (Range t) where+instance Ord t => Semigroup (Range t) where Range a1 b1 <> Range a2 b2 = let vals = [a1, b1, a2, b2] in Range (minimum vals) (maximum vals)
reactive-banana-automation.cabal view
@@ -1,5 +1,5 @@ Name: reactive-banana-automation-Version: 0.5.2+Version: 0.5.3 Cabal-Version: >= 1.8 License: AGPL-3 Maintainer: Joey Hess <id@joeyh.name>@@ -29,7 +29,7 @@ Library ghc-Options: -Wall -fno-warn-tabs Build-Depends:- base (>= 4.6 && < 5.0),+ base (>= 4.9 && < 5.0), reactive-banana (>= 1.1 && < 1.3), time (>= 1.6 && < 1.9), stm (>= 2.4 && < 2.6),