packages feed

keera-hails-reactivevalues 0.2.2.2 → 0.5.0

raw patch · 6 files changed

+168/−131 lines, 6 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.ReactiveValue: ReactiveFieldRead :: (FieldGetter m a) -> (FieldNotifier m a) -> ReactiveFieldRead m a
+ Data.ReactiveValue: ReactiveFieldRead :: FieldGetter m a -> FieldNotifier m a -> ReactiveFieldRead m a
- Data.ReactiveValue: ReactiveFieldReadWrite :: (FieldSetter m a) -> (FieldGetter m a) -> (FieldNotifier m a) -> ReactiveFieldReadWrite m a
+ Data.ReactiveValue: ReactiveFieldReadWrite :: FieldSetter m a -> FieldGetter m a -> FieldNotifier m a -> ReactiveFieldReadWrite m a
- Data.ReactiveValue: ReactiveFieldWrite :: (FieldSetter m a) -> ReactiveFieldWrite m a
+ Data.ReactiveValue: ReactiveFieldWrite :: FieldSetter m a -> ReactiveFieldWrite m a
- Data.ReactiveValue: class Monad m => ReactiveValueRead a b m | a -> b, a -> m where reactiveValueOnCanRead _ _ = return ()
+ Data.ReactiveValue: class Monad m => ReactiveValueRead a b m | a -> b, a -> m
- Data.ReactiveValue: direct :: BijectiveFunc a b -> (a -> b)
+ Data.ReactiveValue: direct :: BijectiveFunc a b -> a -> b
- Data.ReactiveValue: inverse :: BijectiveFunc a b -> (b -> a)
+ Data.ReactiveValue: inverse :: BijectiveFunc a b -> b -> a

Files

