frpnow 0.17 → 0.18
raw patch · 4 files changed
+8/−1 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Control.FRPNow.BehaviorEnd: behavior :: BehaviorEnd x a -> Behavior x
- Control.FRPNow.BehaviorEnd: end :: BehaviorEnd x a -> Event a
- Control.FRPNow.BehaviorEnd: instance (Applicative b, Applicative e) => Applicative (b :. e)
- Control.FRPNow.BehaviorEnd: instance (Functor a, Functor b) => Functor (a :. b)
- Control.FRPNow.BehaviorEnd: instance (Monad b, Plan b) => Swap b (BehaviorEnd x)
- Control.FRPNow.BehaviorEnd: instance (Swap b e, Sample b) => Sample (b :. e)
- Control.FRPNow.BehaviorEnd: instance Applicative (BehaviorEnd x)
- Control.FRPNow.BehaviorEnd: instance Functor (BehaviorEnd x)
- Control.FRPNow.BehaviorEnd: instance Monad (BehaviorEnd x)
- Control.FRPNow.BehaviorEnd: instance Plan b => Swap b Event
- Control.FRPNow.BehaviorEnd: instance Swap f g => Monad (f :. g)
- Control.FRPNow.BehaviorEnd: open :: (:.) f g x -> f (g x)
- Control.FRPNow.Core: instance Applicative Behavior
- Control.FRPNow.Core: instance Applicative Event
- Control.FRPNow.Core: instance Applicative Now
- Control.FRPNow.Core: instance Exception FRPWaitsForNeverException
- Control.FRPNow.Core: instance Functor Behavior
- Control.FRPNow.Core: instance Functor Event
- Control.FRPNow.Core: instance Functor Now
- Control.FRPNow.Core: instance Monad Behavior
- Control.FRPNow.Core: instance Monad Event
- Control.FRPNow.Core: instance Monad Now
- Control.FRPNow.Core: instance MonadFix Behavior
- Control.FRPNow.Core: instance MonadFix Now
- Control.FRPNow.Core: instance MonadIO Now
- Control.FRPNow.Core: instance Show FRPWaitsForNeverException
- Control.FRPNow.Core: instance Typeable FRPWaitsForNeverException
- Control.FRPNow.EvStream: instance Functor EvStream
- Control.FRPNow.EvStream: instance Monoid (EvStream a)
- Control.FRPNow.Lib: instance Plan Behavior
- Control.FRPNow.Lib: instance Plan Now
- Control.FRPNow.Lib: instance Sample Behavior
- Control.FRPNow.Lib: instance Sample Now
- Control.FRPNow.Time: instance (Eq a, Floating a, Ord a) => VectorSpace (a, a) a
- Control.FRPNow.Time: instance (Eq a, Floating a, Ord a) => VectorSpace (a, a, a) a
- Control.FRPNow.Time: instance (Eq a, Floating a, Ord a) => VectorSpace (a, a, a, a) a
- Control.FRPNow.Time: instance (Eq a, Floating a, Ord a) => VectorSpace (a, a, a, a, a) a
- Control.FRPNow.Time: instance Eq t => Eq (TimeTag t a)
- Control.FRPNow.Time: instance VectorSpace Double Double
- Control.FRPNow.Time: instance VectorSpace Float Float
+ Control.FRPNow.BehaviorEnd: [behavior] :: BehaviorEnd x a -> Behavior x
+ Control.FRPNow.BehaviorEnd: [end] :: BehaviorEnd x a -> Event a
+ Control.FRPNow.BehaviorEnd: [open] :: (:.) f g x -> f (g x)
+ Control.FRPNow.BehaviorEnd: instance (Control.FRPNow.BehaviorEnd.Swap b e, Control.FRPNow.Lib.Sample b) => Control.FRPNow.Lib.Sample (b Control.FRPNow.BehaviorEnd.:. e)
+ Control.FRPNow.BehaviorEnd: instance (GHC.Base.Applicative b, GHC.Base.Applicative e) => GHC.Base.Applicative (b Control.FRPNow.BehaviorEnd.:. e)
+ Control.FRPNow.BehaviorEnd: instance (GHC.Base.Functor a, GHC.Base.Functor b) => GHC.Base.Functor (a Control.FRPNow.BehaviorEnd.:. b)
+ Control.FRPNow.BehaviorEnd: instance (GHC.Base.Monad b, Control.FRPNow.Lib.Plan b) => Control.FRPNow.BehaviorEnd.Swap b (Control.FRPNow.BehaviorEnd.BehaviorEnd x)
+ Control.FRPNow.BehaviorEnd: instance Control.FRPNow.BehaviorEnd.Swap f g => GHC.Base.Monad (f Control.FRPNow.BehaviorEnd.:. g)
+ Control.FRPNow.BehaviorEnd: instance Control.FRPNow.Lib.Plan b => Control.FRPNow.BehaviorEnd.Swap b Control.FRPNow.Core.Event
+ Control.FRPNow.BehaviorEnd: instance GHC.Base.Applicative (Control.FRPNow.BehaviorEnd.BehaviorEnd x)
+ Control.FRPNow.BehaviorEnd: instance GHC.Base.Functor (Control.FRPNow.BehaviorEnd.BehaviorEnd x)
+ Control.FRPNow.BehaviorEnd: instance GHC.Base.Monad (Control.FRPNow.BehaviorEnd.BehaviorEnd x)
+ Control.FRPNow.Core: instance Control.Monad.Fix.MonadFix Control.FRPNow.Core.Behavior
+ Control.FRPNow.Core: instance Control.Monad.Fix.MonadFix Control.FRPNow.Core.Now
+ Control.FRPNow.Core: instance Control.Monad.IO.Class.MonadIO Control.FRPNow.Core.Now
+ Control.FRPNow.Core: instance GHC.Base.Applicative Control.FRPNow.Core.Behavior
+ Control.FRPNow.Core: instance GHC.Base.Applicative Control.FRPNow.Core.Event
+ Control.FRPNow.Core: instance GHC.Base.Applicative Control.FRPNow.Core.Now
+ Control.FRPNow.Core: instance GHC.Base.Functor Control.FRPNow.Core.Behavior
+ Control.FRPNow.Core: instance GHC.Base.Functor Control.FRPNow.Core.Event
+ Control.FRPNow.Core: instance GHC.Base.Functor Control.FRPNow.Core.Now
+ Control.FRPNow.Core: instance GHC.Base.Monad Control.FRPNow.Core.Behavior
+ Control.FRPNow.Core: instance GHC.Base.Monad Control.FRPNow.Core.Event
+ Control.FRPNow.Core: instance GHC.Base.Monad Control.FRPNow.Core.Now
+ Control.FRPNow.Core: instance GHC.Exception.Exception Control.FRPNow.Core.FRPWaitsForNeverException
+ Control.FRPNow.Core: instance GHC.Show.Show Control.FRPNow.Core.FRPWaitsForNeverException
+ Control.FRPNow.EvStream: collapseSimul :: EvStream a -> EvStream [a]
+ Control.FRPNow.EvStream: instance GHC.Base.Functor Control.FRPNow.EvStream.EvStream
+ Control.FRPNow.EvStream: instance GHC.Base.Monoid (Control.FRPNow.EvStream.EvStream a)
+ Control.FRPNow.Lib: instance Control.FRPNow.Lib.Plan Control.FRPNow.Core.Behavior
+ Control.FRPNow.Lib: instance Control.FRPNow.Lib.Plan Control.FRPNow.Core.Now
+ Control.FRPNow.Lib: instance Control.FRPNow.Lib.Sample Control.FRPNow.Core.Behavior
+ Control.FRPNow.Lib: instance Control.FRPNow.Lib.Sample Control.FRPNow.Core.Now
+ Control.FRPNow.Time: instance (GHC.Classes.Eq a, GHC.Float.Floating a, GHC.Classes.Ord a) => Control.FRPNow.Time.VectorSpace (a, a) a
+ Control.FRPNow.Time: instance (GHC.Classes.Eq a, GHC.Float.Floating a, GHC.Classes.Ord a) => Control.FRPNow.Time.VectorSpace (a, a, a) a
+ Control.FRPNow.Time: instance (GHC.Classes.Eq a, GHC.Float.Floating a, GHC.Classes.Ord a) => Control.FRPNow.Time.VectorSpace (a, a, a, a) a
+ Control.FRPNow.Time: instance (GHC.Classes.Eq a, GHC.Float.Floating a, GHC.Classes.Ord a) => Control.FRPNow.Time.VectorSpace (a, a, a, a, a) a
+ Control.FRPNow.Time: instance Control.FRPNow.Time.VectorSpace GHC.Types.Double GHC.Types.Double
+ Control.FRPNow.Time: instance Control.FRPNow.Time.VectorSpace GHC.Types.Float GHC.Types.Float
+ Control.FRPNow.Time: instance GHC.Classes.Eq t => GHC.Classes.Eq (Control.FRPNow.Time.TimeTag t a)
- Control.FRPNow.Time: integrate :: VectorSpace v time => Behavior time -> Behavior v -> Behavior (Behavior v)
+ Control.FRPNow.Time: integrate :: (VectorSpace v time) => Behavior time -> Behavior v -> Behavior (Behavior v)
Files
- ChangeLog +1/−0
- Control/FRPNow/Core.hs +1/−0
- Control/FRPNow/EvStream.hs +5/−0
- frpnow.cabal +1/−1
ChangeLog view
@@ -1,3 +1,4 @@+0.17 Added EvStream.collapseSimul 0.17 Added EvStream.joinEs 0.16 Added EvStream.delay 0.15 Fixes a Prelude.undefined error
Control/FRPNow/Core.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE DeriveDataTypeable, LambdaCase,RecursiveDo, FlexibleContexts, ExistentialQuantification, Rank2Types,GeneralizedNewtypeDeriving #-} ----------------------------------------------------------------------------- -- |+ -- Module : Control.FRPNow.Core -- Copyright : (c) Atze van der Ploeg 2015 -- License : BSD-style
Control/FRPNow/EvStream.hs view
@@ -19,6 +19,7 @@ -- * Construction emptyEs, merge,+collapseSimul, dropEv, toChanges, edges,@@ -93,6 +94,10 @@ nxt (Simul l r) = l ++ r nxt (LeftEarlier l) = l nxt (RightEarlier r) = r++-- | Collapses each set simultanious events into a single event carrying the list of occurances.+collapseSimul :: EvStream a -> EvStream [a]+collapseSimul (S s) = S $ ((\x -> [x]) <$>) <$> s -- | Obtain the next element of the event stream. The obtained event is guaranteed to lie in the future. next :: EvStream a -> Behavior (Event a)
frpnow.cabal view
@@ -1,5 +1,5 @@ Name: frpnow-Version: 0.17+Version: 0.18 Synopsis: Principled practical FRP Description: FRP with first-class behaviors and interalized IO, without space leaks License: BSD3