Safe Haskell | Safe |
---|---|

Language | Haskell2010 |

## Synopsis

- class Reiterate c (xs :: [Type]) where
- class ReiterateN c (n :: Nat) (xs :: [Type]) where
- reiterateN :: c n xs -> c (n + 1) (Tail xs)

# Documentation

class Reiterate c (xs :: [Type]) where Source #

Allows iterating over the types in a typelist

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 # | |

Reiterate (CaseFunc k r) xs Source # | |

Reiterate (Cases fs r) xs Source # | |

Reiterate (CaseFunc1' k k1 k0) xs Source # | |

Defined in Data.Diverse.CaseFunc reiterate :: CaseFunc1' k k1 k0 xs -> CaseFunc1' k k1 k0 (Tail xs) Source # | |

Reiterate (CaseFunc1 k k1 k0 r) xs Source # | |

Reiterate (CaseFunc1_ k k1 k0 r x) xs Source # | |

Defined in Data.Diverse.CaseFunc reiterate :: CaseFunc1_ k k1 k0 r x xs -> CaseFunc1_ k k1 k0 r x (Tail 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

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 # | |

Defined in Data.Diverse.Cases |