Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- matchGlobalInst :: DynFlags -> Bool -> Class -> [Type] -> TcM ClsInstResult
- data ClsInstResult
- = NoInstance
- | OneInst {
- cir_new_theta :: [TcPredType]
- cir_mk_ev :: [EvExpr] -> EvTerm
- cir_what :: InstanceWhat
- | NotSure
- data InstanceWhat
- = BuiltinInstance
- | LocalInstance
- | TopLevInstance {
- iw_dfun_id :: DFunId
- iw_safe_over :: SafeOverlapping
- safeOverlap :: InstanceWhat -> Bool
- data AssocInstInfo
- = NotAssociated
- | InClsInst { }
- isNotAssociated :: AssocInstInfo -> Bool
Documentation
matchGlobalInst :: DynFlags -> Bool -> Class -> [Type] -> TcM ClsInstResult Source #
data ClsInstResult Source #
NoInstance | |
OneInst | |
| |
NotSure |
Instances
data InstanceWhat Source #
BuiltinInstance | |
LocalInstance | |
TopLevInstance | |
|
Instances
safeOverlap :: InstanceWhat -> Bool Source #
data AssocInstInfo Source #
Extra information about the parent instance declaration, needed
when type-checking associated types. The Class
is the enclosing
class, the [TyVar] are the scoped type variable of the instance decl.
The VarEnv Type
maps class variables to their instance types.
isNotAssociated :: AssocInstInfo -> Bool Source #