Safe Haskell | None |
---|
- using :: forall p a. ReifiableConstraint p => Def p a -> (p a => a) -> a
- usingT :: forall p f a. ReifiableConstraint p => Def p a -> (p a => f a) -> f a
- reifyInstance :: Def p a -> (forall s. Reifies s (Def p a) => Proxy s -> r) -> r
- with :: forall p a. Def p a -> (forall s. Reifies s (Def p a) => Lift p s a) -> a
- data Lift p s a
- class ReifiableConstraint p where
Documentation
using :: forall p a. ReifiableConstraint p => Def p a -> (p a => a) -> aSource
Choose a dictionary for a local type class instance.
>>>
using (Monoid (+) 0) $ mempty <> 10 <> 12
> 12
usingT :: forall p f a. ReifiableConstraint p => Def p a -> (p a => f a) -> f aSource
Functor (Lift p s) | |
Applicative (Lift p s) | |
Reifies * s (Def Bounded a) => Bounded (Lift Bounded s a) | |
Reifies * s (Def Enum a) => Enum (Lift Enum s a) | |
Reifies * s (Def Eq a) => Eq (Lift Eq s a) | |
Reifies * s (Def Ord a) => Eq (Lift Ord s a) | |
Reifies * s (Def Real a) => Eq (Lift Real s a) | |
Reifies * s (Def Num a) => Num (Lift Num s a) | |
Reifies * s (Def Real a) => Num (Lift Real s a) | |
Reifies * s (Def Ord a) => Ord (Lift Ord s a) | |
Reifies * s (Def Real a) => Ord (Lift Real s a) | |
Reifies * s (Def Read a) => Read (Lift Read s a) | |
Reifies * s (Def Real a) => Real (Lift Real s a) | |
Reifies * s (Def Show a) => Show (Lift Show s a) | |
Reifies * s (Def ToJSON a) => ToJSON (Lift ToJSON s a) | |
Reifies * s (Def FromJSON a) => FromJSON (Lift FromJSON s a) | |
Reifies * s (Def Monoid a) => Monoid (Lift Monoid s a) |
class ReifiableConstraint p whereSource