Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
WitnessValue NaturalType Source # | |
Defined in Data.Type.Witness.Specific.Natural Associated Types Methods witnessToValue :: forall (t :: k). NaturalType t -> WitnessValueType NaturalType Source # valueToWitness :: WitnessValueType NaturalType -> (forall (t :: k). NaturalType t -> r) -> r Source # | |
WitnessValue PeanoNatType Source # | |
Defined in Data.Type.Witness.Specific.PeanoNat Associated Types Methods witnessToValue :: forall (t :: k). PeanoNatType t -> WitnessValueType PeanoNatType Source # valueToWitness :: WitnessValueType PeanoNatType -> (forall (t :: k). PeanoNatType t -> r) -> r Source # | |
WitnessValue SymbolType Source # | |
Defined in Data.Type.Witness.Specific.Symbol Associated Types 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 #