generic-lens-1.0.0.2: Generically derive traversals, lenses and prisms.

Copyright(C) 2017 Csongor Kiss
LicenseBSD3
MaintainerCsongor Kiss <kiss.csongor.kiss@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Generics.Product.List

Description

Derive an isomorphism between a product type and a flat HList.

Documentation

class IsList (m :: Type) (f :: Type) (g :: Type) (as :: [(m, Type)]) (bs :: [(m, Type)]) | m f -> as, m g -> bs where Source #

Minimal complete definition

list

Methods

list :: Iso f g (List as) (List bs) Source #

Instances
(Generic f, Generic g, GIsList m (Rep f) (Rep g) as bs) => IsList m f g (as :: [(m, Type)]) (bs :: [(m, Type)]) Source # 
Instance details

Defined in Data.Generics.Product.List

Methods

list :: Iso f g (List as) (List bs) Source #

class IsList Symbol f g as bs => IsRecord f g (as :: [(Symbol, Type)]) (bs :: [(Symbol, Type)]) | f -> as, g -> bs Source #

Instances
IsList Symbol f g as bs => IsRecord f g as bs Source # 
Instance details

Defined in Data.Generics.Product.List

class IsRecord f f as as => IsRecord' f (as :: [(Symbol, Type)]) | f -> as Source #

Instances
IsRecord f f as as => IsRecord' f as Source # 
Instance details

Defined in Data.Generics.Product.List