more-extensible-effects-0.1.0.4: Initial project template from stack

Safe HaskellNone
LanguageHaskell2010

Data.OpenUnion

Documentation

data Union r v Source #

class KnownNat (FindElem t r) => Member t r where Source #

Minimal complete definition

inj, prj

Methods

inj :: t v -> Union r v Source #

prj :: Union r v -> Maybe (t v) Source #

Instances

KnownNat (FindElem t r) => Member t r Source # 

Methods

inj :: t v -> Union * r v Source #

prj :: Union * r v -> Maybe (t v) Source #

class Member t r => MemberU2 tag t r | tag r -> t Source #

Instances

MemberU' k (EQU (* -> *) t1 t2) tag t1 ((:) (* -> *) t2 r) => MemberU2 k tag t1 ((:) (* -> *) t2 r) Source # 

decomp :: Union (t ': r) v -> Either (Union r v) (t v) Source #

weaken :: Union r w -> Union (any ': r) w Source #