reflex 0.7.1.0 → 0.7.1.1
raw patch · 17 files changed
+50/−32 lines, 17 filesdep ~basedep ~dependent-mapdep ~dependent-sum
Dependency ranges changed: base, dependent-map, dependent-sum, haskell-src-exts, hlint, prim-uniq, profunctors, template-haskell, these, witherable
Files
- ChangeLog.md +7/−0
- README.md +1/−1
- reflex.cabal +16/−13
- src/Reflex/Adjustable/Class.hs +2/−1
- src/Reflex/Class.hs +2/−1
- src/Reflex/EventWriter/Base.hs +2/−1
- src/Reflex/PerformEvent/Class.hs +0/−1
- src/Reflex/PostBuild/Base.hs +0/−1
- src/Reflex/PostBuild/Class.hs +0/−1
- src/Reflex/Profiled.hs +3/−2
- src/Reflex/Pure.hs +2/−1
- src/Reflex/Query/Base.hs +5/−3
- src/Reflex/Requester/Base.hs +2/−1
- src/Reflex/Spider/Internal.hs +4/−3
- test/GC.hs +1/−0
- test/Reflex/Test/CrossImpl.hs +1/−1
- test/hlint.hs +2/−1
ChangeLog.md view
@@ -1,5 +1,12 @@ # Revision history for reflex +## 0.7.1.1++* Add support for GHC 8.10+* Drop support for GHC < 8.4+* Extend some dependency version bounds+* Fix HLint 3 test+ ## 0.7.1.0 * ([#413](https://github.com/reflex-frp/reflex/pull/413), [#417](https://github.com/reflex-frp/reflex/pull/417)) Add `Reflex.Host.Headless` module which provides `runHeadlessApp` as an easy way to run a Reflex network in a "headless" environment.
README.md view
@@ -1,6 +1,6 @@ ## [Reflex](https://reflex-frp.org/) -[](http://hackage.haskell.org/package/reflex)+[](https://haskell.org) [](https://hackage.haskell.org/package/reflex) [](https://matrix.hackage.haskell.org/#/package/reflex) [](https://github.com/reflex-frp/reflex/blob/master/LICENSE) ### Practical Functional Reactive Programming
reflex.cabal view
@@ -1,5 +1,5 @@ Name: reflex-Version: 0.7.1.0+Version: 0.7.1.1 Synopsis: Higher-order Functional Reactive Programming Description: Reflex is a high-performance, deterministic, higher-order Functional Reactive Programming system License: BSD3@@ -18,8 +18,8 @@ ChangeLog.md tested-with:- GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1,- GHCJS ==8.4+ GHC ==8.4.4 || ==8.6.5 || ==8.8.1 || ==8.10.2,+ GHCJS ==8.6 flag use-reflex-optimizer description: Use the GHC plugin Reflex.Optimizer on some of the modules in the package. This is still experimental.@@ -61,21 +61,21 @@ hs-source-dirs: src build-depends: MemoTrie == 0.6.*,- base >= 4.9 && < 4.14,+ base >= 4.11 && < 4.15, bifunctors >= 5.2 && < 5.6, comonad >= 5.0.4 && < 5.1, constraints-extras >= 0.3 && < 0.4, containers >= 0.6 && < 0.7, data-default >= 0.5 && < 0.8,- dependent-map >= 0.3 && < 0.4,+ dependent-map >= 0.3 && < 0.5, exception-transformers == 0.4.*, lens >= 4.7 && < 5, monad-control >= 1.0.1 && < 1.1, mtl >= 2.1 && < 2.3, patch >= 0.0.1 && < 0.1,- prim-uniq >= 0.1.0.1 && < 0.2,+ prim-uniq >= 0.1.0.1 && < 0.3, primitive >= 0.5 && < 0.8,- profunctors >= 5.3 && < 5.6,+ profunctors >= 5.3 && < 5.7, random == 1.1.*, ref-tf == 0.4.*, reflection == 2.1.*,@@ -85,10 +85,10 @@ time >= 1.4 && < 1.10, transformers >= 0.5.6.0 && < 0.6, unbounded-delays >= 0.1.0.0 && < 0.2,- witherable >= 0.3 && < 0.3.2+ witherable >= 0.3 && < 0.4 if flag(split-these)- build-depends: these >= 1 && <1.1,+ build-depends: these >= 1 && <1.2, semialign >=1 && <1.2, monoidal-containers >= 0.6 && < 0.7 else@@ -170,10 +170,10 @@ if flag(use-template-haskell) cpp-options: -DUSE_TEMPLATE_HASKELL build-depends:- dependent-sum >= 0.6 && < 0.7,- haskell-src-exts >= 1.16 && < 1.23,+ dependent-sum >= 0.6 && < 0.8,+ haskell-src-exts >= 1.16 && < 1.24, haskell-src-meta >= 0.6 && < 0.9,- template-haskell >= 2.9 && < 2.16+ template-haskell >= 2.9 && < 2.17 exposed-modules: Reflex.Dynamic.TH other-extensions: TemplateHaskell@@ -244,7 +244,10 @@ , directory , filepath , filemanip- , hlint (< 2.1 || >= 2.2.2) && < 3+ if impl(ghc >= 8.8)+ build-depends: hlint >= 3+ else+ build-depends: hlint (< 2.1 || >= 2.2.2) && < 3 if impl(ghcjs) buildable: False
src/Reflex/Adjustable/Class.hs view
@@ -30,7 +30,8 @@ import Control.Monad.Identity import Control.Monad.Reader-import Data.Dependent.Map (DMap, GCompare (..))+import Data.Dependent.Map (DMap)+import Data.GADT.Compare (GCompare(..)) import qualified Data.Dependent.Map as DMap import Data.Functor.Constant import Data.Functor.Misc
src/Reflex/Class.hs view
@@ -196,7 +196,8 @@ import Data.Bifunctor import Data.Coerce import Data.Default-import Data.Dependent.Map (DMap, DSum (..))+import Data.Dependent.Map (DMap)+import Data.Dependent.Sum (DSum (..)) import qualified Data.Dependent.Map as DMap import Data.Functor.Compose import Data.Functor.Product
src/Reflex/EventWriter/Base.hs view
@@ -39,8 +39,9 @@ import Control.Monad.Reader import Control.Monad.Ref import Control.Monad.State.Strict-import Data.Dependent.Map (DMap, DSum (..))+import Data.Dependent.Map (DMap) import qualified Data.Dependent.Map as DMap+import Data.Dependent.Sum (DSum (..)) import Data.Functor.Compose import Data.Functor.Misc import Data.GADT.Compare (GCompare (..), GEq (..), GOrdering (..))
src/Reflex/PerformEvent/Class.hs view
@@ -8,7 +8,6 @@ {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} #ifdef USE_REFLEX_OPTIMIZER {-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}
src/Reflex/PostBuild/Base.hs view
@@ -9,7 +9,6 @@ {-# LANGUAGE RecursiveDo #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} #ifdef USE_REFLEX_OPTIMIZER {-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}
src/Reflex/PostBuild/Class.hs view
@@ -6,7 +6,6 @@ {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-}-{-# LANGUAGE TypeOperators #-} {-# LANGUAGE UndecidableInstances #-} #ifdef USE_REFLEX_OPTIMIZER {-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}
src/Reflex/Profiled.hs view
@@ -28,7 +28,8 @@ import Control.Monad.State.Strict (StateT, execStateT, modify) import Data.Bifunctor import Data.Coerce-import Data.Dependent.Map (DMap, GCompare)+import Data.Dependent.Map (DMap)+import Data.GADT.Compare (GCompare) import Data.FastMutableIntMap import Data.IORef import Data.List@@ -146,7 +147,7 @@ pushCheap f (Event_Profiled e) = coerce $ pushCheap (coerce f) $ profileEvent e pull = Behavior_Profiled . pull . coerce fanG (Event_Profiled e) = EventSelectorG $ coerce $ selectG (fanG $ profileEvent e)- mergeG :: forall (k :: z -> *) q v. GCompare k+ mergeG :: forall z (k :: z -> *) q v. GCompare k => (forall a. q a -> Event (ProfiledTimeline t) (v a)) -> DMap k q -> Event (ProfiledTimeline t) (DMap k v) mergeG nt = Event_Profiled #. mergeG (coerce nt)
src/Reflex/Pure.hs view
@@ -32,7 +32,8 @@ ) where import Control.Monad-import Data.Dependent.Map (DMap, GCompare)+import Data.Dependent.Map (DMap)+import Data.GADT.Compare (GCompare) import qualified Data.Dependent.Map as DMap import Data.IntMap (IntMap) import qualified Data.IntMap as IntMap
src/Reflex/Query/Base.hs view
@@ -27,11 +27,13 @@ import Control.Monad.Ref import Control.Monad.State.Strict import Data.Align-import Data.Dependent.Map (DMap, DSum (..))+import Data.Dependent.Map (DMap) import qualified Data.Dependent.Map as DMap+import Data.Dependent.Sum (DSum(..)) import Data.Foldable import Data.Functor.Compose import Data.Functor.Misc+import Data.GADT.Compare (GCompare) import Data.IntMap (IntMap) import qualified Data.IntMap as IntMap import Data.Map (Map)@@ -135,7 +137,7 @@ tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch return (liftedResult0, liftedResult') - traverseDMapWithKeyWithAdjust :: forall (k :: * -> *) v v'. (DMap.GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMap k v) -> QueryT t q m (DMap k v', Event t (PatchDMap k v'))+ traverseDMapWithKeyWithAdjust :: forall (k :: * -> *) v v'. (GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMap k v) -> QueryT t q m (DMap k v', Event t (PatchDMap k v')) traverseDMapWithKeyWithAdjust f dm0 dm' = do let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a) f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v@@ -180,7 +182,7 @@ tellQueryIncremental $ unsafeBuildIncremental (fold <$> mapM sampleBs liftedBs0) qpatch return (liftedResult0, liftedResult') - traverseDMapWithKeyWithAdjustWithMove :: forall (k :: * -> *) v v'. (DMap.GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMapWithMove k v) -> QueryT t q m (DMap k v', Event t (PatchDMapWithMove k v'))+ traverseDMapWithKeyWithAdjustWithMove :: forall (k :: * -> *) v v'. (GCompare k) => (forall a. k a -> v a -> QueryT t q m (v' a)) -> DMap k v -> Event t (PatchDMapWithMove k v) -> QueryT t q m (DMap k v', Event t (PatchDMapWithMove k v')) traverseDMapWithKeyWithAdjustWithMove f dm0 dm' = do let f' :: forall a. k a -> v a -> EventWriterT t q (ReaderT (Dynamic t (QueryResult q)) m) (Compose (QueryTLoweredResult t q) v' a) f' k v = fmap (Compose . QueryTLoweredResult) $ flip runStateT [] $ unQueryT $ f k v
src/Reflex/Requester/Base.hs view
@@ -55,8 +55,9 @@ import Control.Monad.State.Strict import Data.Bits import Data.Coerce-import Data.Dependent.Map (DMap, DSum (..))+import Data.Dependent.Map (DMap) import qualified Data.Dependent.Map as DMap+import Data.Dependent.Sum (DSum (..)) import Data.Functor.Compose import Data.Functor.Misc import Data.IntMap.Strict (IntMap)
src/Reflex/Spider/Internal.hs view
@@ -9,7 +9,6 @@ {-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-}-{-# LANGUAGE MultiWayIf #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE RoleAnnotations #-} {-# LANGUAGE ScopedTypeVariables #-}@@ -20,6 +19,7 @@ {-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE InstanceSigs #-}+{-# LANGUAGE MultiWayIf #-} #ifdef USE_REFLEX_OPTIMIZER {-# OPTIONS_GHC -fplugin=Reflex.Optimizer #-}@@ -46,8 +46,9 @@ import qualified Control.Monad.Fail as MonadFail import Data.Align import Data.Coerce-import Data.Dependent.Map (DMap, DSum (..))+import Data.Dependent.Map (DMap) import qualified Data.Dependent.Map as DMap+import Data.Dependent.Sum (DSum (..)) import Data.FastMutableIntMap (FastMutableIntMap, PatchIntMap (..)) import qualified Data.FastMutableIntMap as FastMutableIntMap import Data.Foldable hiding (concat, elem, sequence_)@@ -2739,7 +2740,7 @@ fanG e = R.EventSelectorG $ SpiderEvent . selectG (fanG (unSpiderEvent e)) {-# INLINABLE mergeG #-} mergeG- :: forall (k :: k2 -> *) q (v :: k2 -> *). GCompare k+ :: forall k2 (k :: k2 -> *) q (v :: k2 -> *). GCompare k => (forall a. q a -> R.Event (SpiderTimeline x) (v a)) -> DMap k q -> R.Event (SpiderTimeline x) (DMap k v)
test/GC.hs view
@@ -18,6 +18,7 @@ import Data.IORef import Data.Semigroup import Data.These+import Data.Type.Equality ((:~:)(Refl)) import Data.Functor.Misc import Data.Patch
test/Reflex/Test/CrossImpl.hs view
@@ -26,7 +26,7 @@ import Control.Arrow (second, (&&&)) import Control.Monad.Identity hiding (forM, forM_, mapM, mapM_, sequence, sequence_) import Control.Monad.State.Strict hiding (forM, forM_, mapM, mapM_, sequence, sequence_)-import Data.Dependent.Map (DSum (..))+import Data.Dependent.Sum (DSum (..)) import Data.Foldable import Data.Map.Strict (Map) import qualified Data.Map.Strict as Map
test/hlint.hs view
@@ -1,7 +1,7 @@ module Main where import Control.Monad-import Language.Haskell.HLint3 (hlint)+import Language.Haskell.HLint (hlint) import System.Directory import System.Exit (exitFailure, exitSuccess) import System.FilePath@@ -22,6 +22,7 @@ , "--ignore=Use unless" , "--ignore=Reduce duplication" , "--cpp-define=USE_TEMPLATE_HASKELL"+ , "--cpp-define=DEBUG" , "--ignore=Use tuple-section" ] recurseInto = and <$> sequence