generic-lens-core-2.2.1.0: Generically derive traversals, lenses and prisms.
Copyright(C) 2020 Csongor Kiss
LicenseBSD3
MaintainerCsongor Kiss <kiss.csongor.kiss@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Generics.Product.Internal.GLens

Description

Derive record field getters and setters generically.

Documentation

class GLens (pred :: Pred) (s :: Type -> Type) (t :: Type -> Type) a b | s pred -> a, t pred -> b where Source #

Methods

glens :: Lens (s x) (t x) a b Source #

Instances

Instances details
GLens pred (K1 r a :: Type -> Type) (K1 r b :: Type -> Type) a b Source # 
Instance details

Defined in Data.Generics.Product.Internal.GLens

Methods

glens :: Lens (K1 r a x) (K1 r b x) a b Source #

(GLens pred l l' a b, GLens pred r r' a b) => GLens pred (l :+: r) (l' :+: r') a b Source # 
Instance details

Defined in Data.Generics.Product.Internal.GLens

Methods

glens :: Lens ((l :+: r) x) ((l' :+: r') x) a b Source #

GProductLens (Eval pred l) pred l r l' r' a b => GLens pred (l :*: r) (l' :*: r') a b Source # 
Instance details

Defined in Data.Generics.Product.Internal.GLens

Methods

glens :: Lens ((l :*: r) x) ((l' :*: r') x) a b Source #

GLens pred f g a b => GLens pred (M1 m meta f) (M1 m meta g) a b Source # 
Instance details

Defined in Data.Generics.Product.Internal.GLens

Methods

glens :: Lens (M1 m meta f x) (M1 m meta g x) a b Source #

type GLens' pred s a = GLens pred s s a a Source #

type TyFun a b = a -> b -> Type Source #

type family Eval (f :: TyFun a b) (x :: a) :: b Source #