glazier 0.6.2.0 → 0.6.2.1
raw patch · 4 files changed
+29/−5 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- glazier.cabal +1/−1
- src/Glazier.hs +6/−2
- src/Glazier/Lazy.hs +11/−1
- src/Glazier/Strict.hs +11/−1
glazier.cabal view
@@ -1,5 +1,5 @@ name: glazier-version: 0.6.2.0+version: 0.6.2.1 synopsis: Composable widgets framework description: Please see README.md homepage: https://github.com/louispan/glazier#readme
src/Glazier.hs view
@@ -28,7 +28,7 @@ -- view :: Signal Address -> Model -> Html -- @ ----- This module uses isomorphic implementations Brief and View resulting in instances can be be composed together into larger Widgets.+-- This module uses isomorphic Window and Gadget resulting in instances can be be composed together into larger Widgets. -- Original inspiration from https://arianvp.me/lenses-and-prisms-for-modular-clientside-apps/ -- -- This framework provides three main combinators:@@ -98,6 +98,8 @@ hoistWindow g = _Wrapping Window %~ hoist g -- | This Iso gives the following functions:+--+-- @ -- liftWindow :: (MonadTrans t, Monad m) => Window m s v -> Window (t m) s v -- liftWindow = hoistWindow lift --@@ -118,10 +120,12 @@ -- -- runWindow' :: Window m s v -> (s -> m v) -- runWindow' = view _Window+-- @+-- _Window :: Iso (Window m s v) (Window m' s' v') (s -> m v) (s' -> m' v') _Window = _Wrapping Window . iso runReaderT ReaderT -- lens 4.15.1 doesn't have a general enough ReaderT iso --- | Non polymorphic version of _WindowT+-- | Non polymorphic version of _Window _Window' :: Iso' (Window m s v) (s -> m v) _Window' = _Window
src/Glazier/Lazy.hs view
@@ -22,7 +22,6 @@ , statically , dynamically -- * Re-exports- -- $reexports , module Glazier ) where @@ -75,6 +74,8 @@ hoistGadget g = _Wrapping Gadget %~ hoist (hoist g) -- | This Iso gives the following functions:+--+-- @ -- underGadget :: (ReaderT a (StateT s m) c -> ReaderT a' (StateT s' m') c') -> Gadget s m a c -> Gadget s' m' a' c' -- underGadget f = _Wrapping Gadget %~ f --@@ -92,6 +93,8 @@ -- -- runGadget' :: Gadget s m a c -> (a -> s -> m (c, s)) -- runGadget' = view _Gadget+-- @+-- _Gadget :: Iso (Gadget s m a c) (Gadget s' m' a' c') (a -> s -> m (c, s)) (a' -> s' -> m' (c', s')) _Gadget = _Wrapping Gadget . iso runReaderT ReaderT . iso (runStateT .) (StateT .) @@ -176,6 +179,8 @@ makeFields ''Widget -- | This Iso gives the following functions:+--+-- @ -- belowWidget :: ((s -> m v, a -> s -> m (c, s)) -> (s' -> m' v', a' -> s' -> m' (c', s'))) -> Widget s v m a c -> Widget s' v' m' a' c' -- belowWidget f = _Widget %~ f --@@ -187,6 +192,7 @@ -- -- runWidget' :: Widget s v m a c -> (s -> m v, a -> s -> m (c, s)) -- runWidget' = view _Widget+-- @ -- _Widget :: Iso (Widget s v m a c) (Widget s' v' m' a' c') (s -> m v, a -> s -> m (c, s)) (s' -> m' v', a' -> s' -> m' (c', s'))@@ -194,6 +200,8 @@ (\(w, g) -> Widget (review _Window w) (review _Gadget g)) -- | This Iso gives the following functions:+--+-- @ -- underWidget :: ((Window m s v, Gadget s m a c) -> (Window m' s' v', Gadget s' m' a' c')) -> Widget s v m a c -> Widget s' v' m' a' c' -- underWidget f = _WrappingWidget %~ f --@@ -205,6 +213,8 @@ -- -- runWidget :: Widget s v m a c -> (Window m s v, Gadget s m a c) -- runWidget = view _WrappingWidget+-- @+-- _WrappingWidget :: Iso (Widget s v m a c) (Widget s' v' m' a' c') (Window m s v, Gadget s m a c) (Window m' s' v', Gadget s' m' a' c') _WrappingWidget = iso (\(Widget w g) -> (w, g))
src/Glazier/Strict.hs view
@@ -22,7 +22,6 @@ , statically , dynamically -- * Re-exports- -- $reexports , module Glazier ) where @@ -75,6 +74,8 @@ hoistGadget g = _Wrapping Gadget %~ hoist (hoist g) -- | This Iso gives the following functions:+--+-- @ -- underGadget :: (ReaderT a (StateT s m) c -> ReaderT a' (StateT s' m') c') -> Gadget s m a c -> Gadget s' m' a' c' -- underGadget f = _Wrapping Gadget %~ f --@@ -92,6 +93,8 @@ -- -- runGadget' :: Gadget s m a c -> (a -> s -> m (c, s)) -- runGadget' = view _Gadget+-- @+-- _Gadget :: Iso (Gadget s m a c) (Gadget s' m' a' c') (a -> s -> m (c, s)) (a' -> s' -> m' (c', s')) _Gadget = _Wrapping Gadget . iso runReaderT ReaderT . iso (runStateT .) (StateT .) @@ -176,6 +179,8 @@ makeFields ''Widget -- | This Iso gives the following functions:+--+-- @ -- belowWidget :: ((s -> m v, a -> s -> m (c, s)) -> (s' -> m' v', a' -> s' -> m' (c', s'))) -> Widget s v m a c -> Widget s' v' m' a' c' -- belowWidget f = _Widget %~ f --@@ -187,6 +192,7 @@ -- -- runWidget' :: Widget s v m a c -> (s -> m v, a -> s -> m (c, s)) -- runWidget' = view _Widget+-- @ -- _Widget :: Iso (Widget s v m a c) (Widget s' v' m' a' c') (s -> m v, a -> s -> m (c, s)) (s' -> m' v', a' -> s' -> m' (c', s'))@@ -194,6 +200,8 @@ (\(w, g) -> Widget (review _Window w) (review _Gadget g)) -- | This Iso gives the following functions:+--+-- @ -- underWidget :: ((Window m s v, Gadget s m a c) -> (Window m' s' v', Gadget s' m' a' c')) -> Widget s v m a c -> Widget s' v' m' a' c' -- underWidget f = _WrappingWidget %~ f --@@ -205,6 +213,8 @@ -- -- runWidget :: Widget s v m a c -> (Window m s v, Gadget s m a c) -- runWidget = view _WrappingWidget+-- @+-- _WrappingWidget :: Iso (Widget s v m a c) (Widget s' v' m' a' c') (Window m s v, Gadget s m a c) (Window m' s' v', Gadget s' m' a' c') _WrappingWidget = iso (\(Widget w g) -> (w, g))