packages feed

red-black-record 2.1.0.2 → 2.1.0.3

raw patch · 4 files changed

+12/−8 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.RBR.Internal: instance (GHC.Classes.Eq k, GHC.Classes.Eq v) => GHC.Classes.Eq (Data.RBR.Internal.Map k v)
- Data.RBR.Internal: instance (GHC.Show.Show k, GHC.Show.Show v) => GHC.Show.Show (Data.RBR.Internal.Map k v)
- Data.RBR.Internal: instance forall k v (c :: k -> v -> GHC.Types.Constraint). Data.RBR.Internal.KeysValuesAll c 'Data.RBR.Internal.E
- Data.RBR.Internal: instance forall k1 (k2 :: GHC.Types.Symbol) (v :: k1). (GHC.TypeLits.KnownSymbol k2, Data.Typeable.Internal.Typeable v) => Data.RBR.Internal.KnownKeyTypeableValue k2 v
- Data.RBR.Internal: instance forall k1 v1 (c :: k1 -> v1 -> GHC.Types.Constraint) (k2 :: k1) (v2 :: v1) (left :: Data.RBR.Internal.Map k1 v1) (right :: Data.RBR.Internal.Map k1 v1) (color :: Data.RBR.Internal.Color). (c k2 v2, Data.RBR.Internal.KeysValuesAll c left, Data.RBR.Internal.KeysValuesAll c right) => Data.RBR.Internal.KeysValuesAll c ('Data.RBR.Internal.N color left k2 v2 right)
- Data.RBR.Internal: instance forall v (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). Data.RBR.Internal.BalanceableL left1 k1 v1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B 'Data.RBR.Internal.E k2 v2 right2) => Data.RBR.Internal.FuseableHelper2 'Data.RBR.Internal.E ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 'Data.RBR.Internal.E) ('Data.RBR.Internal.N 'Data.RBR.Internal.B 'Data.RBR.Internal.E k2 v2 right2)
- Data.RBR.Internal: instance forall v (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) left2 => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (fused :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ fused, Data.RBR.Internal.FuseableHelper1 fused ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (fused :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ fused, Data.RBR.Internal.FuseableHelper2 fused ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v). Data.RBR.Internal.Fuseable right1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (z :: GHC.Types.Symbol) (zv :: v) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) => Data.RBR.Internal.FuseableHelper1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (z :: GHC.Types.Symbol) (zv :: v) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2, Data.RBR.Internal.BalanceableL left1 k1 v1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) k2 v2 right2)) => Data.RBR.Internal.FuseableHelper2 ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (z :: GHC.Types.Symbol) (zv :: v) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) => Data.RBR.Internal.FuseableHelper1 ('Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (z :: GHC.Types.Symbol) (zv :: v) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (k1 :: GHC.Types.Symbol) (v1 :: v) (k2 :: GHC.Types.Symbol) (v2 :: v) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol v). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) => Data.RBR.Internal.FuseableHelper2 ('Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
- Data.RBR.Internal: instance forall v (t2 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (z :: GHC.Types.Symbol) (zv :: v) (t3 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (g :: Data.RBR.Internal.Map GHC.Types.Symbol v) (t1 :: Data.RBR.Internal.Map GHC.Types.Symbol v) (y :: GHC.Types.Symbol) (yv :: v). ('Data.RBR.Internal.N 'Data.RBR.Internal.R t2 z zv t3 Data.Type.Equality.~ g, Data.RBR.Internal.BalanceableHelper (Data.RBR.Internal.ShouldBalance t1 g) t1 y yv g) => Data.RBR.Internal.BalanceableHelperL 'GHC.Types.True t1 y yv ('Data.RBR.Internal.N 'Data.RBR.Internal.B t2 z zv t3)
- Data.RBR.Internal: instance forall v1 (k :: GHC.Types.Symbol) (k' :: GHC.Types.Symbol) (ordering :: GHC.Types.Ordering) (v2 :: v1) (color :: Data.RBR.Internal.Color) (left :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (v' :: v1) (right :: Data.RBR.Internal.Map GHC.Types.Symbol v1). (GHC.TypeLits.CmpSymbol k k' Data.Type.Equality.~ ordering, Data.RBR.Internal.InsertableHelper2 ordering k v2 color left k' v' right) => Data.RBR.Internal.InsertableHelper1 k v2 ('Data.RBR.Internal.N color left k' v' right)
- Data.RBR.Internal: instance forall v1 (k :: GHC.Types.Symbol) (v2 :: v1) (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kz :: GHC.Types.Symbol) (vz :: v1) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kx :: GHC.Types.Symbol) (vx :: v1) (right :: Data.RBR.Internal.Map GHC.Types.Symbol v1). Data.RBR.Internal.Delable k v2 ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) => Data.RBR.Internal.DelableL k v2 ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) kx vx right
- Data.RBR.Internal: instance forall v1 (k :: GHC.Types.Symbol) (v2 :: v1) (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kz :: GHC.Types.Symbol) (vz :: v1) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (left :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kx :: GHC.Types.Symbol) (vx :: v1). Data.RBR.Internal.Delable k v2 ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) => Data.RBR.Internal.DelableR k v2 left kx vx ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz)
- Data.RBR.Internal: instance forall v1 (kx :: GHC.Types.Symbol) (k :: GHC.Types.Symbol) (ordering :: GHC.Types.Ordering) (v2 :: v1) (left :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (vx :: v1) (right :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (color :: Data.RBR.Internal.Color). (GHC.TypeLits.CmpSymbol kx k Data.Type.Equality.~ ordering, Data.RBR.Internal.DelableHelper ordering k v2 left kx vx right) => Data.RBR.Internal.Delable k v2 ('Data.RBR.Internal.N color left kx vx right)
- Data.RBR.Internal: instance forall v1 (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kz :: GHC.Types.Symbol) (vz :: v1) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (g :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (k :: GHC.Types.Symbol) (v2 :: v1) (deleted :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kx :: GHC.Types.Symbol) (vx :: v1) (right :: Data.RBR.Internal.Map GHC.Types.Symbol v1). ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz Data.Type.Equality.~ g, Data.RBR.Internal.Delable k v2 g, Data.RBR.Internal.Del k v2 g Data.Type.Equality.~ deleted, Data.RBR.Internal.BalanceableL deleted kx vx right) => Data.RBR.Internal.DelableL k v2 ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz) kx vx right
- Data.RBR.Internal: instance forall v1 (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kz :: GHC.Types.Symbol) (vz :: v1) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (g :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (k :: GHC.Types.Symbol) (v2 :: v1) (deleted :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (left :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kx :: GHC.Types.Symbol) (vx :: v1). ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz Data.Type.Equality.~ g, Data.RBR.Internal.Delable k v2 g, Data.RBR.Internal.Del k v2 g Data.Type.Equality.~ deleted, Data.RBR.Internal.BalanceableR left kx vx deleted) => Data.RBR.Internal.DelableR k v2 left kx vx ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz)
- Data.RBR.Internal: instance forall v1 (start :: [v1]) (colorR :: Data.RBR.Internal.Color) (leftR :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kR :: GHC.Types.Symbol) (vR :: v1) (rightR :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (middle :: [v1]) (v2 :: v1) (colorL :: Data.RBR.Internal.Color) (leftL :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kL :: GHC.Types.Symbol) (vL :: v1) (rightL :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (result :: [v1]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). (Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N colorR leftR kR vR rightR) middle, Data.RBR.Internal.Sumlike (v2 : middle) ('Data.RBR.Internal.N colorL leftL kL vL rightL) result) => Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N color ('Data.RBR.Internal.N colorL leftL kL vL rightL) k v2 ('Data.RBR.Internal.N colorR leftR kR vR rightR)) result
- Data.RBR.Internal: instance forall v1 (start :: [v1]) (right :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (middle :: [v1]) (v2 :: v1) (left :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (result :: [v1]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). (Data.RBR.Internal.Productlike start right middle, Data.RBR.Internal.Productlike (v2 : middle) left result) => Data.RBR.Internal.Productlike start ('Data.RBR.Internal.N color left k v2 right) result
- Data.RBR.Internal: instance forall v1 (v2 :: v1) (start :: [v1]) (colorL :: Data.RBR.Internal.Color) (leftL :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (kL :: GHC.Types.Symbol) (vL :: v1) (rightL :: Data.RBR.Internal.Map GHC.Types.Symbol v1) (result :: [v1]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). Data.RBR.Internal.Sumlike (v2 : start) ('Data.RBR.Internal.N colorL leftL kL vL rightL) result => Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N color ('Data.RBR.Internal.N colorL leftL kL vL rightL) k v2 'Data.RBR.Internal.E) result
- Data.RBR.Internal: instance forall z (k :: GHC.Types.Symbol) (v :: z). GHC.TypeLits.KnownSymbol k => Data.RBR.Internal.KnownKey k v
+ Data.RBR.Internal: instance (GHC.Classes.Eq symbol, GHC.Classes.Eq q) => GHC.Classes.Eq (Data.RBR.Internal.Map symbol q)
+ Data.RBR.Internal: instance (GHC.Show.Show symbol, GHC.Show.Show q) => GHC.Show.Show (Data.RBR.Internal.Map symbol q)
+ Data.RBR.Internal: instance forall q (k :: GHC.Types.Symbol) (k' :: GHC.Types.Symbol) (ordering :: GHC.Types.Ordering) (v :: q) (color :: Data.RBR.Internal.Color) (left :: Data.RBR.Internal.Map GHC.Types.Symbol q) (v' :: q) (right :: Data.RBR.Internal.Map GHC.Types.Symbol q). (GHC.TypeLits.CmpSymbol k k' Data.Type.Equality.~ ordering, Data.RBR.Internal.InsertableHelper2 ordering k v color left k' v' right) => Data.RBR.Internal.InsertableHelper1 k v ('Data.RBR.Internal.N color left k' v' right)
+ Data.RBR.Internal: instance forall q (k :: GHC.Types.Symbol) (v :: q) (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kz :: GHC.Types.Symbol) (vz :: q) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kx :: GHC.Types.Symbol) (vx :: q) (right :: Data.RBR.Internal.Map GHC.Types.Symbol q). Data.RBR.Internal.Delable k v ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) => Data.RBR.Internal.DelableL k v ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) kx vx right
+ Data.RBR.Internal: instance forall q (k :: GHC.Types.Symbol) (v :: q) (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kz :: GHC.Types.Symbol) (vz :: q) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kx :: GHC.Types.Symbol) (vx :: q). Data.RBR.Internal.Delable k v ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz) => Data.RBR.Internal.DelableR k v left kx vx ('Data.RBR.Internal.N 'Data.RBR.Internal.R leftz kz vz rightz)
+ Data.RBR.Internal: instance forall q (k :: GHC.Types.Symbol) (v :: q). (GHC.TypeLits.KnownSymbol k, Data.Typeable.Internal.Typeable v) => Data.RBR.Internal.KnownKeyTypeableValue k v
+ Data.RBR.Internal: instance forall q (k :: GHC.Types.Symbol) (v :: q). GHC.TypeLits.KnownSymbol k => Data.RBR.Internal.KnownKey k v
+ Data.RBR.Internal: instance forall q (kx :: GHC.Types.Symbol) (k :: GHC.Types.Symbol) (ordering :: GHC.Types.Ordering) (v :: q) (left :: Data.RBR.Internal.Map GHC.Types.Symbol q) (vx :: q) (right :: Data.RBR.Internal.Map GHC.Types.Symbol q) (color :: Data.RBR.Internal.Color). (GHC.TypeLits.CmpSymbol kx k Data.Type.Equality.~ ordering, Data.RBR.Internal.DelableHelper ordering k v left kx vx right) => Data.RBR.Internal.Delable k v ('Data.RBR.Internal.N color left kx vx right)
+ Data.RBR.Internal: instance forall q (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). Data.RBR.Internal.BalanceableL left1 k1 v1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B 'Data.RBR.Internal.E k2 v2 right2) => Data.RBR.Internal.FuseableHelper2 'Data.RBR.Internal.E ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 'Data.RBR.Internal.E) ('Data.RBR.Internal.N 'Data.RBR.Internal.B 'Data.RBR.Internal.E k2 v2 right2)
+ Data.RBR.Internal: instance forall q (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) left2 => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kz :: GHC.Types.Symbol) (vz :: q) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (g :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k :: GHC.Types.Symbol) (v :: q) (deleted :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kx :: GHC.Types.Symbol) (vx :: q) (right :: Data.RBR.Internal.Map GHC.Types.Symbol q). ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz Data.Type.Equality.~ g, Data.RBR.Internal.Delable k v g, Data.RBR.Internal.Del k v g Data.Type.Equality.~ deleted, Data.RBR.Internal.BalanceableL deleted kx vx right) => Data.RBR.Internal.DelableL k v ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz) kx vx right
+ Data.RBR.Internal: instance forall q (leftz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kz :: GHC.Types.Symbol) (vz :: q) (rightz :: Data.RBR.Internal.Map GHC.Types.Symbol q) (g :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k :: GHC.Types.Symbol) (v :: q) (deleted :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kx :: GHC.Types.Symbol) (vx :: q). ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz Data.Type.Equality.~ g, Data.RBR.Internal.Delable k v g, Data.RBR.Internal.Del k v g Data.Type.Equality.~ deleted, Data.RBR.Internal.BalanceableR left kx vx deleted) => Data.RBR.Internal.DelableR k v left kx vx ('Data.RBR.Internal.N 'Data.RBR.Internal.B leftz kz vz rightz)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (fused :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ fused, Data.RBR.Internal.FuseableHelper1 fused ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (fused :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ fused, Data.RBR.Internal.FuseableHelper2 fused ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q). Data.RBR.Internal.Fuseable right1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2) => Data.RBR.Internal.Fuseable ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (z :: GHC.Types.Symbol) (zv :: q) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) => Data.RBR.Internal.FuseableHelper1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (z :: GHC.Types.Symbol) (zv :: q) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2, Data.RBR.Internal.BalanceableL left1 k1 v1 ('Data.RBR.Internal.N 'Data.RBR.Internal.B ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) k2 v2 right2)) => Data.RBR.Internal.FuseableHelper2 ('Data.RBR.Internal.N 'Data.RBR.Internal.B s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (z :: GHC.Types.Symbol) (zv :: q) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) => Data.RBR.Internal.FuseableHelper1 ('Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.R left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (right1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (s1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (z :: GHC.Types.Symbol) (zv :: q) (s2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (left1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (k1 :: GHC.Types.Symbol) (v1 :: q) (k2 :: GHC.Types.Symbol) (v2 :: q) (right2 :: Data.RBR.Internal.Map GHC.Types.Symbol q). (Data.RBR.Internal.Fuseable right1 left2, Data.RBR.Internal.Fuse right1 left2 Data.Type.Equality.~ 'Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) => Data.RBR.Internal.FuseableHelper2 ('Data.RBR.Internal.N 'Data.RBR.Internal.R s1 z zv s2) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left1 k1 v1 right1) ('Data.RBR.Internal.N 'Data.RBR.Internal.B left2 k2 v2 right2)
+ Data.RBR.Internal: instance forall q (start :: [q]) (colorR :: Data.RBR.Internal.Color) (leftR :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kR :: GHC.Types.Symbol) (vR :: q) (rightR :: Data.RBR.Internal.Map GHC.Types.Symbol q) (middle :: [q]) (v :: q) (colorL :: Data.RBR.Internal.Color) (leftL :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kL :: GHC.Types.Symbol) (vL :: q) (rightL :: Data.RBR.Internal.Map GHC.Types.Symbol q) (result :: [q]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). (Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N colorR leftR kR vR rightR) middle, Data.RBR.Internal.Sumlike (v : middle) ('Data.RBR.Internal.N colorL leftL kL vL rightL) result) => Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N color ('Data.RBR.Internal.N colorL leftL kL vL rightL) k v ('Data.RBR.Internal.N colorR leftR kR vR rightR)) result
+ Data.RBR.Internal: instance forall q (start :: [q]) (right :: Data.RBR.Internal.Map GHC.Types.Symbol q) (middle :: [q]) (v :: q) (left :: Data.RBR.Internal.Map GHC.Types.Symbol q) (result :: [q]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). (Data.RBR.Internal.Productlike start right middle, Data.RBR.Internal.Productlike (v : middle) left result) => Data.RBR.Internal.Productlike start ('Data.RBR.Internal.N color left k v right) result
+ Data.RBR.Internal: instance forall q (t2 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (z :: GHC.Types.Symbol) (zv :: q) (t3 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (g :: Data.RBR.Internal.Map GHC.Types.Symbol q) (t1 :: Data.RBR.Internal.Map GHC.Types.Symbol q) (y :: GHC.Types.Symbol) (yv :: q). ('Data.RBR.Internal.N 'Data.RBR.Internal.R t2 z zv t3 Data.Type.Equality.~ g, Data.RBR.Internal.BalanceableHelper (Data.RBR.Internal.ShouldBalance t1 g) t1 y yv g) => Data.RBR.Internal.BalanceableHelperL 'GHC.Types.True t1 y yv ('Data.RBR.Internal.N 'Data.RBR.Internal.B t2 z zv t3)
+ Data.RBR.Internal: instance forall q (v :: q) (start :: [q]) (colorL :: Data.RBR.Internal.Color) (leftL :: Data.RBR.Internal.Map GHC.Types.Symbol q) (kL :: GHC.Types.Symbol) (vL :: q) (rightL :: Data.RBR.Internal.Map GHC.Types.Symbol q) (result :: [q]) (color :: Data.RBR.Internal.Color) (k :: GHC.Types.Symbol). Data.RBR.Internal.Sumlike (v : start) ('Data.RBR.Internal.N colorL leftL kL vL rightL) result => Data.RBR.Internal.Sumlike start ('Data.RBR.Internal.N color ('Data.RBR.Internal.N colorL leftL kL vL rightL) k v 'Data.RBR.Internal.E) result
+ Data.RBR.Internal: instance forall symbol q (c :: symbol -> q -> GHC.Types.Constraint) (k :: symbol) (v :: q) (left :: Data.RBR.Internal.Map symbol q) (right :: Data.RBR.Internal.Map symbol q) (color :: Data.RBR.Internal.Color). (c k v, Data.RBR.Internal.KeysValuesAll c left, Data.RBR.Internal.KeysValuesAll c right) => Data.RBR.Internal.KeysValuesAll c ('Data.RBR.Internal.N color left k v right)
+ Data.RBR.Internal: instance forall symbol q (c :: symbol -> q -> GHC.Types.Constraint). Data.RBR.Internal.KeysValuesAll c 'Data.RBR.Internal.E
- Data.RBR: class KeysValuesAllF c t => KeysValuesAll (c :: k -> v -> Constraint) (t :: Map k v)
+ Data.RBR: class KeysValuesAllF c t => KeysValuesAll (c :: symbol -> q -> Constraint) (t :: Map symbol q)
- Data.RBR: class KnownSymbol k => KnownKey (k :: Symbol) (v :: z)
+ Data.RBR: class KnownSymbol k => KnownKey (k :: Symbol) (v :: q)
- Data.RBR: class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) v
+ Data.RBR: class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) (v :: q)
- Data.RBR: data Map k v
+ Data.RBR: data Map symbol q
- Data.RBR.Internal: E :: Map k v
+ Data.RBR.Internal: E :: Map symbol q
- Data.RBR.Internal: N :: Color -> Map k v -> k -> v -> Map k v -> Map k v
+ Data.RBR.Internal: N :: Color -> Map symbol q -> symbol -> q -> Map symbol q -> Map symbol q
- Data.RBR.Internal: class KeysValuesAllF c t => KeysValuesAll (c :: k -> v -> Constraint) (t :: Map k v)
+ Data.RBR.Internal: class KeysValuesAllF c t => KeysValuesAll (c :: symbol -> q -> Constraint) (t :: Map symbol q)
- Data.RBR.Internal: class KnownSymbol k => KnownKey (k :: Symbol) (v :: z)
+ Data.RBR.Internal: class KnownSymbol k => KnownKey (k :: Symbol) (v :: q)
- Data.RBR.Internal: class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) v
+ Data.RBR.Internal: class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) (v :: q)
- Data.RBR.Internal: data Map k v
+ Data.RBR.Internal: data Map symbol q

Files

README.md view
@@ -140,7 +140,7 @@   [this post](https://www.cs.kent.ac.uk/people/staff/smk/redblack/rb.html).  * Besides depending on sop-core, I have copied and adapted code from it. In-  particular the `KeysValuessAll` typeclass is a version of the `All` typeclass+  particular the `KeysValuesAll` typeclass is a version of the `All` typeclass   from sop-core.   * [Surgery for data@@ -191,4 +191,7 @@   representation.  * [Coxswain](https://ghc.haskell.org/trac/ghc/wiki/Plugins/TypeChecker/RowTypes/Coxswain).++* [higgledy](http://hackage.haskell.org/package/higgledy). Provides you with HKD+  versions of normal records. 
lib/Data/RBR/Examples.hs view
@@ -340,6 +340,7 @@ {- $externalexamples
  
     * [Is there a canonical way of comparing/changing one/two records in haskell? (SO)](https://stackoverflow.com/a/57574731/1364288)
+    * [Given a record of functions, and a record of data of the types acted on by the functions, how to generically apply the function record? (SO)](https://stackoverflow.com/a/58890226/1364288) 
     * [Help with Generics. (Reddit)](https://www.reddit.com/r/haskell/comments/cteemj/help_with_generics/expyjfk)
     * [Adventures assembling records of capabilities. (Discourse)](https://discourse.haskell.org/t/adventures-assembling-records-of-capabilities/623)
     * [Resources on sop-core and generics-sop. (GitHub)](https://github.com/well-typed/generics-sop/issues/47)
lib/Data/RBR/Internal.hs view
@@ -63,8 +63,8 @@     deriving (Show,Eq)
 
 -- | A Red-Black tree. It will be used as a kind, to index the 'Record' and 'Variant' types.
-data Map k v = E 
-             | N Color (Map k v) k v (Map k v)
+data Map symbol q = E 
+             | N Color (Map symbol q) symbol q (Map symbol q)
     deriving (Show,Eq)
 
 -- | A map without entries. See also 'unit' and 'impossible'.
@@ -80,13 +80,13 @@ --
 -- UndecidableSuperClasses and RankNTypes seem to be required by KeysValuesAllF.
 type family
-  KeysValuesAllF (c :: k -> v -> Constraint) (t :: Map k v) :: Constraint where
+  KeysValuesAllF (c :: symbol -> q -> Constraint) (t :: Map symbol q) :: Constraint where
   KeysValuesAllF  _ E                        = ()
   KeysValuesAllF  c (N color left k v right) = (c k v, KeysValuesAll c left, KeysValuesAll c right)
 
 {- | Require a constraint for every key-value pair in a tree. This is a generalization of 'Data.SOP.All' from "Data.SOP".
 -}
-class KeysValuesAllF c t => KeysValuesAll (c :: k -> v -> Constraint) (t :: Map k v) where
+class KeysValuesAllF c t => KeysValuesAll (c :: symbol -> q -> Constraint) (t :: Map symbol q) where
 
   --  'cpara_Map' constructs a 'Record' by means of a constraint for producing
   --  the nodes of the tree. The constraint is passed as a 'Data.Proxy.Proxy'.
@@ -142,7 +142,7 @@ 
   Defined using the "class synonym" <https://www.reddit.com/r/haskell/comments/ab8ypl/monthly_hask_anything_january_2019/edk1ot3/ trick>.
 -}
-class KnownSymbol k => KnownKey (k :: Symbol) (v :: z)
+class KnownSymbol k => KnownKey (k :: Symbol) (v :: q)
 instance KnownSymbol k => KnownKey k v 
 
 {- | 
@@ -168,7 +168,7 @@ 
   Defined using the "class synonym" <https://www.reddit.com/r/haskell/comments/ab8ypl/monthly_hask_anything_january_2019/edk1ot3/ trick>.
 -}
-class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) v
+class (KnownSymbol k, Typeable v) => KnownKeyTypeableValue (k :: Symbol) (v :: q)
 instance (KnownSymbol k, Typeable v) => KnownKeyTypeableValue k v 
 
 -- class KeyValueTop (k :: Symbol) (v :: z)
red-black-record.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.0
 name:                red-black-record
-version:             2.1.0.2
+version:             2.1.0.3
 synopsis:            Extensible records and variants indexed by a type-level Red-Black tree.
 
 description:         A library that provides extensible records and variants,