extensible-0.8: Extensible, efficient, optics-friendly data types and effects

Copyright(c) Fumiaki Kinoshita 2018
LicenseBSD3
MaintainerFumiaki Kinoshita <fumiexcel@gmail.com>
Safe HaskellNone
LanguageHaskell2010

Data.Extensible.Label

Contents

Description

Experimental API for OverloadedLabels. GHC 8.0+ only

Synopsis

Documentation

xlb :: Proxy k -> FieldOptic k Source #

Specialised version of itemAssoc. Stands for "eXtensible LaBel"

Orphan instances

(Lookup xs k2 v2, Wrapper h, Repr h v2 ~ a) => HasField (k2 :: k1) (RecordOf h xs) a Source # 
Instance details

Methods

getField :: RecordOf h xs -> a #

(Extensible f p e, Lookup xs k v2, Labelling k p, Wrapper h, ExtensibleConstr e xs (Field h :: Assoc Symbol v1 -> Type) (k :> v2), rep ~ Repr h v2, s ~ e xs (Field h :: Assoc Symbol v1 -> Type), s ~ t, rep ~ rep') => IsLabel k (p rep (f rep') -> p s (f t)) Source # 
Instance details

Methods

fromLabel :: p rep (f rep') -> p s (f t) #

k ~ l => IsLabel k (Proxy l) Source # 
Instance details

Methods

fromLabel :: Proxy l #