LICENSE view
@@ -1,4 +1,5 @@-Copyright (c)2012, Ivan Perez+Copyright (c) 2013-2020, Keera Studios Ltd+Copyright (c) 2010-2012, Ivan Perez  All rights reserved. @@ -13,9 +14,9 @@       disclaimer in the documentation and/or other materials provided       with the distribution. -    * Neither the name of Ivan Perez nor the names of other-      contributors may be used to endorse or promote products derived-      from this software without specific prior written permission.+    * Neither the name of Ivan Perez, nor the name of Keera Studios, nor the+      names of other 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
keera-hails-reactivevalues.cabal view
@@ -1,139 +1,164 @@--- hails.cabal auto-generated by cabal init. For additional options,--- see--- http://www.haskell.org/cabal/release/cabal-latest/doc/users-guide/authors.html#pkg-descr.--- The name of the package.-Name:                keera-hails-reactivevalues---- The package version. See the Haskell package versioning policy--- (http://www.haskell.org/haskellwiki/Package_versioning_policy) for--- standards guiding when and how versions should be incremented.-Version:             0.2.2.2---- A short (one-line) description of the package.-Synopsis:            Haskell on Rails - Reactive Values+-- Copyright   : (C) Keera Studios Ltd, 2013+-- License     : All Rights Reserved+-- Maintainer  : support@keera.co.uk+--+cabal-version: >= 1.10+build-type:    Simple --- A longer description of the package.-Description:-  This package contains a general definition of Reactive Values and several useful combinators. A reactive value is a /typed mutable value with access properties and change propagation/. Access property can be read-only, read-write or read-write.+name:          keera-hails-reactivevalues+version:       0.5.0+author:        Ivan Perez+maintainer:    support@keera.co.uk+homepage:      http://www.keera.co.uk/blog/community/+license:       BSD3+license-file:  LICENSE+category:      Development+synopsis:      Haskell on Rails - Reactive Values+description:+  This package contains a general definition of Reactive Values and several+  useful combinators. A reactive value is a /typed mutable value with access+  properties and change propagation/. Access property can be read-only,+  read-write or read-write.   .-  How an RV is actually implemented, and when and how change propagation is executed is dependent on each RV. For instance, Gtk widget properties would normally use the standard event-handler installers to implement change propagation, whereas pure Haskell values might fork a thread (or not) and propagate changes asynchronously.+  How an RV is actually implemented, and when and how change propagation is+  executed is dependent on each RV. For instance, Gtk widget properties would+  normally use the standard event-handler installers to implement change+  propagation, whereas pure Haskell values might fork a thread (or not) and+  propagate changes asynchronously.   .-  RVs can be created from pure models (see <https://github.com/keera-studios/keera-hails/tree/master/keera-hails-mvc-model-lightmodel keera-hails-mvc-model-lightmodel> and  <https://github.com/keera-studios/keera-hails/tree/master/keera-hails-mvc-model-protectedmodel keera-hails-mvc-model-protectedmodel>), Gtk+\/WX\/Qt\/HTML DOM\/Android widget properties\/event handlers\/getters\/setters, files, sockets, FRP networks. Other backends are also available. See <https://github.com/keera-studios/keera-hails keera-hails> for a list of available backends, tutorials, etc.+  RVs can be created from pure models (see+  <https://github.com/keera-studios/keera-hails/tree/master/keera-hails-mvc-model-lightmodel+  keera-hails-mvc-model-lightmodel> and+  <https://github.com/keera-studios/keera-hails/tree/master/keera-hails-mvc-model-protectedmodel+  keera-hails-mvc-model-protectedmodel>), Gtk+\/WX\/Qt\/HTML DOM\/Android widget+  properties\/event handlers\/getters\/setters, files, sockets, FRP networks.+  Other backends are also available. See+  <https://github.com/keera-studios/keera-hails keera-hails> for a list of+  available backends, tutorials, etc. --- URL for the project homepage or repository.-Homepage:            http://www.keera.es/blog/community/+tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2 --- The license under which the package is released.-License:             BSD3+source-repository head+ type: git+ location: git://github.com/keera-studios/keera-hails+ subdir: keera-hails-reactivevalues --- The file containing the license text.-License-file:        LICENSE+-- You can disable the hlint test suite with -f-test-hlint+flag test-hlint+  default:     True+  manual:      True --- The package author(s).-Author:              Ivan Perez+-- You can disable the haddock coverage test suite with -f-test-doc-coverage+flag test-doc-coverage+  default:     True+  manual:      True --- An email address to which users can send suggestions, bug reports,--- and patches.-Maintainer:          ivan.perez@keera.es+flag test-unit-tests+  default:     True+  manual:      True --- A copyright notice.--- Copyright: -Tested-with:         GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.2+library -Category:            Development+  exposed-modules:+    Control.GFunctor+    Data.ReactiveValue -Build-type:          Simple+  build-depends:+      base >= 4 && < 5+    , contravariant --- Extra files to be distributed with the package, such as examples or--- a README.--- Extra-source-files:+  default-language:+    Haskell2010 --- Constraint on the version of Cabal needed to build this package.-Cabal-version:       >=1.8+  hs-source-dirs:+    src/ --- You can disable the hlint test suite with -f-test-hlint-flag test-hlint-  default: True-  manual: True+  ghc-options:+    -Wall -fno-warn-unused-do-bind -O2 --- You can disable the haddock coverage test suite with -f-test-doc-coverage-flag test-doc-coverage-  default: True-  manual: True --- You can disable the haddock coverage test suite with -f-test-unit-tests-flag test-unit-tests-  default: True-  manual: True--Library-  hs-source-dirs: src/+test-suite hlint -  ghc-options: -Wall -fno-warn-unused-do-bind -O2+  type:+    exitcode-stdio-1.0 -  -- Modules exported by the library.-  Exposed-modules: Data.ReactiveValue-                   Control.GFunctor+  main-is:+    HLintMain.hs -  -- Packages needed in order to build this package.-  Build-depends: base >= 4 && < 5, contravariant+  default-language:+    Haskell2010 --- Verify that the code follows reasonable coding standards-test-suite hlint-  type: exitcode-stdio-1.0-  main-is: hlint.hs-  ghc-options: -w -threaded -rtsopts -with-rtsopts=-N-  hs-source-dirs: tests+  hs-source-dirs:+    tests    if !flag(test-hlint)-    buildable: False+    buildable:+      False   else     build-depends:-      base >= 4 && < 5,-      hlint >= 1.7+        base+      , hlint                >= 1.7 --- Verify that the code is thoroughly documented+ test-suite haddock-coverage-  type: exitcode-stdio-1.0-  main-is: HaddockCoverage.hs-  ghc-options: -Wall-  hs-source-dirs: tests +  type:+    exitcode-stdio-1.0++  main-is:+    HaddockCoverage.hs++  default-language:+    Haskell2010++  hs-source-dirs:+    tests++  ghc-options:+    -Wall+   if !flag(test-doc-coverage)-    buildable: False+    buildable:+      False   else     build-depends:-      base >= 4 && < 5,-      directory,-      filepath,-      process,-      regex-posix+        base                 >= 4        && < 5+      , directory+      , filepath+      , process+      , regex-posix --- Verify that the code is thoroughly documented+    build-tool-depends: cabal-install:cabal++ test-suite unit-tests-  type: exitcode-stdio-1.0-  main-is: Tasty.hs-  ghc-options: -Wall-  hs-source-dirs: tests +  type:+    exitcode-stdio-1.0++  main-is:+    Tasty.hs++  default-language:+    Haskell2010++  hs-source-dirs:+    tests++  ghc-options:+    -Wall+   if !flag(test-unit-tests)-    buildable: False+    buildable:+      False   else     build-depends:-      base >= 4 && < 5,-      -- This library and testing deps-      mtl,-      keera-hails-reactivevalues,--      -- Testing libraries-      tasty,-      tasty-quickcheck,-      tasty-hunit,-      QuickCheck,-      HUnit--source-repository head-    type: git-    location: git://github.com/keera-studios/keera-hails-    subdir: keera-hails-reactivevalues+        base >= 4 && < 5+      , HUnit+      , QuickCheck+      , keera-hails-reactivevalues+      , mtl+      , tasty+      , tasty-hunit+      , tasty-quickcheck
src/Control/GFunctor.hs view
@@ -1,6 +1,10 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE FlexibleInstances     #-} -- | Functors parameterised over the morphisms in the source category.+--+-- Copyright   : (C) Keera Studios Ltd, 2013+-- License     : BSD3+-- Maintainer  : support@keera.co.uk module Control.GFunctor where  infixl 8 <$$>
src/Data/ReactiveValue.hs view
@@ -1,5 +1,6 @@-{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FunctionalDependencies #-}-{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE FlexibleContexts       #-}+{-# LANGUAGE FlexibleInstances      #-}+{-# LANGUAGE FunctionalDependencies #-} -- | Reactive Values (RVs) are typed mutable variables with a change -- notification mechanism. --@@ -19,6 +20,12 @@ -- to existing backends (GUIs, devices, files, network, FRP), see -- https://github.com/keera-studios/keera-hails --+-- A more detailed description of reactive values can be found at:+-- http://dl.acm.org/citation.cfm?id=2804316+--+-- Copyright   : (C) Keera Studios Ltd, 2013+-- License     : BSD3+-- Maintainer  : support@keera.co.uk module Data.ReactiveValue   ( -- * Reactive Values 
+ tests/HLintMain.hs view
@@ -0,0 +1,23 @@+-----------------------------------------------------------------------------+-- |+-- Module      :  Main (hlint)+-- Copyright   :  (C) 2015 Ivan Perez, 2013-2014 Edward Kmett+-- License     :  BSD-style (see the file LICENSE)+-- Maintainer  :  Ivan Perez <ivan.perez@keera.co.uk>+-- Stability   :  provisional+-- Portability :  portable+--+-- This module runs HLint on the source tree.+-----------------------------------------------------------------------------+module Main where++import Control.Monad+import Language.Haskell.HLint+import System.Environment+import System.Exit++main :: IO ()+main = do+  args  <- getArgs+  hints <- hlint $ ["src"] ++ args+  unless (null hints) exitFailure
− tests/hlint.hs
@@ -1,23 +0,0 @@--------------------------------------------------------------------------------- |--- Module      :  Main (hlint)--- Copyright   :  (C) 2015 Ivan Perez, 2013-2014 Edward Kmett--- License     :  BSD-style (see the file LICENSE)--- Maintainer  :  Ivan Perez <ivan.perez@keera.co.uk>--- Stability   :  provisional--- Portability :  portable------ This module runs HLint on the source tree.-------------------------------------------------------------------------------module Main where--import Control.Monad-import Language.Haskell.HLint-import System.Environment-import System.Exit--main :: IO ()-main = do-  args  <- getArgs-  hints <- hlint $ ["src"] ++ args-  unless (null hints) exitFailure