packages feed

reactive-banana 0.7.0.1 → 0.7.1.0

raw patch · 7 files changed

+27/−18 lines, 7 filesdep −QuickCheckdep ~containersdep ~hashabledep ~transformersPVP ok

version bump matches the API change (PVP)

Dependencies removed: QuickCheck

Dependency ranges changed: containers, hashable, transformers, unordered-containers, vault

API changes (from Hackage documentation)

Files

reactive-banana.cabal view
@@ -1,10 +1,10 @@ Name:                reactive-banana-Version:             0.7.0.1+Version:             0.7.1.0 Synopsis:            Practical library for functional reactive programming (FRP). Description:              Reactive-banana is a practical library for Functional Reactive Programming (FRP).     .-    FRP offers an elegant and concise way to express interactive programs such as graphical user interfaces, animations, computer music or robot controllers. Thus, the reactive-banana library promises to avoid the spagethetti code commonly used in traditional GUI technologies.+    FRP offers an elegant and concise way to express interactive programs such as graphical user interfaces, animations, computer music or robot controllers. Thus, the reactive-banana library promises to avoid the spaghetti code commonly used in traditional GUI technologies.     .     See the project homepage <http://haskell.org/haskellwiki/Reactive-banana>     for a more detailed introduction and features.@@ -59,8 +59,7 @@     extensions:         EmptyDataDecls,                         BangPatterns -    build-depends:      QuickCheck >= 1.2 && < 2.6,-                        unordered-containers >= 0.2.1.0 && < 0.3,+    build-depends:      unordered-containers >= 0.2.1.0 && < 0.3,                         hashable == 1.1.*  --      CPP-options:    -DUseExtensions@@ -93,6 +92,7 @@                         HUnit >= 1.2 && < 2,                         test-framework == 0.6.*,                         test-framework-hunit == 0.2.*,-                        reactive-banana+                        reactive-banana, vault, containers, transformers,+                        unordered-containers, hashable  
src/Reactive/Banana/Experimental/Calm.hs view
@@ -21,7 +21,6 @@     module Control.Applicative,     never, unionWith, filterE, accumE,     apply, stepper,-    -- $classes          -- * Derived Combinators     -- ** Filtering
src/Reactive/Banana/Frameworks.hs view
@@ -16,7 +16,9 @@     compile, Frameworks,     AddHandler, fromAddHandler, fromChanges, fromPoll,     reactimate, initial, changes,-    FrameworksMoment(..), execute, liftIONow, liftIOLater,+    FrameworksMoment(..), execute, liftIOLater, liftIONow,+    -- $liftIO+    module Control.Monad.IO.Class,          -- * Running event networks     EventNetwork, actuate, pause,@@ -31,6 +33,7 @@     ) where  import Control.Monad+import Control.Monad.IO.Class import Data.IORef  import Reactive.Banana.Combinators@@ -225,9 +228,16 @@     . Prim.mapE (fmap last . sequence . map (unM . unFM) )     . unE --- | Lift an 'IO' action into the 'Moment' monad.+-- $liftIO+-- +-- > liftIO :: Frameworks t => IO a -> Moment t a+--+-- Lift an 'IO' action into the 'Moment' monad.++{-# DEPRECATED liftIONow  "Use  liftIO  instead." #-}+-- | Deprecated. Use 'liftIO' instead. liftIONow :: Frameworks t => IO a -> Moment t a-liftIONow = M . Prim.liftIONow+liftIONow = liftIO  -- | Lift an 'IO' action into the 'Moment' monad, -- but defer its execution until compilation time.@@ -327,6 +337,6 @@ -- inside a 'reactimate'. newEvent :: Frameworks t => Moment t (Event t a, a -> IO ()) newEvent = do-    (addHandler, fire) <- liftIONow $ newAddHandler+    (addHandler, fire) <- liftIO $ newAddHandler     e <- fromAddHandler addHandler     return (e,fire)
src/Reactive/Banana/Internal/DependencyGraph.hs view
@@ -17,12 +17,12 @@ {-----------------------------------------------------------------------------     Dependency graph data type ------------------------------------------------------------------------------}--- depdendency graph+-- dependency graph data Deps a = Deps     { dChildren :: Map a [a] -- children depend on their parents     , dParents  :: Map a [a]     , dRoots    :: Set a-    } deriving (Eq,Show)+    } deriving (Show)  -- convenient queries children deps x = maybe [] id . Map.lookup x $ dChildren deps
src/Reactive/Banana/Internal/Phantom.hs view
@@ -10,8 +10,6 @@     Frameworks, FrameworksD,     ) where -import Reactive.Banana.Internal.Types2- -- | Class constraint on the type parameter @t@ of the 'Moment' monad. --  -- Indicates that we can add input and output to an event network.
src/Reactive/Banana/Internal/PulseLatch0.hs view
@@ -2,7 +2,7 @@     reactive-banana ------------------------------------------------------------------------------} {-# LANGUAGE Rank2Types, RecursiveDo, ExistentialQuantification,-    TypeSynonymInstances #-}+    TypeSynonymInstances, FlexibleInstances #-} module Reactive.Banana.Internal.PulseLatch0 where  import Control.Applicative@@ -24,14 +24,12 @@ import Data.Hashable import Data.Unique.Really import qualified Data.Vault as Vault-import qualified Data.HashMap.Lazy as Map  import Data.Functor.Identity import System.IO.Unsafe  import Debug.Trace -type Map  = Map.HashMap type Deps = Deps.Deps  debug   s m = m
src/Reactive/Banana/Internal/Types2.hs view
@@ -8,10 +8,11 @@  import Control.Applicative import Control.Monad+import Control.Monad.IO.Class import Control.Monad.Fix  import qualified Reactive.Banana.Internal.EventBehavior1 as Prim-+import Reactive.Banana.Internal.Phantom  {-| @Event t a@ represents a stream of events as they occur in time. Semantically, you can think of @Event t a@ as an infinite list of values@@ -57,3 +58,6 @@  instance MonadFix (Moment t) where   mfix f  = M $ mfix (unM . f) instance Functor  (Moment t) where   fmap f  = M . fmap f . unM++instance Frameworks t => MonadIO (Moment t) where+    liftIO = M . Prim.liftIONow