data-diverse-0.9.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 r -> c (Tail xs) r Source #

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

Instances

Reiterate * CaseTypeable xs Source # 

Methods

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

Reiterate * (Cases fs) xs Source # 

Methods

reiterate :: xs xs r -> xs (Tail Type xs) r 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 r -> c (n + 1) (Tail xs) r Source #

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

Instances

ReiterateN * (CasesN fs) n xs Source # 

Methods

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