on develop help sign in
Merge pull request #73 from reflex-frp/default-dynamic

Add Default instance for Dynamic

commit64902eaa55b8fc5d1457c06d69ae41cbd11daaa5 authorRyan Trinkle <ryan.trinkle@gmail.com> dateTue 25 Oct 2016, 13:36 (10 years ago) parent50d298c49fe48b
2 files changed+5
reflex.cabal+1 src/Reflex/Class.hs+4
reflex.cabal+1
@@ -20,6 +20,7 @@ library
2020 base >= 4.7 && < 4.10,
2121 bifunctors >= 5.2 && < 5.5,
2222 containers == 0.5.*,
23+ data-default >= 0.5 && < 0.8,
2324 dependent-map >= 0.2.2 && < 0.3,
2425 dependent-sum == 0.3.*,
2526 exception-transformers == 0.4.*,
src/Reflex/Class.hs+4
@@ -97,6 +97,7 @@ import Control.Monad.Trans.RWS (RWST ())
9797import Control.Monad.Trans.Writer (WriterT ())
9898import Data.Align
9999import Data.Bifunctor
100+import Data.Default
100101import Data.Dependent.Map (DMap, DSum (..), GCompare (..), GOrdering (..))
101102import qualified Data.Dependent.Map as DMap
102103import Data.Dependent.Sum (ShowTag (..))
@@ -253,6 +254,9 @@ unsafeDynamic = unsafeBuildDynamic . sample
253254constDyn :: Reflex t => a -> Dynamic t a
254255constDyn = pure
255256
257+instance (Reflex t, Default a) => Default (Dynamic t a) where
258+ def = pure def
259+
256260-- | 'MonadSample' designates monads that can read the current value of a
257261-- 'Behavior'. This includes both 'PullM' and 'PushM'.
258262class (Applicative m, Monad m) => MonadSample t m | m -> t where