GHC.Magic.Dict
Defines the withDict
function. For more information, see
Note [withDict]
in GHC.Tc.Instance.Class in GHC.
The definition of withDict
is located in a separate module from
GHC.Magic because withDict
is Unsafe
(it threatens type class
coherence) while GHC.Magic is Trustworthy
.
Use GHC.Exts from the base
package instead of importing this
module directly.
Documentation
class WithDict cls meth where Source #
The constraint
can be solved when evidence for
the constraint WithDict
cls methcls
can be provided in the form of a dictionary of
type meth
. This requires cls
to be a class constraint whose single
method has type meth
.
For more (important) details on how this works, see
Note [withDict]
in GHC.Tc.Instance.Class in GHC.
Since: ghc-prim-0.9.0
Methods
withDict :: forall {rr :: RuntimeRep} (r :: TYPE rr). meth -> (cls => r) -> r Source #