@@ -12,6 +12,8 @@ import qualified Data.Dependent.Map as DMap
13data Pure t
13data Pure t
15+-- | The Enum instance of t must be dense: for all x :: t, there must not exist any y :: t such that pred x < y < x
16+-- The HasTrie instance will be used exclusively to memoize functions of t, not for any of its other capabilities
15instance (Enum t, HasTrie t, Ord t) => Reflex (Pure t) where
17instance (Enum t, HasTrie t, Ord t) => Reflex (Pure t) where
16 newtype Behavior (Pure t) a = Behavior { unBehavior :: t -> a }
18 newtype Behavior (Pure t) a = Behavior { unBehavior :: t -> a }
17 newtype Event (Pure t) a = Event { unEvent :: t -> Maybe a }
19 newtype Event (Pure t) a = Event { unEvent :: t -> Maybe a }