witness-0.6.2: values that witness types
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Type.Witness.General.WitnessValue

Documentation

class WitnessValue w where Source #

Associated Types

type WitnessValueType w :: Type Source #

Methods

witnessToValue :: forall t. w t -> WitnessValueType w Source #

valueToWitness :: forall r. WitnessValueType w -> (forall t. w t -> r) -> r Source #

Instances

Instances details
WitnessValue NaturalType Source # 
Instance details

Defined in Data.Type.Witness.Specific.Natural

Associated Types

type WitnessValueType NaturalType Source #

Methods

witnessToValue :: forall (t :: k). NaturalType t -> WitnessValueType NaturalType Source #

valueToWitness :: WitnessValueType NaturalType -> (forall (t :: k). NaturalType t -> r) -> r Source #

WitnessValue PeanoNatType Source # 
Instance details

Defined in Data.Type.Witness.Specific.PeanoNat

Associated Types

type WitnessValueType PeanoNatType Source #

WitnessValue SymbolType Source # 
Instance details

Defined in Data.Type.Witness.Specific.Symbol

Associated Types

type WitnessValueType SymbolType Source #

Methods

witnessToValue :: forall (t :: k). SymbolType t -> WitnessValueType SymbolType Source #

valueToWitness :: WitnessValueType SymbolType -> (forall (t :: k). SymbolType t -> r) -> r Source #

someToValue :: forall k (w :: k -> Type). WitnessValue w => Some w -> WitnessValueType w Source #

valueToSome :: forall k (w :: k -> Type). WitnessValue w => WitnessValueType w -> Some w Source #