on develop help sign in
Move mapMapWithAdjustWithMove into reflex
commite511841206bafed55fed3339f54952921b994d1c authorRyan Trinkle <ryan.trinkle@gmail.com> dateFri 17 Feb 2017, 00:14 (10 years ago) parent776e2fa
1 file changed−6
examples/sortableList.hs−6
examples/sortableList.hs−6
@@ -1,7 +1,6 @@
11{-# LANGUAGE FlexibleContexts #-}
22{-# LANGUAGE GADTs #-}
33{-# LANGUAGE OverloadedStrings #-}
4−{-# LANGUAGE OverloadedStrings #-}
54{-# LANGUAGE RankNTypes #-}
65{-# LANGUAGE RecursiveDo #-}
76{-# LANGUAGE ScopedTypeVariables #-}
@@ -68,11 +67,6 @@ displayRedrawTime e = do
6867 text "Time: "
6968 dynText =<< holdDyn "not yet run" (T.pack . show <$> diff)
7069
71−mapMapWithAdjustWithMove :: forall t m k v v'. (MonadAdjust t m, Ord k) => (k -> v -> m v') -> Map k v -> Event t (PatchMapWithMove k v) -> m (Map k v', Event t (PatchMapWithMove k v'))
72−mapMapWithAdjustWithMove f m0 m' = do
73− (out0 :: DMap (Const2 k v) (Constant v'), out') <- traverseDMapWithKeyWithAdjustWithMove (\(Const2 k) (Identity v) -> Constant <$> f k v) (mapToDMap m0) (const2PatchDMapWithMoveWith Identity <$> m')
74− return (dmapToMapWith (\(Constant v') -> v') out0, patchDMapWithMoveToPatchMapWithMoveWith (\(Constant v') -> v') <$> out')
75−
7670simpleSortableList :: forall t m k v. (MonadHold t m, MonadFix m, MonadAdjust t m, Ord k) => (k -> v -> m ()) -> Map k v -> Event t (v -> v -> Ordering) -> Event t (v -> v -> Ordering) -> m ()
7771simpleSortableList f m0 resortFunc resortSlowFunc = do
7872 rec let resortPatchFast = attachWith (flip patchThatSortsMapWith) (currentIncremental m) resortFunc