| Copyright | (C) 2020 Csongor Kiss |
|---|---|
| License | BSD3 |
| Maintainer | Csongor Kiss <kiss.csongor.kiss@gmail.com> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Data.Generics.Product.Internal.Subtype
Description
Structural subtype relationships between product types.
Documentation
type Context a b = (Generic a, Generic b, GSmash (Rep a) (Rep b), GUpcast (Rep a) (Rep b), CustomError a b) Source #
class GSmash sub sup where Source #
Instances
| (GSmash a sup, GSmash b sup) => GSmash (a :*: b :: k -> Type) (sup :: k -> Type) Source # | |
| GSmash sub sup => GSmash (C1 c sub :: k -> Type) (sup :: k -> Type) Source # | |
| GSmash sub sup => GSmash (D1 c sub :: k -> Type) (sup :: k -> Type) Source # | |
| (leaf ~ S1 ('MetaSel ('Just field) p f b) t, GSmashLeaf leaf sup (HasTotalFieldP field sup)) => GSmash (S1 ('MetaSel ('Just field) p f b) t :: k -> Type) (sup :: k -> Type) Source # | |
class GUpcast (sub :: Type -> Type) (sup :: Type -> Type) where Source #
Instances
| (GUpcast sub a, GUpcast sub b) => GUpcast sub (a :*: b) Source # | |
Defined in Data.Generics.Product.Internal.Subtype | |
| GUpcast sub sup => GUpcast sub (C1 c sup) Source # | |
Defined in Data.Generics.Product.Internal.Subtype | |
| GUpcast sub sup => GUpcast sub (D1 c sup) Source # | |
Defined in Data.Generics.Product.Internal.Subtype | |
| GLens' (HasTotalFieldPSym field) sub t => GUpcast sub (S1 ('MetaSel ('Just field) p f b) (Rec0 t)) Source # | |