Skip to content

Commit a2b284d

Browse files
authored
Merge branch 'develop' into quickref-runwithreplace
2 parents dcb4c29 + 5bbfe7d commit a2b284d

File tree

7 files changed

+58
-64
lines changed

7 files changed

+58
-64
lines changed

ChangeLog.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,13 @@
55
* Data.WeakBag.traverse and Data.FastWeakBag.traverse have been
66
renamed to Data.WeakBag.traverse_ and Data.FastWeakBag.traverse_
77
respectively.
8+
89
* Fixes a bug in `Reflex.Patch.MapWithMove.patchThatSortsMapWith` that was producing invalid `PatchMapWithMove`.
910

11+
* Add missing `NotReady` instances:
12+
- `instance NotReady (SpiderTimeline x) (SpiderHost x)`
13+
- `instance HasSpiderTimeline x => NotReady (SpiderTimeline x) (PerformEventT (SpiderTimeline x) (SpiderHost x))`
14+
1015
## 0.6.2.4
1116

1217
* Update to monoidal-containers 0.6
@@ -18,7 +23,9 @@
1823
## 0.6.2.2
1924

2025
* Support these >= 1. Add `split-these` flag to control whether to use new these/semialign combination or not.
26+
2127
* Update version bounds to fix some CI failures
28+
2229
* Add travis CI configuration
2330

2431
## 0.6.2.1
@@ -44,21 +51,31 @@
4451

4552
* Fix `holdDyn` so that it is lazy in its event argument
4653
These produce `DMap`s whose values needn't be `Identity`.
54+
4755
* Stop using the now-deprecated `*Tag` classes (e.g., `ShowTag`).
56+
4857
* Fix `holdDyn` so that it is lazy in its event argument.
4958

5059
## 0.6.1.0
5160

5261
* Re-export all of `Data.Map.Monoidal`
62+
5363
* Fix `QueryT` and `RequesterT` tests
5464

5565
## 0.6.0.0 -- 2019-03-20
5666

5767
* Deprecate `FunctorMaybe` in favor of `Data.Witherable.Filterable`. We still export `fmapMaybe`, `ffilter`, etc., but they all rely on `Filterable` now.
68+
5869
* Rename `MonadDynamicWriter` to `DynamicWriter` and add a deprecation for the old name.
70+
5971
* Remove many deprecated functions.
72+
6073
* Add a `Num` instance for `Dynamic`.
74+
6175
* Add `matchRequestsWithResponses` to make it easier to use `Requester` with protocols that don't do this matching for you.
76+
6277
* Add `withRequesterT` to map functions over the request and response of a `RequesterT`.
78+
6379
* Suppress nil patches in `QueryT` as an optimization. The `Query` type must now have an `Eq` instance.
80+
6481
* Add `throttleBatchWithLag` to `Reflex.Time`. See that module for details.

default.nix

Lines changed: 0 additions & 49 deletions
This file was deleted.

dep/reflex-platform/github.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"owner": "reflex-frp",
33
"repo": "reflex-platform",
4-
"branch": "jailbreakTheselens",
5-
"rev": "4284ed527c96c373538dc7e31776d9a50ca6aa91",
6-
"sha256": "1m1nkxq7ng9wnqbd77xn8d81f2iz8g61y5m0r3gp0gi0q59jm8ay"
4+
"branch": "develop",
5+
"rev": "e7b76dd552a10916c7d8702c11292dac4f4299ea",
6+
"sha256": "0s1183arrwldcs50qhzgnv94v24n9bgq6dfq64wp0a3q2nzyvgwh"
77
}

