-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | incremental update library -- -- Generic interface for incremental updates @package incremental @version 0.3 module Data.Incremental class Incremental a where { -- | the difference type type family Delta a; } -- |
--   maybe a (patch a) (diff b a) ≡ b
--   
patch :: Incremental a => a -> Delta a -> a -- | returns Nothing when there is no update diff :: Incremental a => a -> a -> Maybe (Delta a) data Alter a d Insert :: a -> Alter a d Update :: d -> Alter a d -- | last value Delete :: a -> Alter a d Delete_ :: Alter a d Upsert :: a -> d -> Alter a d newtype Hetero a Hetero :: a -> Hetero a [getHetero] :: Hetero a -> a newtype Fresh a Fresh :: a -> Fresh a [getFresh] :: Fresh a -> a instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Incremental.Fresh a) instance GHC.Generics.Generic (Data.Incremental.Fresh a) instance GHC.Float.RealFloat a => GHC.Float.RealFloat (Data.Incremental.Fresh a) instance GHC.Real.RealFrac a => GHC.Real.RealFrac (Data.Incremental.Fresh a) instance GHC.Real.Real a => GHC.Real.Real (Data.Incremental.Fresh a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Incremental.Fresh a) instance GHC.Num.Num a => GHC.Num.Num (Data.Incremental.Fresh a) instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Incremental.Fresh a) instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Data.Incremental.Fresh a) instance GHC.Real.Integral a => GHC.Real.Integral (Data.Incremental.Fresh a) instance GHC.Real.Fractional a => GHC.Real.Fractional (Data.Incremental.Fresh a) instance GHC.Float.Floating a => GHC.Float.Floating (Data.Incremental.Fresh a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Incremental.Fresh a) instance GHC.Enum.Enum a => GHC.Enum.Enum (Data.Incremental.Fresh a) instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Incremental.Fresh a) instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Incremental.Hetero a) instance GHC.Generics.Generic (Data.Incremental.Hetero a) instance GHC.Float.RealFloat a => GHC.Float.RealFloat (Data.Incremental.Hetero a) instance GHC.Real.RealFrac a => GHC.Real.RealFrac (Data.Incremental.Hetero a) instance GHC.Real.Real a => GHC.Real.Real (Data.Incremental.Hetero a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.Incremental.Hetero a) instance GHC.Num.Num a => GHC.Num.Num (Data.Incremental.Hetero a) instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Incremental.Hetero a) instance GHC.Base.Semigroup a => GHC.Base.Semigroup (Data.Incremental.Hetero a) instance GHC.Real.Integral a => GHC.Real.Integral (Data.Incremental.Hetero a) instance GHC.Real.Fractional a => GHC.Real.Fractional (Data.Incremental.Hetero a) instance GHC.Float.Floating a => GHC.Float.Floating (Data.Incremental.Hetero a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Incremental.Hetero a) instance GHC.Enum.Enum a => GHC.Enum.Enum (Data.Incremental.Hetero a) instance GHC.Enum.Bounded a => GHC.Enum.Bounded (Data.Incremental.Hetero a) instance GHC.Base.Functor (Data.Incremental.Alter a) instance GHC.Generics.Generic (Data.Incremental.Alter a d) instance (GHC.Show.Show a, GHC.Show.Show d) => GHC.Show.Show (Data.Incremental.Alter a d) instance Data.Incremental.Incremental (Data.Incremental.Fresh a) instance GHC.Classes.Eq a => Data.Incremental.Incremental (Data.Incremental.Hetero a) instance (Control.DeepSeq.NFData a, Control.DeepSeq.NFData d) => Control.DeepSeq.NFData (Data.Incremental.Alter a d) instance (Data.Aeson.Types.FromJSON.FromJSON a, Data.Aeson.Types.FromJSON.FromJSON d) => Data.Aeson.Types.FromJSON.FromJSON (Data.Incremental.Alter a d) instance (Data.Aeson.Types.ToJSON.ToJSON a, Data.Aeson.Types.ToJSON.ToJSON d) => Data.Aeson.Types.ToJSON.ToJSON (Data.Incremental.Alter a d) instance (Data.Incremental.Incremental a, d GHC.Types.~ Data.Incremental.Delta a, GHC.Base.Semigroup d) => GHC.Base.Semigroup (Data.Incremental.Alter a d) instance (Data.Incremental.Incremental a, GHC.Base.Monoid d, d GHC.Types.~ Data.Incremental.Delta a) => GHC.Base.Monoid (Data.Incremental.Alter a d) instance Data.Incremental.Incremental a => Data.Incremental.Incremental (GHC.Maybe.Maybe a) instance Data.Incremental.Incremental a => Data.Incremental.Incremental (Data.IntMap.Internal.IntMap a) instance (GHC.Classes.Ord k, Data.Incremental.Incremental a) => Data.Incremental.Incremental (Data.Map.Internal.Map k a) instance Data.Incremental.Incremental () instance Data.Incremental.Incremental Data.Void.Void instance forall k (a :: k). Data.Incremental.Incremental (Data.Proxy.Proxy a) instance Data.Incremental.Incremental a => Data.Incremental.Incremental (Data.Functor.Identity.Identity a) instance forall k a (b :: k). Data.Incremental.Incremental a => Data.Incremental.Incremental (Data.Functor.Const.Const a b) instance (Data.Incremental.Incremental a, Data.Incremental.Incremental b) => Data.Incremental.Incremental (a, b) instance (Data.Incremental.Incremental a, Data.Incremental.Incremental b, Data.Incremental.Incremental c) => Data.Incremental.Incremental (a, b, c) instance GHC.Classes.Ord a => Data.Incremental.Incremental (Data.Set.Internal.Set a) instance GHC.Num.Num a => Data.Incremental.Incremental (Data.Semigroup.Internal.Sum a) instance GHC.Classes.Eq a => Data.Incremental.Incremental [a] instance Data.Incremental.Incremental GHC.Types.Bool instance Data.Incremental.Incremental GHC.Types.Char instance Data.Incremental.Incremental GHC.Types.Double instance Data.Incremental.Incremental GHC.Types.Float instance Data.Incremental.Incremental (Data.Fixed.Fixed a) instance Data.Incremental.Incremental GHC.Types.Int instance Data.Incremental.Incremental GHC.Int.Int8 instance Data.Incremental.Incremental GHC.Int.Int16 instance Data.Incremental.Incremental GHC.Int.Int32 instance Data.Incremental.Incremental GHC.Int.Int64 instance Data.Incremental.Incremental GHC.Integer.Type.Integer instance Data.Incremental.Incremental GHC.Natural.Natural instance Data.Incremental.Incremental GHC.Types.Ordering instance Data.Incremental.Incremental GHC.Types.Word instance Data.Incremental.Incremental GHC.Word.Word8 instance Data.Incremental.Incremental GHC.Word.Word16 instance Data.Incremental.Incremental GHC.Word.Word32 instance Data.Incremental.Incremental GHC.Word.Word64 instance Data.Incremental.Incremental Data.Text.Internal.Text instance Data.Incremental.Incremental Data.ByteString.Internal.ByteString