exon-1.2.0.0: Customizable Quasiquote Interpolation
Safe HaskellSafe-Inferred
LanguageHaskell2010

Exon.Class.Newtype

Description

 
Synopsis

Documentation

class OverNewtype (current :: Type) (wrapped :: Maybe Type) (inner :: Type) | current -> inner where Source #

Internal auxiliary class that applies a function to the value inside of a nested chain of Generic newtypes.

Methods

overNewtype :: (NonEmpty (Segment inner) -> inner) -> NonEmpty (Segment current) -> current Source #

Instances

Instances details
OverNewtype current ('Nothing :: Maybe Type) current Source # 
Instance details

Defined in Exon.Class.Newtype

Methods

overNewtype :: (NonEmpty (Segment current) -> current) -> NonEmpty (Segment current) -> current Source #

(OverNt current wrapped, IsNewtype wrapped next, OverNewtype wrapped next inner) => OverNewtype current ('Just wrapped) inner Source # 
Instance details

Defined in Exon.Class.Newtype

Methods

overNewtype :: (NonEmpty (Segment inner) -> inner) -> NonEmpty (Segment current) -> current Source #

class OverNewtypes (result :: Type) (inner :: Type) | result -> inner where Source #

Internal auxiliary class that applies a function to the value inside of a nested chain of Generic newtypes.

The method only passes its arguments to overNewtypes, but the class hides the intermediate parameter.

Methods

overNewtypes :: (NonEmpty (Segment inner) -> inner) -> NonEmpty (Segment result) -> result Source #

Instances

Instances details
(IsNewtype result wrapped, OverNewtype result wrapped inner) => OverNewtypes result inner Source # 
Instance details

Defined in Exon.Class.Newtype

Methods

overNewtypes :: (NonEmpty (Segment inner) -> inner) -> NonEmpty (Segment result) -> result Source #