elerea 2.7.0.2 → 2.8.0
raw patch · 5 files changed
+33/−3 lines, 5 filesdep +transformersdep +transformers-basePVP ok
version bump matches the API change (PVP)
Dependencies added: transformers, transformers-base
API changes (from Hackage documentation)
+ FRP.Elerea.Clocked: instance MonadBase SignalGen SignalGen
+ FRP.Elerea.Clocked: instance MonadIO SignalGen
+ FRP.Elerea.Param: instance MonadBase (SignalGen p) (SignalGen p)
+ FRP.Elerea.Param: instance MonadIO (SignalGen p)
+ FRP.Elerea.Simple: instance MonadBase SignalGen SignalGen
+ FRP.Elerea.Simple: instance MonadIO SignalGen
Files
- CHANGES +3/−0
- FRP/Elerea/Clocked.hs +9/−0
- FRP/Elerea/Param.hs +9/−0
- FRP/Elerea/Simple.hs +9/−0
- elerea.cabal +3/−3
CHANGES view
@@ -1,3 +1,6 @@+2.8.0 - 140122+* added MonadIO and MonadBase instances for SignalGen (Mitsutoshi Aoe)+ 2.7.0.2 - 120401 * added some inlining annotations (courtesy of Takano Akio)
FRP/Elerea/Clocked.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-} {-| @@ -98,7 +99,9 @@ import Control.Applicative import Control.Concurrent.MVar import Control.Monad+import Control.Monad.Base import Control.Monad.Fix+import Control.Monad.IO.Class import Data.IORef import Data.Maybe import Prelude hiding (until)@@ -176,6 +179,12 @@ instance MonadFix SignalGen where mfix f = SG $ \p1 p2 -> mfix $ \x -> unSG (f x) p1 p2++instance MonadIO SignalGen where+ liftIO = execute++instance MonadBase SignalGen SignalGen where+ liftBase = id getUpdate :: Update -> IO (Maybe (Update, UpdateAction)) getUpdate upd@(USig ptr) = (fmap.fmap) ((,) upd) (deRefWeak ptr)
FRP/Elerea/Param.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-} {-| @@ -47,7 +48,9 @@ import Control.Applicative import Control.Concurrent.MVar import Control.Monad+import Control.Monad.Base import Control.Monad.Fix+import Control.Monad.IO.Class import Data.IORef import Data.Maybe import Prelude hiding (until)@@ -117,6 +120,12 @@ instance MonadFix (SignalGen p) where mfix f = SG $ \p i -> mfix $ \x -> unSG (f x) p i++instance MonadIO (SignalGen p) where+ liftIO = execute++instance MonadBase (SignalGen p) (SignalGen p) where+ liftBase = id -- | Embedding a signal into an 'IO' environment. Repeated calls to -- the computation returned cause the whole network to be updated, and
FRP/Elerea/Simple.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE MultiParamTypeClasses #-} {-| @@ -43,7 +44,9 @@ import Control.Applicative import Control.Concurrent.MVar import Control.Monad+import Control.Monad.Base import Control.Monad.Fix+import Control.Monad.IO.Class import Data.IORef import Data.Maybe import Prelude hiding (until)@@ -111,6 +114,12 @@ instance MonadFix SignalGen where mfix f = SG $ \p -> mfix $ \x -> unSG (f x) p++instance MonadIO SignalGen where+ liftIO = execute++instance MonadBase SignalGen SignalGen where+ liftBase = id -- | Embedding a signal into an 'IO' environment. Repeated calls to -- the computation returned cause the whole network to be updated, and
elerea.cabal view
@@ -1,5 +1,5 @@ Name: elerea-Version: 2.7.0.2+Version: 2.8.0 Cabal-Version: >= 1.2 Synopsis: A minimalistic FRP library Category: reactivity, FRP@@ -37,7 +37,7 @@ paper /Efficient and Compositional Higher-Order Streams/ (<http://sgate.emt.bme.hu/documents/patai/publications/PataiWFLP2010.pdf>). .- Additional contributions: Takano Akio+ Additional contributions: Takano Akio, Mitsutoshi Aoe Author: Patai Gergely Maintainer: Patai Gergely (patai.gergely@gmail.com)@@ -57,5 +57,5 @@ FRP.Elerea.Param FRP.Elerea.Clocked - Build-Depends: base >= 4 && < 5, containers+ Build-Depends: base >= 4 && < 5, containers, transformers, transformers-base ghc-options: -Wall -O2