Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- mkContext :: FeatureSet -> [(OccName, CType)] -> TcGblEnv -> Context
- contextMethodHypothesis :: Context -> Hypothesis CType
- excludeForbiddenMethods :: [HyInfo a] -> [HyInfo a]
- definedThetaType :: Context -> OccName -> Maybe CType
- splitId :: Id -> (OccName, CType)
- getFunBindId :: HsBindLR GhcTc GhcTc -> [Id]
- getCurrentDefinitions :: MonadReader Context m => m [(OccName, CType)]
- getModuleHypothesis :: MonadReader Context m => m [(OccName, CType)]
Documentation
contextMethodHypothesis :: Context -> Hypothesis CType Source #
Find all of the class methods that exist from the givens in the context.
excludeForbiddenMethods :: [HyInfo a] -> [HyInfo a] Source #
Many operations are defined in typeclasses for performance reasons, rather than being a true part of the class. This function filters out those, in order to keep our hypothesis space small.
definedThetaType :: Context -> OccName -> Maybe CType Source #
Given the name of a function that exists in ctxDefiningFuncs
, get its
theta type.
getCurrentDefinitions :: MonadReader Context m => m [(OccName, CType)] Source #
getModuleHypothesis :: MonadReader Context m => m [(OccName, CType)] Source #