ghc-prim-0.9.0: GHC primitives
Copyright(c) The University of Glasgow 2009
Licensesee libraries/ghc-prim/LICENSE
Maintainercvs-ghc@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC Extensions)
Safe HaskellUnsafe
LanguageHaskell2010

GHC.Magic.Dict

Description

Defines the withDict function. For more information, see Note [withDict] in GHC.HsToCore.Expr 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

Documentation

withDict :: forall {rr :: RuntimeRep} st dt (r :: TYPE rr). st -> (dt => r) -> r Source #

withDict d f provides a way to call a type-class–overloaded function f by applying it to the supplied dictionary d.

withDict can only be used if the type class has a single method with no superclasses. For more (important) details on how this works, see Note [withDict] in GHC.HsToCore.Expr in GHC.