release.nix

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,36 @@ let
1717
] ++ lib.optionals (reflex-platform.iosSupport) [
1818
"ghcIosAarch64"
1919
];
20-
hsPkgs = lib.genAttrs compilers (ghc: let
21-
ghc' = reflex-platform.${ghc}.override {
22-
overrides = self: super: {
23-
reflex-dontUseTemplateHaskell = self.callPackage ./. { useTemplateHaskell = false; };
24-
reflex = self.callPackage ./. { useTemplateHaskell = true; };
20+
variations = map (v: "reflex" + v) [
21+
"-dontUseTemplateHaskell"
22+
""
23+
];
24+
compilerPkgs = lib.genAttrs compilers (ghc: let
25+
variationPkgs = lib.genAttrs variations (variation: let
26+
reflex-platform = reflex-platform-fun {
27+
inherit system;
28+
__useTemplateHaskell = variation == "reflex"; # TODO hack
29+
haskellOverlays = [
30+
# Use this package's source for reflex
31+
(self: super: {
32+
_dep = super._dep // {
33+
reflex = builtins.filterSource (path: type: !(builtins.elem (baseNameOf path) [
34+
"release.nix"
35+
".git"
36+
"dist"
37+
])) ./.;
38+
};
39+
})
40+
];
2541
};
26-
};
27-
in {
28-
inherit (ghc') reflex reflex-dontUseTemplateHaskell;
42+
in reflex-platform.${ghc}.reflex);
43+
in variationPkgs // {
44+
cache = reflex-platform.pinBuildInputs "reflex-${system}-${ghc}"
45+
(builtins.attrValues variationPkgs);
2946
});
30-
in hsPkgs // {
47+
in compilerPkgs // {
3148
cache = reflex-platform.pinBuildInputs "reflex-${system}"
32-
(lib.concatLists (map builtins.attrValues (builtins.attrValues hsPkgs)));
49+
(map (a: a.cache) (builtins.attrValues compilerPkgs));
3350
});
3451

3552
metaCache = native-reflex-platform.pinBuildInputs "reflex-everywhere"

src/Reflex/Network.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import Reflex.NotReady.Class
2020
import Reflex.PostBuild.Class
2121

2222
-- | A 'Dynamic' "network": Takes a 'Dynamic' of network-creating actions and replaces the network whenever the 'Dynamic' updates.
23-
-- The returned Event of network results fires when the 'Dynamic' updates.
23+
-- The returned Event of network results fires at post-build time and when the 'Dynamic' updates.
2424
-- Note: Often, the type 'a' is an Event, in which case the return value is an Event-of-Events, where the outer 'Event' fires
2525
-- when switching networks. Such an 'Event' would typically be flattened (via 'switchPromptly').
2626
networkView :: (NotReady t m, Adjustable t m, PostBuild t m) => Dynamic t (m a) -> m (Event t a)

src/Reflex/Spider/Internal.hs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ import qualified Reflex.Host.Class
103103
import Reflex.NotReady.Class
104104
import Reflex.Patch
105105
import qualified Reflex.Patch.DMapWithMove as PatchDMapWithMove
106+
import Reflex.PerformEvent.Base (PerformEventT)
106107

107108
#ifdef DEBUG_TRACE_EVENTS
108109
import qualified Data.ByteString.Char8 as BS8
@@ -2705,3 +2706,11 @@ instance MonadAtomicRef (SpiderHostFrame x) where
27052706
instance PrimMonad (SpiderHostFrame x) where
27062707
type PrimState (SpiderHostFrame x) = PrimState IO
27072708
primitive = SpiderHostFrame . EventM . primitive
2709+
2710+
instance NotReady (SpiderTimeline x) (SpiderHost x) where
2711+
notReadyUntil _ = return ()
2712+
notReady = return ()
2713+
2714+
instance HasSpiderTimeline x => NotReady (SpiderTimeline x) (PerformEventT (SpiderTimeline x) (SpiderHost x)) where
2715+
notReadyUntil _ = return ()
2716+
notReady = return ()

src/Reflex/Workflow.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ workflow w0 = do
3434
rec eResult <- networkHold (unWorkflow w0) $ fmap unWorkflow $ switch $ snd <$> current eResult
3535
return $ fmap fst eResult
3636

37-
-- | Similar to 'workflow', but outputs an 'Event' that fires whenever the current 'Workflow' is replaced by the next 'Workflow'.
37+
-- | Similar to 'workflow', but outputs an 'Event' that fires at post-build time and whenever the current 'Workflow' is replaced by the next 'Workflow'.
3838
workflowView :: forall t m a. (Reflex t, NotReady t m, Adjustable t m, MonadFix m, MonadHold t m, PostBuild t m) => Workflow t m a -> m (Event t a)
3939
workflowView w0 = do
4040
rec eResult <- networkView . fmap unWorkflow =<< holdDyn w0 eReplace

0 commit comments

Comments
 (0)