witness-0.4: values that witness types

Safe HaskellSafe
LanguageHaskell98

Data.Witness.ListElement

Documentation

class HasListElement n list where Source #

Minimal complete definition

getListElement, putListElement

Associated Types

type ListElement n list :: * Source #

Methods

getListElement :: NatType n -> list -> ListElement n list Source #

putListElement :: NatType n -> ListElement n list -> list -> list Source #

Instances

HasListElement Zero (a, r) Source # 

Associated Types

type ListElement (Zero :: Nat) (a, r) :: * Source #

Methods

getListElement :: NatType Zero -> (a, r) -> ListElement Zero (a, r) Source #

putListElement :: NatType Zero -> ListElement Zero (a, r) -> (a, r) -> (a, r) Source #

HasListElement n r => HasListElement (Succ n) (a, r) Source # 

Associated Types

type ListElement (Succ n :: Nat) (a, r) :: * Source #

Methods

getListElement :: NatType (Succ n) -> (a, r) -> ListElement (Succ n) (a, r) Source #

putListElement :: NatType (Succ n) -> ListElement (Succ n) (a, r) -> (a, r) -> (a, r) Source #