packages feed

extensible 0.8.1 → 0.8.2

raw patch · 8 files changed

+24/−37 lines, 8 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Extensible: data Proxy (t :: k) :: forall k. () => k -> Type
- Data.Extensible.Bits: instance (Data.Extensible.Bits.FromBits r a, Data.Extensible.Bits.FromBits r b, n Data.Type.Equality.~ (Data.Extensible.Bits.BitWidth a GHC.TypeNats.+ Data.Extensible.Bits.BitWidth b), n GHC.TypeNats.<= Data.Extensible.Bits.BitWidth r, GHC.TypeNats.KnownNat n) => Data.Extensible.Bits.FromBits r (a, b)
- Data.Extensible.Bits: instance forall k v r (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). (Data.Bits.Bits r, Data.Extensible.Bits.FromBits r (h (Type.Membership.TargetOf x))) => Data.Extensible.Bits.FromBits r (Data.Extensible.Field.Field h x)
- Data.Extensible.Bits: instance forall r k (xs :: [k]) (h :: k -> Type). GHC.Arr.Ix r => GHC.Arr.Ix (Data.Extensible.Bits.BitProd r xs h)
- Data.Extensible.Class: data Membership (xs :: [k]) (x :: k) :: forall k. () => [k] -> k -> Type
- Data.Extensible.Dictionary: instance forall k1 k2 (c :: k2 -> GHC.Types.Constraint) (h :: k1 -> k2) (x :: k1). c (h x) => Data.Extensible.Dictionary.Instance1 c h x
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Control.DeepSeq.NFData (h (Type.Membership.TargetOf kv)) => Control.DeepSeq.NFData (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Aeson.Types.FromJSON.FromJSON (h (Type.Membership.TargetOf kv)) => Data.Aeson.Types.FromJSON.FromJSON (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Aeson.Types.ToJSON.ToJSON (h (Type.Membership.TargetOf kv)) => Data.Aeson.Types.ToJSON.ToJSON (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Csv.Conversion.FromField (h (Type.Membership.TargetOf kv)) => Data.Csv.Conversion.FromField (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Csv.Conversion.ToField (h (Type.Membership.TargetOf kv)) => Data.Csv.Conversion.ToField (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Hashable.Class.Hashable (h (Type.Membership.TargetOf kv)) => Data.Hashable.Class.Hashable (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Incremental.Incremental (h (Type.Membership.TargetOf kv)) => Data.Incremental.Incremental (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Foreign.Storable.Storable (h (Type.Membership.TargetOf kv)) => Foreign.Storable.Storable (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Base.Monoid (h (Type.Membership.TargetOf kv)) => GHC.Base.Monoid (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Base.Semigroup (h (Type.Membership.TargetOf kv)) => GHC.Base.Semigroup (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Classes.Eq (h (Type.Membership.TargetOf kv)) => GHC.Classes.Eq (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Classes.Ord (h (Type.Membership.TargetOf kv)) => GHC.Classes.Ord (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Enum.Bounded (h (Type.Membership.TargetOf kv)) => GHC.Enum.Bounded (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Enum.Enum (h (Type.Membership.TargetOf kv)) => GHC.Enum.Enum (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Float.Floating (h (Type.Membership.TargetOf kv)) => GHC.Float.Floating (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Float.RealFloat (h (Type.Membership.TargetOf kv)) => GHC.Float.RealFloat (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Num.Num (h (Type.Membership.TargetOf kv)) => GHC.Num.Num (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Fractional (h (Type.Membership.TargetOf kv)) => GHC.Real.Fractional (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Integral (h (Type.Membership.TargetOf kv)) => GHC.Real.Integral (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Real (h (Type.Membership.TargetOf kv)) => GHC.Real.Real (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.RealFrac (h (Type.Membership.TargetOf kv)) => GHC.Real.RealFrac (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Test.QuickCheck.Arbitrary.Arbitrary (h (Type.Membership.TargetOf kv)) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Extensible.Field.Field h kv)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector (Data.Extensible.Field.Field h x)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector (Data.Extensible.Field.Field h x)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Unboxed.Base.Unbox (Data.Extensible.Field.Field h x)
- Data.Extensible.Field: instance forall k v (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Language.Haskell.TH.Syntax.Lift (h (Type.Membership.TargetOf x)) => Language.Haskell.TH.Syntax.Lift (Data.Extensible.Field.Field h x)
- Data.Extensible.Field: instance forall k v (h :: v -> Type). Data.Extensible.Wrapper.Wrapper h => Data.Extensible.Wrapper.Wrapper (Data.Extensible.Field.Field h)
- Data.Extensible.Inclusion: instance forall k1 v1 (xs :: [Type.Membership.Internal.Assoc k1 v1]) (t :: Type.Membership.Internal.Assoc k1 v1) (k2 :: k1) (v2 :: v1). (Data.Extensible.Inclusion.Associated' xs t, t Data.Type.Equality.~ (k2 'Type.Membership.Internal.:> v2)) => Data.Extensible.Inclusion.Associated xs t
- Data.Extensible.Label: instance (k Data.Type.Equality.~ l) => GHC.OverloadedLabels.IsLabel k (Data.Proxy.Proxy l)
- Data.Extensible.Label: instance forall k1 v1 (xs :: [Type.Membership.Internal.Assoc k1 v1]) (k2 :: k1) (v2 :: v1) (h :: v1 -> Type) a. (Type.Membership.Internal.Lookup xs k2 v2, Data.Extensible.Wrapper.Wrapper h, Data.Extensible.Wrapper.Repr h v2 Data.Type.Equality.~ a) => GHC.Records.HasField k2 (Data.Extensible.Field.RecordOf h xs) a
- Data.Extensible.Label: instance forall v1 (f :: Type -> Type) (p :: Type -> Type -> Type) (e :: [Type.Membership.Internal.Assoc GHC.Types.Symbol v1] -> (Type.Membership.Internal.Assoc GHC.Types.Symbol v1 -> Type) -> Type) (xs :: [Type.Membership.Internal.Assoc GHC.Types.Symbol v1]) (k :: GHC.Types.Symbol) (v2 :: v1) (h :: v1 -> Type) rep s t rep'. (Data.Extensible.Class.Extensible f p e, Type.Membership.Internal.Lookup xs k v2, Data.Extensible.Field.Labelling k p, Data.Extensible.Wrapper.Wrapper h, Data.Extensible.Class.ExtensibleConstr e xs (Data.Extensible.Field.Field h) (k 'Type.Membership.Internal.:> v2), rep Data.Type.Equality.~ Data.Extensible.Wrapper.Repr h v2, s Data.Type.Equality.~ e xs (Data.Extensible.Field.Field h), s Data.Type.Equality.~ t, rep Data.Type.Equality.~ rep') => GHC.OverloadedLabels.IsLabel k (p rep (f rep') -> p s (f t))
- Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s Data.Type.Equality.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasGetter (Data.Extensible.Struct.WrappedPointer s h a) a
- Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s Data.Type.Equality.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasSetter (Data.Extensible.Struct.WrappedPointer s h a) a
- Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s Data.Type.Equality.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasUpdate (Data.Extensible.Struct.WrappedPointer s h a) a a
- Data.Extensible.Wrapper: instance forall i j (f :: j -> Type) (g :: i -> j) (a :: i). Language.Haskell.TH.Syntax.Lift (f (g a)) => Language.Haskell.TH.Syntax.Lift (Data.Extensible.Wrapper.Comp f g a)
+ Data.Extensible: data Proxy (t :: k)
+ Data.Extensible.Bits: instance (Data.Extensible.Bits.FromBits r a, Data.Extensible.Bits.FromBits r b, n GHC.Types.~ (Data.Extensible.Bits.BitWidth a GHC.TypeNats.+ Data.Extensible.Bits.BitWidth b), n GHC.TypeNats.<= Data.Extensible.Bits.BitWidth r, GHC.TypeNats.KnownNat n) => Data.Extensible.Bits.FromBits r (a, b)
+ Data.Extensible.Bits: instance forall r k (xs :: [k]) (h :: k -> Type). GHC.Ix.Ix r => GHC.Ix.Ix (Data.Extensible.Bits.BitProd r xs h)
+ Data.Extensible.Bits: instance forall v k r (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). (Data.Bits.Bits r, Data.Extensible.Bits.FromBits r (h (Type.Membership.TargetOf x))) => Data.Extensible.Bits.FromBits r (Data.Extensible.Field.Field h x)
+ Data.Extensible.Class: data Membership (xs :: [k]) (x :: k)
+ Data.Extensible.Dictionary: instance forall k1 k2 (c :: k1 -> GHC.Types.Constraint) (h :: k2 -> k1) (x :: k2). c (h x) => Data.Extensible.Dictionary.Instance1 c h x
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Control.DeepSeq.NFData (h (Type.Membership.TargetOf kv)) => Control.DeepSeq.NFData (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Aeson.Types.FromJSON.FromJSON (h (Type.Membership.TargetOf kv)) => Data.Aeson.Types.FromJSON.FromJSON (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Aeson.Types.ToJSON.ToJSON (h (Type.Membership.TargetOf kv)) => Data.Aeson.Types.ToJSON.ToJSON (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Csv.Conversion.FromField (h (Type.Membership.TargetOf kv)) => Data.Csv.Conversion.FromField (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Csv.Conversion.ToField (h (Type.Membership.TargetOf kv)) => Data.Csv.Conversion.ToField (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Hashable.Class.Hashable (h (Type.Membership.TargetOf kv)) => Data.Hashable.Class.Hashable (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Data.Incremental.Incremental (h (Type.Membership.TargetOf kv)) => Data.Incremental.Incremental (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Foreign.Storable.Storable (h (Type.Membership.TargetOf kv)) => Foreign.Storable.Storable (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Base.Monoid (h (Type.Membership.TargetOf kv)) => GHC.Base.Monoid (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Base.Semigroup (h (Type.Membership.TargetOf kv)) => GHC.Base.Semigroup (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Classes.Eq (h (Type.Membership.TargetOf kv)) => GHC.Classes.Eq (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Classes.Ord (h (Type.Membership.TargetOf kv)) => GHC.Classes.Ord (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Enum.Bounded (h (Type.Membership.TargetOf kv)) => GHC.Enum.Bounded (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Enum.Enum (h (Type.Membership.TargetOf kv)) => GHC.Enum.Enum (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Float.Floating (h (Type.Membership.TargetOf kv)) => GHC.Float.Floating (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Float.RealFloat (h (Type.Membership.TargetOf kv)) => GHC.Float.RealFloat (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Num.Num (h (Type.Membership.TargetOf kv)) => GHC.Num.Num (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Fractional (h (Type.Membership.TargetOf kv)) => GHC.Real.Fractional (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Integral (h (Type.Membership.TargetOf kv)) => GHC.Real.Integral (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.Real (h (Type.Membership.TargetOf kv)) => GHC.Real.Real (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). GHC.Real.RealFrac (h (Type.Membership.TargetOf kv)) => GHC.Real.RealFrac (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Language.Haskell.TH.Syntax.Lift (h (Type.Membership.TargetOf kv)) => Language.Haskell.TH.Syntax.Lift (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (kv :: Type.Membership.Internal.Assoc k v). Test.QuickCheck.Arbitrary.Arbitrary (h (Type.Membership.TargetOf kv)) => Test.QuickCheck.Arbitrary.Arbitrary (Data.Extensible.Field.Field h kv)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Generic.Base.Vector Data.Vector.Unboxed.Base.Vector (Data.Extensible.Field.Field h x)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Generic.Mutable.Base.MVector Data.Vector.Unboxed.Base.MVector (Data.Extensible.Field.Field h x)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type) (x :: Type.Membership.Internal.Assoc k v). Data.Vector.Unboxed.Base.Unbox (h (Type.Membership.TargetOf x)) => Data.Vector.Unboxed.Base.Unbox (Data.Extensible.Field.Field h x)
+ Data.Extensible.Field: instance forall v k (h :: v -> Type). Data.Extensible.Wrapper.Wrapper h => Data.Extensible.Wrapper.Wrapper (Data.Extensible.Field.Field h)
+ Data.Extensible.Inclusion: instance forall k1 v1 (xs :: [Type.Membership.Internal.Assoc k1 v1]) (t :: Type.Membership.Internal.Assoc k1 v1) (k2 :: k1) (v2 :: v1). (Data.Extensible.Inclusion.Associated' xs t, t GHC.Types.~ (k2 'Type.Membership.Internal.:> v2)) => Data.Extensible.Inclusion.Associated xs t
+ Data.Extensible.Label: instance (k GHC.Types.~ l) => GHC.OverloadedLabels.IsLabel k (Data.Proxy.Proxy l)
+ Data.Extensible.Label: instance forall k1 v1 (xs :: [Type.Membership.Internal.Assoc k1 v1]) (k2 :: k1) (v2 :: v1) (h :: v1 -> Type) a. (Type.Membership.Internal.Lookup xs k2 v2, Data.Extensible.Wrapper.Wrapper h, Data.Extensible.Wrapper.Repr h v2 GHC.Types.~ a) => GHC.Records.HasField k2 (Data.Extensible.Field.RecordOf h xs) a
+ Data.Extensible.Label: instance forall v1 (f :: Type -> Type) (p :: Type -> Type -> Type) (e :: [Type.Membership.Internal.Assoc GHC.Types.Symbol v1] -> (Type.Membership.Internal.Assoc GHC.Types.Symbol v1 -> Type) -> Type) (xs :: [Type.Membership.Internal.Assoc GHC.Types.Symbol v1]) (k :: GHC.Types.Symbol) (v2 :: v1) (h :: v1 -> Type) rep s t rep'. (Data.Extensible.Class.Extensible f p e, Type.Membership.Internal.Lookup xs k v2, Data.Extensible.Field.Labelling k p, Data.Extensible.Wrapper.Wrapper h, Data.Extensible.Class.ExtensibleConstr e xs (Data.Extensible.Field.Field h) (k 'Type.Membership.Internal.:> v2), rep GHC.Types.~ Data.Extensible.Wrapper.Repr h v2, s GHC.Types.~ e xs (Data.Extensible.Field.Field h), s GHC.Types.~ t, rep GHC.Types.~ rep') => GHC.OverloadedLabels.IsLabel k (p rep (f rep') -> p s (f t))
+ Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s GHC.Types.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasGetter (Data.Extensible.Struct.WrappedPointer s h a) a
+ Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s GHC.Types.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasSetter (Data.Extensible.Struct.WrappedPointer s h a) a
+ Data.Extensible.Struct: instance forall k s (h :: k -> Type) a. (s GHC.Types.~ GHC.Prim.RealWorld, Data.Extensible.Wrapper.Wrapper h) => Data.StateVar.HasUpdate (Data.Extensible.Struct.WrappedPointer s h a) a a
+ Data.Extensible.Wrapper: instance forall j i (f :: j -> Type) (g :: i -> j) (a :: i). Language.Haskell.TH.Syntax.Lift (f (g a)) => Language.Haskell.TH.Syntax.Lift (Data.Extensible.Wrapper.Comp f g a)
- Data.Extensible: Proxy :: Proxy
+ Data.Extensible: Proxy :: Proxy (t :: k)
- Data.Extensible.Bits: BitProd :: r -> BitProd r
+ Data.Extensible.Bits: BitProd :: r -> BitProd r (xs :: [k]) (h :: k -> Type)
- Data.Extensible.Bits: [unBitProd] :: BitProd r -> r
+ Data.Extensible.Bits: [unBitProd] :: BitProd r (xs :: [k]) (h :: k -> Type) -> r
- Data.Extensible.Class: association :: Lookup xs k1 v1 => Membership xs (k1 :> v1)
+ Data.Extensible.Class: association :: Lookup xs k2 v => Membership xs (k2 :> v)
- Data.Extensible.Class: class Lookup (xs :: [Assoc k v]) (k1 :: k) (v1 :: v) | k1 xs -> v1
+ Data.Extensible.Class: class Lookup (xs :: [Assoc k k1]) (k2 :: k) (v :: k1) | k2 xs -> v
- Data.Extensible.Class: compareMembership :: () => Membership xs x -> Membership xs y -> Either Ordering (x :~: y)
+ Data.Extensible.Class: compareMembership :: forall k (xs :: [k]) (x :: k) (y :: k). Membership xs x -> Membership xs y -> Either Ordering (x :~: y)
- Data.Extensible.Class: leadership :: () => Membership (x : xs) x
+ Data.Extensible.Class: leadership :: forall k (x :: k) (xs :: [k]). Membership (x : xs) x
- Data.Extensible.Class: type (>:) = ((:>) :: k -> v -> Assoc k v)
+ Data.Extensible.Class: type (>:) = '(:>) :: k -> v -> Assoc k v
- Data.Extensible.Field: Field :: h (TargetOf kv) -> Field
+ Data.Extensible.Field: Field :: h (TargetOf kv) -> Field (h :: v -> Type) (kv :: Assoc k v)
- Data.Extensible.Field: [getField] :: Field -> h (TargetOf kv)
+ Data.Extensible.Field: [getField] :: Field (h :: v -> Type) (kv :: Assoc k v) -> h (TargetOf kv)
- Data.Extensible.Field: class pv TargetOf kv => TargetIs (pv :: k1 -> Constraint) (kv :: Assoc k k1)
+ Data.Extensible.Field: class pv TargetOf kv => TargetIs (pv :: k -> Constraint) (kv :: Assoc k1 k)
- Data.Extensible.Field: proxyKeyOf :: () => proxy kv -> Proxy (KeyOf kv)
+ Data.Extensible.Field: proxyKeyOf :: forall k v proxy (kv :: Assoc k v). proxy kv -> Proxy (KeyOf kv)
- Data.Extensible.Field: proxyTargetOf :: () => proxy kv -> Proxy (TargetOf kv)
+ Data.Extensible.Field: proxyTargetOf :: forall k1 k2 proxy (kv :: Assoc k1 k2). proxy kv -> Proxy (TargetOf kv)
- Data.Extensible.Field: stringKeyOf :: (IsString a, KnownSymbol (KeyOf kv)) => proxy kv -> a
+ Data.Extensible.Field: stringKeyOf :: forall v a (kv :: Assoc Symbol v) proxy. (IsString a, KnownSymbol (KeyOf kv)) => proxy kv -> a
- Data.Extensible.Wrapper: Comp :: f (g a) -> Comp
+ Data.Extensible.Wrapper: Comp :: f (g a) -> Comp (f :: j -> Type) (g :: i -> j) (a :: i)
- Data.Extensible.Wrapper: [getComp] :: Comp -> f (g a)
+ Data.Extensible.Wrapper: [getComp] :: Comp (f :: j -> Type) (g :: i -> j) (a :: i) -> f (g a)

Files

− examples/misc.hs
@@ -1,22 +0,0 @@-{-# LANGUAGE FlexibleContexts, ScopedTypeVariables, TypeApplications #-}--import Data.Extensible-import Data.Functor.Identity-import Data.Proxy-import GHC.TypeLits-import Data.Extensible.Internal.Rig-import Data.Typeable-import Data.Functor.Product---- | Collect keys-keys :: forall proxy xs. Forall (KeyIs KnownSymbol) xs => proxy xs -> [String]-keys _ = henumerateFor (Proxy @ (KeyIs KnownSymbol)) (Proxy @ xs)-  ((:) . symbolVal . proxyAssocKey) []--values :: Forall (ValueIs Show) xs => Record xs -> [String]-values = hfoldrWithIndexFor (Proxy @ (ValueIs Show))-  (const $ (:) . show . view _Wrapper) []--values' :: Forall (ValueIs (Product Typeable Show)) xs => Record xs -> [String]-values' = hfoldrWithIndexFor (Proxy @ (ValueIs Show))-  (const $ (:) . show . view _Wrapper) []
extensible.cabal view
@@ -1,6 +1,6 @@ cabal-version:       2.4 name:                extensible-version:             0.8.1+version:             0.8.2 synopsis:            Extensible, efficient, optics-friendly data types and effects homepage:            https://github.com/fumieval/extensible bug-reports:         http://github.com/fumieval/extensible/issues@@ -12,7 +12,7 @@ license-file:        LICENSE author:              Fumiaki Kinoshita maintainer:          Fumiaki Kinoshita <fumiexcel@gmail.com>-copyright:           Copyright (c) 2017-2020 Fumiaki Kinoshita+copyright:           Copyright (c) 2017-2021 Fumiaki Kinoshita category:            Data, Records build-type:          Simple stability:           experimental@@ -60,6 +60,7 @@   default-extensions: TypeOperators     , DeriveDataTypeable     , DeriveGeneric+    , DeriveLift     , GeneralizedNewtypeDeriving     , KindSignatures     , ConstraintKinds
src/Data/Extensible/Class.hs view
@@ -85,7 +85,7 @@ -- | Access an element specified by the key type through a wrapper. itemKey :: forall k v xs h f p t. (Wrapper h, Extensible f p t, Lookup xs k v, ExtensibleConstr t xs h (k ':> v))   => Optic' p f (t xs h) (Repr h (k ':> v))-itemKey = pieceAssoc . _WrapperAs (Proxy @ (k ':> v))+itemKey = pieceAssoc . _WrapperAs (Proxy @(k ':> v)) {-# INLINE itemKey #-}  proxyKey :: proxy k -> Proxy (k ':> v)
src/Data/Extensible/Dictionary.hs view
@@ -48,6 +48,9 @@ import qualified Data.Text as T import Data.Type.Equality import qualified Language.Haskell.TH.Lift as TH+#if MIN_VERSION_template_haskell(2,17,0)+import qualified Language.Haskell.TH.Syntax as TH+#endif import Language.Haskell.TH hiding (Type) import GHC.TypeLits import Test.QuickCheck.Arbitrary@@ -122,6 +125,9 @@ instance WrapForall TH.Lift h xs => TH.Lift (xs :& h) where   lift = hfoldrWithIndexFor (Proxy :: Proxy (Instance1 TH.Lift h))     (\_ x xs -> infixE (Just $ TH.lift x) (varE '(<:)) (Just xs)) (varE 'nil)+#if MIN_VERSION_template_haskell(2,17,0) +  liftTyped e = TH.Code $ TH.TExp <$> TH.lift e+#endif  newtype instance U.MVector s (xs :& h) = MV_Product (xs :& Comp (U.MVector s) h) newtype instance U.Vector (xs :& h) = V_Product (xs :& Comp U.Vector h)@@ -271,6 +277,9 @@   lift (EmbedAt i h) = views (pieceAt i)     (\(Comp Dict) -> conE 'EmbedAt `appE` TH.lift i `appE` TH.lift h)     (library :: xs :& Comp Dict (Instance1 TH.Lift h))+#if MIN_VERSION_template_haskell(2,17,0)+  liftTyped e = TH.Code $ TH.TExp <$> TH.lift e+#endif  instance WrapForall Arbitrary h xs => Arbitrary (xs :/ h) where   arbitrary = choose (0, hcount (Proxy :: Proxy xs)) >>= henumerateFor
src/Data/Extensible/Field.hs view
@@ -74,7 +74,6 @@ import GHC.Generics (Generic) import GHC.TypeLits hiding (Nat) import Language.Haskell.TH.Lift-import Language.Haskell.TH (appE, conE) import Test.QuickCheck.Arbitrary import Type.Membership @@ -113,6 +112,7 @@ ND_Field(Csv.ToField) #endif ND_Field(Incremental)+ND_Field(Lift)  newtype instance U.MVector s (Field h x) = MV_Field (U.MVector s (h (TargetOf x))) newtype instance U.Vector (Field h x) = V_Field (U.Vector (h (TargetOf x)))@@ -160,9 +160,6 @@   basicUnsafeCopy (MV_Field mv) (V_Field v) = G.basicUnsafeCopy mv v  instance (U.Unbox (h (TargetOf x))) => U.Unbox (Field h x)--instance Lift (h (TargetOf x)) => Lift (Field h x) where-  lift = appE (conE 'Field) . lift . getField  -- | Lift a function for the content. liftField :: (g (TargetOf kv) -> h (TargetOf kv)) -> Field g kv -> Field h kv
src/Data/Extensible/Label.hs view
@@ -25,7 +25,7 @@  -- | Specialised version of 'itemAssoc'. Stands for "eXtensible LaBel" xlb :: Proxy k -> FieldOptic k-xlb = itemAssoc+xlb t = itemAssoc t  instance (Extensible f p e   , Lookup xs k v
src/Data/Extensible/Product.hs view
@@ -130,7 +130,7 @@ hmapWithIndexWith :: forall c xs g h. Forall c xs   => (forall x. c x => Membership xs x -> g x -> h x)   -> xs :& g -> xs :& h-hmapWithIndexWith = hmapWithIndexFor (Proxy @ c)+hmapWithIndexWith = hmapWithIndexFor (Proxy @c)  -- | Transform every element in a product, preserving the order. --@@ -178,7 +178,7 @@  hfoldrWithIndexWith :: forall c xs h r. (Forall c xs)   => (forall x. c x => Membership xs x -> h x -> r -> r) -> r -> xs :& h -> r-hfoldrWithIndexWith f r xs = henumerateFor (Proxy @ c) (Proxy @ xs) (\i -> f i (hlookup i xs)) r+hfoldrWithIndexWith f r xs = henumerateFor (Proxy @c) (Proxy @xs) (\i -> f i (hlookup i xs)) r {-# INLINE hfoldrWithIndexWith #-}  -- | Constrained 'hfoldlWithIndex'@@ -214,7 +214,7 @@ -- | Constrained 'hfoldMap' hfoldMapWith :: forall c xs h a. (Forall c xs, Monoid a)   => (forall x. c x => h x -> a) -> xs :& h -> a-hfoldMapWith f = hfoldMapWithIndexFor (Proxy @ c) (const f)+hfoldMapWith f = hfoldMapWithIndexFor (Proxy @c) (const f) {-# INLINE hfoldMapWith #-}  -- | Traverse all elements and combine the result sequentially.@@ -277,7 +277,7 @@  -- | Pure version of 'hgenerateFor'. htabulateWith :: forall c xs h. Forall c xs => (forall x. c x => Membership xs x -> h x) -> xs :& h-htabulateWith f = hfrozen $ newFor (Proxy @ c) f+htabulateWith f = hfrozen $ newFor (Proxy @c) f {-# INLINE htabulateWith #-}  -- | A product filled with the specified value.@@ -287,7 +287,7 @@  -- | A product filled with the specified value. hrepeatWith :: forall c xs h. Forall c xs => (forall x. c x => h x) -> xs :& h-hrepeatWith f = htabulateFor (Proxy @ c) (const f)+hrepeatWith f = htabulateFor (Proxy @c) (const f) {-# INLINE hrepeatWith #-}  -- | 'Applicative' version of 'htabulateFor'.@@ -299,7 +299,7 @@ -- | 'Applicative' version of 'htabulateFor'. hgenerateWith :: forall c xs f h. (Forall c xs, Applicative f)   => (forall x. c x => Membership xs x -> f (h x)) -> f (xs :& h)-hgenerateWith f = fmap fromHList $ hgenerateListFor (Proxy @ c) f+hgenerateWith f = fmap fromHList $ hgenerateListFor (Proxy @c) f {-# INLINE hgenerateWith #-}  -- | Accumulate sums on a product.
src/Data/Extensible/Struct.hs view
@@ -3,7 +3,6 @@ {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE MagicHash, UnboxedTuples #-}-{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE UndecidableInstances #-} ------------------------------------------------------------------------ -- |@@ -63,6 +62,9 @@ import qualified Data.StateVar as V import GHC.Types import qualified Type.Membership.HList as L+#if __GLASGOW_HASKELL__ >= 900+import Unsafe.Coerce+#endif  -- | Mutable type-indexed struct. data Struct s (h :: k -> Type) (xs :: [k]) = Struct (SmallMutableArray# s Any)