Copyright | (c) The University of Glasgow 2009 |
---|---|
License | see libraries/ghc-prim/LICENSE |
Maintainer | cvs-ghc@haskell.org |
Stability | internal |
Portability | non-portable (GHC Extensions) |
Safe Haskell | Unsafe |
Language | Haskell2010 |
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.
Synopsis
- class WithDict cls meth where
- withDict :: forall {rr :: RuntimeRep} (r :: TYPE rr). meth -> (cls => r) -> r
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
withDict :: forall {rr :: RuntimeRep} (r :: TYPE rr). meth -> (cls => r) -> r Source #