generic-lens-core-2.2.1.0: Generically derive traversals, lenses and prisms.
Copyright (C) 2020 Csongor Kiss
License BSD3
Maintainer Csongor Kiss <kiss.csongor.kiss@gmail.com>
Stability experimental
Portability non-portable
Safe Haskell None
Language Haskell2010

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 #