| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Data.Witness.Representative
- class Eq1 p where
- isWitnessRepresentative :: Dict (Is rep a) -> rep a
- class Eq1 rep => Representative rep where
- getRepWitness :: forall a. rep a -> Dict (Is rep a)
- withRepresentative :: forall rep r. Representative rep => (forall a. Is rep a => rep a -> r) -> forall b. rep b -> r
- class Representative rep => Is rep a where
- representative :: rep a
- getRepresentative :: Is rep a => a -> rep a
- rerepresentative :: Is rep a => p a -> rep a
- mkAny :: Is rep a => a -> Any rep
- mkAnyF :: Is rep a => f a -> AnyF rep f
Documentation
isWitnessRepresentative :: Dict (Is rep a) -> rep a Source
class Eq1 rep => Representative rep where Source
Instances
| Representative NatKind Nat Source | |
| Representative * w => Representative * (ListType w) Source | |
| Representative k (Proxy k) Source |
withRepresentative :: forall rep r. Representative rep => (forall a. Is rep a => rep a -> r) -> forall b. rep b -> r Source
class Representative rep => Is rep a where Source
If two representatives have the same type, then they have the same value.
getRepresentative :: Is rep a => a -> rep a Source
rerepresentative :: Is rep a => p a -> rep a Source