packages feed

event 0.1.0.2 → 0.1.1

raw patch · 3 files changed

+13/−2 lines, 3 files

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## 0.1.1++- Monoid and Semigroup instance for Trigger.+ ## 0.1.0.2  - Made `Detach` visible.
event.cabal view
@@ -1,5 +1,5 @@ name:                event-version:             0.1.0.2+version:             0.1.1 synopsis:            Monoidal, monadic and first-class events description:         This package can be used to represent events as                      first-class objects instead of deepening callbacks and
src/Control/Concurrent/Event.hs view
@@ -54,7 +54,7 @@   , on   , newEvent     -- * Triggering events-  , Trigger+  , Trigger(..)   , trigger   ) where @@ -114,6 +114,13 @@  -- |@'Trigger' a@ is used to 'trigger' an @'Event' a@. newtype Trigger a = Trigger (a -> IO ())++instance Monoid (Trigger a) where+  mempty = Trigger . const $ pure ()+  mappend = (<>)+  +instance Semigroup (Trigger a) where+  Trigger f <> Trigger g = Trigger $ \a -> f a >> g a  -- |Use a 'Trigger'. trigger :: (MonadIO m) => Trigger a -> a -> m ()