- class Eq1 p where
- class Eq1 rep => Representative rep where
- withRepresentative :: forall r. (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
class Eq1 rep => Representative rep whereSource
withRepresentative :: forall r. (forall a. Is rep a => rep a -> r) -> forall b. rep b -> rSource
Every value is an instance of Is
.
class Representative rep => Is rep a whereSource
If two representatives have the same type, then they have the same value.
representative :: rep aSource
The representative value for type a
.
getRepresentative :: Is rep a => a -> rep aSource
rerepresentative :: Is rep a => p a -> rep aSource