reactive 0.11 → 0.11.2
raw patch · 4 files changed
+17/−28 lines, 4 filesdep ~QuickCheckdep ~basedep ~checkers
Dependency ranges changed: QuickCheck, base, checkers
Files
- TODO +0/−19
- reactive.cabal +15/−6
- src/FRP/Reactive/Fun.hs +0/−1
- src/FRP/Reactive/PrimReactive.hs +2/−2
− TODO
@@ -1,19 +0,0 @@-For next release:--+ Move all of the legacy-adapter stuff to a new LegacyAdapter directory.- Use David's boingeeFieldTrip adapter as a basis. Separate out all of- the GLUT stuff.--+ Much-simplified interfaces. FRP.Reactive has just behaviors and events.- FRP.Reactive.LegacyAdapter for building legacy adapters.--+ Something for accessing representations but not exposed in FRP.Reactive.--------Beyond:--+ Revisit choice of time as double. Consider nanoseconds or microseconds- instead, for regularity of time-stepping.--+ Semantics-based fusion rules. Inquire about fusion vs sharing.
reactive.cabal view
@@ -1,20 +1,29 @@ Name: reactive-Version: 0.11+Version: 0.11.2 Synopsis: Push-pull functional reactive programming Category: reactivity, FRP Description: /Reactive/ is a simple foundation for programming reactive systems functionally. Like Fran\/FRP, it has a notions of (reactive) behaviors and events. Unlike most previous FRP implementations, Reactive has a hybrid- demand/data-driven implementation, as described in the paper \"Simply- efficient functional reactivity\", <http://conal.net/papers/simply-reactive/>.+ demand/data-driven implementation, as described in the paper \"Push-pull+ functional reactive programming\", <http://conal.net/papers/push-pull-frp/>. .+ This version of Reactive has some serious bugs that show up particularly+ with some uses of the Event monad. Some problems have been due to bugs+ in the GHC run-time support for concurrency. I do not know whether the+ remaining problems in Reactive are still more subtle RTS issues, or+ some subtle laziness bugs in Reactive. Help probing the remaining+ difficulties is most welcome.+ . Import "FRP.Reactive" for FRP client apps. To make a Reactive adapter for an imperative library, import "FRP.Reactive.LegacyAdapters". . Please see the project wiki page: <http://haskell.org/haskellwiki/reactive> . © 2007-2008 by Conal Elliott; GNU AGPLv3 license (see COPYING).+ I am not thrilled with GPL.+ If you would like different terms, please talk to me. . With contributions from: Robin Green, Thomas Davie, Luke Palmer, David Sankel, Jules Bean, Creighton Hogg, Chuan-kai Lin, and Richard@@ -26,7 +35,7 @@ Package-Url: http://code.haskell.org/reactive Bug-Reports: http://trac.haskell.org/reactive -Copyright: (c) 2007-2008 by Conal Elliott+Copyright: (c) 2007-2009 by Conal Elliott Cabal-Version: >= 1.2 License: OtherLicense License-File: COPYING@@ -34,9 +43,9 @@ Build-Type: Simple Extra-Source-Files: Library- Build-Depends: base, old-time, random, QuickCheck >= 2,+ Build-Depends: base >=4 && <5, old-time, random, QuickCheck >= 2.1.0.2, TypeCompose>=0.6.3, vector-space>=0.5,- unamb>=0.1.5, checkers >= 0.2,+ unamb>=0.1.5, checkers >= 0.2.3, category-extras >= 0.53.5, Stream >= 0.3.1 -- This library uses the ImpredicativeTypes flag, and it depends -- on vector-space, which needs ghc >= 6.9
src/FRP/Reactive/Fun.hs view
@@ -41,7 +41,6 @@ import Test.QuickCheck import Test.QuickCheck.Checkers import Test.QuickCheck.Classes-import Test.QuickCheck.Applicative () import FRP.Reactive.Internal.Fun
src/FRP/Reactive/PrimReactive.hs view
@@ -706,7 +706,7 @@ Comonadic stuff --------------------------------------------------------------------} -instance Monoid t => Copointed (EventG t) where+instance Copointed (EventG t) where -- E a -> F (R a) -> R a -> a extract = extract . extract . eFuture @@ -733,7 +733,7 @@ -- TODO: I think we can bypass mempty and so eliminate the Ord -- constraint. If so, remove Ord tr from 'time' in Behavior. -instance Monoid t => Copointed (ReactiveG t) where+instance Copointed (ReactiveG t) where -- extract = extract . rat -- Semantically: extract == extract . rat == (`rat` mempty) But mempty -- is the earliest time (since I'm using the Max monoid *), so here's a