packages feed

grapefruit-frp 0.1.0.5 → 0.1.0.6

raw patch · 10 files changed

+44/−30 lines, 10 filesdep ~basedep ~semigroupsPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base, semigroups

API changes (from Hackage documentation)

- FRP.Grapefruit.Setup: instance Monoid Setup
- FRP.Grapefruit.Signal: OSF :: signal era val -> SignalFun era (signal Of val)
- FRP.Grapefruit.Signal: SSF :: (signal era val -> SignalFun era shape) -> SignalFun era ((signal Of val) :-> shape)
- FRP.Grapefruit.Signal.Continuous: instance Applicative (CSignal era)
- FRP.Grapefruit.Signal.Continuous: instance Functor (CSignal era)
- FRP.Grapefruit.Signal.Continuous: instance Samplee CSignal
- FRP.Grapefruit.Signal.Continuous: instance Signal CSignal
- FRP.Grapefruit.Signal.Incremental: instance Incremental (Monolithic val)
- FRP.Grapefruit.Signal.Incremental: instance Semigroup (Diff (Monolithic val))
- FRP.Grapefruit.Signal.Incremental.Sequence: instance Incremental (Seq el)
- FRP.Grapefruit.Signal.Incremental.Sequence: instance Monoid (Diff (Seq el))
- FRP.Grapefruit.Signal.Incremental.Sequence: instance Semigroup (Diff (Seq el))
- FRP.Grapefruit.Signal.Incremental.Set: instance Ord el => Incremental (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: instance Ord el => Monoid (Diff (Set el))
- FRP.Grapefruit.Signal.Incremental.Set: instance Ord el => Semigroup (Diff (Set el))
+ FRP.Grapefruit.Setup: instance GHC.Base.Monoid FRP.Grapefruit.Setup.Setup
+ FRP.Grapefruit.Signal: [OSF] :: (Signal signal) => signal era val -> SignalFun era (signal `Of` val)
+ FRP.Grapefruit.Signal: [SSF] :: (Signal signal) => (signal era val -> SignalFun era shape) -> SignalFun era ((signal `Of` val) :-> shape)
+ FRP.Grapefruit.Signal: infixl 4 <#
+ FRP.Grapefruit.Signal.Continuous: instance GHC.Base.Applicative (FRP.Grapefruit.Signal.Continuous.CSignal era)
+ FRP.Grapefruit.Signal.Continuous: instance GHC.Base.Functor (FRP.Grapefruit.Signal.Continuous.CSignal era)
+ FRP.Grapefruit.Signal.Continuous: instance Internal.Signal.Samplee FRP.Grapefruit.Signal.Continuous.CSignal
+ FRP.Grapefruit.Signal.Continuous: instance Internal.Signal.Signal FRP.Grapefruit.Signal.Continuous.CSignal
+ FRP.Grapefruit.Signal.Incremental: data family Diff val :: *;
+ FRP.Grapefruit.Signal.Incremental: instance Data.Semigroup.Semigroup (FRP.Grapefruit.Signal.Incremental.Diff (FRP.Grapefruit.Signal.Incremental.Monolithic val))
+ FRP.Grapefruit.Signal.Incremental: instance FRP.Grapefruit.Signal.Incremental.Incremental (FRP.Grapefruit.Signal.Incremental.Monolithic val)
+ FRP.Grapefruit.Signal.Incremental: type family ValidationState val :: *;
+ FRP.Grapefruit.Signal.Incremental: }
+ FRP.Grapefruit.Signal.Incremental.Sequence: instance Data.Semigroup.Semigroup (FRP.Grapefruit.Signal.Incremental.Diff (Data.Sequence.Seq el))
+ FRP.Grapefruit.Signal.Incremental.Sequence: instance FRP.Grapefruit.Signal.Incremental.Incremental (Data.Sequence.Seq el)
+ FRP.Grapefruit.Signal.Incremental.Sequence: instance GHC.Base.Monoid (FRP.Grapefruit.Signal.Incremental.Diff (Data.Sequence.Seq el))
+ FRP.Grapefruit.Signal.Incremental.Set: instance GHC.Classes.Ord el => Data.Semigroup.Semigroup (FRP.Grapefruit.Signal.Incremental.Diff (Data.Set.Base.Set el))
+ FRP.Grapefruit.Signal.Incremental.Set: instance GHC.Classes.Ord el => FRP.Grapefruit.Signal.Incremental.Incremental (Data.Set.Base.Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: instance GHC.Classes.Ord el => GHC.Base.Monoid (FRP.Grapefruit.Signal.Incremental.Diff (Data.Set.Base.Set el))
- FRP.Grapefruit.Signal: sfApp :: SignalFun era ((signal Of val) :-> shape) -> signal era val -> SignalFun era shape
+ FRP.Grapefruit.Signal: sfApp :: SignalFun era ((signal `Of` val) :-> shape) -> signal era val -> SignalFun era shape
- FRP.Grapefruit.Signal: unOSF :: SignalFun era (signal Of val) -> signal era val
+ FRP.Grapefruit.Signal: unOSF :: SignalFun era (signal `Of` val) -> signal era val
- FRP.Grapefruit.Signal: unSSF :: SignalFun era ((signal Of val) :-> shape) -> (signal era val -> SignalFun era shape)
+ FRP.Grapefruit.Signal: unSSF :: SignalFun era ((signal `Of` val) :-> shape) -> (signal era val -> SignalFun era shape)
- FRP.Grapefruit.Signal.Incremental: class Semigroup (Diff val) => Incremental val where data family Diff val :: * type family ValidationState val :: *
+ FRP.Grapefruit.Signal.Incremental: class (Semigroup (Diff val)) => Incremental val where data Diff val :: * type ValidationState val :: * where {
- FRP.Grapefruit.Signal.Incremental: const :: Incremental val => val -> ISignal era val
+ FRP.Grapefruit.Signal.Incremental: const :: (Incremental val) => val -> ISignal era val
- FRP.Grapefruit.Signal.Incremental: construct :: Incremental val => val -> DSignal era (Diff val) -> ISignal era val
+ FRP.Grapefruit.Signal.Incremental: construct :: (Incremental val) => val -> DSignal era (Diff val) -> ISignal era val
- FRP.Grapefruit.Signal.Incremental: toSSignal :: Incremental val => ISignal era val -> SSignal era val
+ FRP.Grapefruit.Signal.Incremental: toSSignal :: (Incremental val) => ISignal era val -> SSignal era val
- FRP.Grapefruit.Signal.Incremental: withInit :: Signal signal => ISignal era val -> (val -> signal era val') -> signal era val'
+ FRP.Grapefruit.Signal.Incremental: withInit :: (Signal signal) => ISignal era val -> (val -> signal era val') -> signal era val'
- FRP.Grapefruit.Signal.Incremental.Set: deletion :: Ord el => Set el -> Diff (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: deletion :: (Ord el) => Set el -> Diff (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: difference :: Ord el => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: difference :: (Ord el) => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: empty :: Ord el => ISignal era (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: empty :: (Ord el) => ISignal era (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: insertion :: Ord el => Set el -> Diff (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: insertion :: (Ord el) => Set el -> Diff (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: intersection :: Ord el => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: intersection :: (Ord el) => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: member :: Ord el => SSignal era el -> ISignal era (Set el) -> SSignal era Bool
+ FRP.Grapefruit.Signal.Incremental.Set: member :: (Ord el) => SSignal era el -> ISignal era (Set el) -> SSignal era Bool
- FRP.Grapefruit.Signal.Incremental.Set: notMember :: Ord el => SSignal era el -> ISignal era (Set el) -> SSignal era Bool
+ FRP.Grapefruit.Signal.Incremental.Set: notMember :: (Ord el) => SSignal era el -> ISignal era (Set el) -> SSignal era Bool
- FRP.Grapefruit.Signal.Incremental.Set: null :: Ord el => ISignal era (Set el) -> SSignal era Bool
+ FRP.Grapefruit.Signal.Incremental.Set: null :: (Ord el) => ISignal era (Set el) -> SSignal era Bool
- FRP.Grapefruit.Signal.Incremental.Set: singleton :: Ord el => SSignal era el -> ISignal era (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: singleton :: (Ord el) => SSignal era el -> ISignal era (Set el)
- FRP.Grapefruit.Signal.Incremental.Set: size :: Ord el => ISignal era (Set el) -> SSignal era Int
+ FRP.Grapefruit.Signal.Incremental.Set: size :: (Ord el) => ISignal era (Set el) -> SSignal era Int
- FRP.Grapefruit.Signal.Incremental.Set: staticMember :: Ord el => el -> ISignal era (Set el) -> SSignal era Bool
+ FRP.Grapefruit.Signal.Incremental.Set: staticMember :: (Ord el) => el -> ISignal era (Set el) -> SSignal era Bool
- FRP.Grapefruit.Signal.Incremental.Set: staticNotMember :: Ord el => el -> ISignal era (Set el) -> SSignal era Bool
+ FRP.Grapefruit.Signal.Incremental.Set: staticNotMember :: (Ord el) => el -> ISignal era (Set el) -> SSignal era Bool
- FRP.Grapefruit.Signal.Incremental.Set: toAscSeqs :: Ord el => ISignal era (Set el) -> ISignal era (Seq el)
+ FRP.Grapefruit.Signal.Incremental.Set: toAscSeqs :: (Ord el) => ISignal era (Set el) -> ISignal era (Seq el)
- FRP.Grapefruit.Signal.Incremental.Set: toSeqs :: Ord el => ISignal era (Set el) -> ISignal era (Seq el)
+ FRP.Grapefruit.Signal.Incremental.Set: toSeqs :: (Ord el) => ISignal era (Set el) -> ISignal era (Seq el)
- FRP.Grapefruit.Signal.Incremental.Set: union :: Ord el => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
+ FRP.Grapefruit.Signal.Incremental.Set: union :: (Ord el) => ISignal era (Set el) -> ISignal era (Set el) -> ISignal era (Set el)
- FRP.Grapefruit.Signal.Segmented: withInit :: Signal signal => SSignal era val -> (val -> signal era val') -> signal era val'
+ FRP.Grapefruit.Signal.Segmented: withInit :: (Signal signal) => SSignal era val -> (val -> signal era val') -> signal era val'

Files

LICENSE view
@@ -2,27 +2,30 @@ Copyright © 2011–2014 Wolfgang Jeltsch All rights reserved. -Redistribution and use in source and binary forms, with or without modification,-are permitted provided that the following conditions are met:+Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are+met: -    • Redistributions of source code must retain the above copyright notice,-      this list of conditions and the following disclaimer.+    • Redistributions of source code must retain the above copyright+      notice, this list of conditions and the following disclaimer. -    • Redistributions in binary form must reproduce the above copyright notice,-      this list of conditions and the following disclaimer in the documentation-      and/or other materials provided with the distribution.+    • Redistributions in binary form must reproduce the above copyright+      notice, this list of conditions and the following disclaimer in+      the documentation and/or other materials provided with the+      distribution.      • Neither the name of the copyright holders nor the names of the-      contributors may be used to endorse or promote products derived from this-      software without specific prior written permission.+      contributors may be used to endorse or promote products derived+      from this software without specific prior written permission. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR-TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS+IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED+TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A+PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED+TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING+NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
grapefruit-frp.cabal view
@@ -1,5 +1,5 @@ Name:          grapefruit-frp-Version:       0.1.0.5+Version:       0.1.0.6 Cabal-Version: >= 1.8 Build-Type:    Simple License:       BSD3@@ -7,10 +7,10 @@ Copyright:     © 2007–2009 Brandenburgische Technische Universität Cottbus                © 2011–2014 Wolfgang Jeltsch Author:        Wolfgang Jeltsch-Maintainer:    wolfgang@cs.ioc.ee+Maintainer:    wolfgang-it@jeltsch.info Stability:     provisional-Homepage:      http://grapefruit-project.org/-Package-URL:   http://hackage.haskell.org/packages/archive/grapefruit-frp/0.1.0.5/grapefruit-frp-0.1.0.5.tar.gz+Homepage:      https://grapefruit-project.org/+Package-URL:   https://hackage.haskell.org/package/grapefruit-frp-0.1.0.6/grapefruit-frp-0.1.0.6.tar.gz Synopsis:      Functional Reactive Programming core Description:   Grapefruit is a library for Functional Reactive Programming (FRP)                with a focus on user interfaces. FRP makes it possible to@@ -21,19 +21,23 @@                This package contains general support for Functional Reactive                Programming. Category:      FRP, Reactivity-Tested-With:   GHC == 7.6.3+Tested-With:   GHC == 8.0.1 +Source-Repository head+    Type:     darcs+    Location: http://hub.darcs.net/jeltsch/grapefruit+ Source-Repository this     Type:     darcs-    Location: http://darcs.grapefruit-project.org/monolithic/0.1-    Tag:      grapefruit-0.1.0.5+    Location: http://hub.darcs.net/jeltsch/grapefruit+    Tag:      grapefruit-0.1.0.6  Library     Build-Depends:   arrows      >= 0.2 && < 0.5,                      base        >= 3.0 && < 5,                      containers  >= 0.1 && < 0.6,                      fingertree  >= 0.0 && < 0.2,-                     semigroups  >= 0.8 && < 0.16,+                     semigroups  >= 0.8 && < 0.19,                      TypeCompose >= 0.3 && < 0.10     if impl(ghc >= 7.8) {         -- Role annotations are only supported (and needed) from 7.8 onwards.
src/FRP/Grapefruit/Circuit.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} -- |This module provides circuits which are descriptions of reactive systems. module FRP.Grapefruit.Circuit ( 
src/FRP/Grapefruit/Signal/Incremental/Sequence.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} module FRP.Grapefruit.Signal.Incremental.Sequence (      -- * Diffs@@ -41,7 +42,7 @@     -- Data     import           Data.Semigroup as Semigroup     import           Data.Monoid    as Monoid-    import           Data.Foldable  as Foldable+    import           Data.Foldable  as Foldable  (foldl, toList, sum)     import           Data.Sequence  as Seq       (Seq)     import qualified Data.Sequence  as Seq 
src/FRP/Grapefruit/Signal/Incremental/Set.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} module FRP.Grapefruit.Signal.Incremental.Set (      -- * Diffs@@ -74,7 +75,7 @@     import           FRP.Grapefruit.Signal.Segmented            as SSignal     import           FRP.Grapefruit.Signal.Incremental          as ISignal    hiding (combine, map)     import qualified FRP.Grapefruit.Signal.Incremental          as ISignal-    import qualified FRP.Grapefruit.Signal.Incremental.Sequence as SeqISignal+    import qualified FRP.Grapefruit.Signal.Incremental.Sequence as SeqISignal hiding (Diff)      {-FIXME:         There are several occurences of set union, difference and intersection which involve a set
src/Internal/Signal.hs view
@@ -249,7 +249,7 @@     -}     (#>) :: (Sampler sampler, Samplee samplee) =>             sampler era dummy -> samplee era val -> sampler era val-    (#>) = (<#>) . samplerMap (const id)+    (#>) = (<#>) . samplerMap (const (\ val -> val))      {-|         Sampling of signals where the values of the samplee are ignored.
src/Internal/Signal/Continuous/Segment.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} {-# OPTIONS_GHC -fno-cse #-} module Internal.Signal.Continuous.Segment ( 
src/Internal/Signal/Discrete.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} module Internal.Signal.Discrete (      -- * Discrete signal type
src/Internal/Signal/Discrete/ListenerSet.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} module Internal.Signal.Discrete.ListenerSet (      ListenerSet,
src/Internal/Signal/Discrete/Vista.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE NoImpredicativeTypes #-} module Internal.Signal.Discrete.Vista (      Vista,