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

Safe HaskellSafe
LanguageHaskell2010

Data.Diverse.Reiterate

Synopsis

Documentation

class Reiterate c (xs :: [Type]) 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 :: Nat) (xs :: [Type]) 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 #