Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
class WitnessValue w where Source #
type WitnessValueType w :: Type Source #
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 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 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 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 #