data-diverse-2.0.0.0: Extensible records and polymorphic variants.

Safe HaskellSafe
LanguageHaskell2010

Data.Diverse.Reiterate

Synopsis

Documentation

class Reiterate c xs where Source #

Allows iterating over the types in a typelist

Minimal complete definition

reiterate

Methods

reiterate :: c xs -> c (Tail xs) Source #

Return the next iteration without the Head type x in (x ': xs)

Instances

Reiterate (CaseFunc' k) xs Source # 

Methods

reiterate :: CaseFunc' k xs -> CaseFunc' k (Tail Type xs) Source #

Reiterate (CaseFunc k r) xs Source # 

Methods

reiterate :: CaseFunc k r xs -> CaseFunc k r (Tail Type xs) Source #

Reiterate (Cases fs r) xs Source # 

Methods

reiterate :: Cases fs r xs -> Cases fs r (Tail Type xs) Source #

class ReiterateN c n xs where Source #

Allows iterating over the types in a typelist, whilst also incrementing an Nat index

Minimal complete definition

reiterateN

Methods

reiterateN :: c n xs -> c (n + 1) (Tail xs) Source #

Return the next iteration without the Head type x in (x ': xs)

Instances

ReiterateN (CasesN fs r) n xs Source # 

Methods

reiterateN :: CasesN fs r n xs -> CasesN fs r (n + 1) (Tail Type xs) Source #