-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Diff and patch -- -- Diff and patch @package diff @version 0.1.0.0 module Diff class Different a where { type family Diff a; type Diff a = Diff (Rep a ()); } diff :: Different a => a -> a -> Diff a diff :: (Different a, Generic a, Different (Rep a ()), Diff a ~ Diff (Rep a ())) => a -> a -> Diff a patch :: Different a => Diff a -> a -> Maybe a patch :: (Different a, Generic a, Different (Rep a ()), Diff a ~ Diff (Rep a ())) => Diff a -> a -> Maybe a data SumDiff a b DiffL :: Diff a -> SumDiff a b DiffR :: Diff b -> SumDiff a b LR :: a -> b -> SumDiff a b RL :: b -> a -> SumDiff a b instance Diff.Different a => Diff.Different (GHC.Generics.Par1 a) instance forall k (f :: k -> *) (a :: k). Diff.Different (f a) => Diff.Different (GHC.Generics.Rec1 f a) instance forall k c i (a :: k). Diff.Different c => Diff.Different (GHC.Generics.K1 i c a) instance forall k (f :: k -> *) (a :: k) i (c :: GHC.Generics.Meta). Diff.Different (f a) => Diff.Different (GHC.Generics.M1 i c f a) instance forall k2 k1 (f :: k2 -> *) (g :: k1 -> k2) (a :: k1). Diff.Different (f (g a)) => Diff.Different ((GHC.Generics.:.:) f g a) instance (GHC.Classes.Eq a, GHC.Classes.Eq b, GHC.Classes.Eq (Diff.Diff a), GHC.Classes.Eq (Diff.Diff b)) => GHC.Classes.Eq (Diff.SumDiff a b) instance (GHC.Read.Read a, GHC.Read.Read b, GHC.Read.Read (Diff.Diff a), GHC.Read.Read (Diff.Diff b)) => GHC.Read.Read (Diff.SumDiff a b) instance (GHC.Show.Show a, GHC.Show.Show b, GHC.Show.Show (Diff.Diff a), GHC.Show.Show (Diff.Diff b)) => GHC.Show.Show (Diff.SumDiff a b) instance Diff.Different Data.Void.Void instance Diff.Different GHC.Types.Bool instance Diff.Different GHC.Types.Ordering instance Diff.Different Data.Version.Version instance Diff.Different a => Diff.Different (Data.Functor.Identity.Identity a) instance (GHC.Classes.Eq a, Diff.Different a) => Diff.Different (GHC.Maybe.Maybe a) instance (GHC.Classes.Eq a, Diff.Different a) => Diff.Different [a] instance (GHC.Classes.Eq a, Diff.Different a) => Diff.Different (GHC.Base.NonEmpty a) instance (GHC.Classes.Eq a, Diff.Different a, GHC.Classes.Eq b, Diff.Different b) => Diff.Different (Data.Either.Either a b) instance Diff.Different () instance (Diff.Different a, Diff.Different b) => Diff.Different (a, b) instance (Diff.Different a, Diff.Different b, Diff.Different c) => Diff.Different (a, b, c) instance (Diff.Different a, Diff.Different b, Diff.Different c, Diff.Different d) => Diff.Different (a, b, c, d) instance (Diff.Different a, Diff.Different b, Diff.Different c, Diff.Different d, Diff.Different e) => Diff.Different (a, b, c, d, e) instance (Diff.Different a, Diff.Different b, Diff.Different c, Diff.Different d, Diff.Different e, Diff.Different f) => Diff.Different (a, b, c, d, e, f) instance (Diff.Different a, Diff.Different b, Diff.Different c, Diff.Different d, Diff.Different e, Diff.Different f, Diff.Different g) => Diff.Different (a, b, c, d, e, f, g) instance forall k (f :: k -> *) (a :: k). Diff.Different (f a) => Diff.Different (Data.Semigroup.Internal.Alt f a) instance (Diff.Different a, Diff.Different b) => Diff.Different (Data.Semigroup.Arg a b) instance forall k (a :: k). Diff.Different (Data.Proxy.Proxy a) instance forall k a (b :: k). Diff.Different a => Diff.Different (Data.Functor.Const.Const a b) instance forall k k1 (f :: k -> *) (g :: k1 -> k) (a :: k1). Diff.Different (f (g a)) => Diff.Different (Data.Functor.Compose.Compose f g a) instance forall k (f :: k -> *) (a :: k) (g :: k -> *). (Diff.Different (f a), Diff.Different (g a)) => Diff.Different (Data.Functor.Product.Product f g a) instance forall k (f :: k -> *) (a :: k) (g :: k -> *). (Diff.Different (f a), GHC.Classes.Eq (f a), Diff.Different (g a), GHC.Classes.Eq (g a)) => Diff.Different (Data.Functor.Sum.Sum f g a) instance forall k (f :: k -> *) (a :: k) (g :: k -> *). (Diff.Different (f a), GHC.Classes.Eq (f a), Diff.Different (g a), GHC.Classes.Eq (g a)) => Diff.Different ((GHC.Generics.:+:) f g a) instance forall k (a :: k). Diff.Different (GHC.Generics.V1 a) instance forall k (a :: k). Diff.Different (GHC.Generics.U1 a) instance forall k (f :: k -> *) (a :: k) (g :: k -> *). (Diff.Different (f a), Diff.Different (g a)) => Diff.Different ((GHC.Generics.:*:) f g a) instance Diff.Different GHC.Integer.Type.Integer instance Diff.Different GHC.Natural.Natural instance Diff.Different GHC.Types.Int instance Diff.Different GHC.Types.Word instance Diff.Different GHC.Int.Int8 instance Diff.Different GHC.Word.Word8 instance Diff.Different GHC.Int.Int16 instance Diff.Different GHC.Word.Word16 instance Diff.Different GHC.Int.Int32 instance Diff.Different GHC.Word.Word32 instance Diff.Different GHC.Int.Int64 instance Diff.Different GHC.Word.Word64 instance Diff.Different GHC.Types.Char