| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
GHC.Tc.TyCl.Utils
Contents
Description
Analysis functions over data types. Specifically, detecting recursive types.
This stuff is only used for source-code decls; it's recorded in interface files for imported data types.
Synopsis
- type RolesInfo = Name -> [Role]
 - inferRoles :: HscSource -> RoleAnnotEnv -> [TyCon] -> Name -> [Role]
 - checkSynCycles :: Unit -> [TyCon] -> [LTyClDecl GhcRn] -> TcM ()
 - checkClassCycles :: Class -> Maybe SuperclassCycle
 - addTyConsToGblEnv :: [TyCon] -> TcM (TcGblEnv, ThBindEnv)
 - mkDefaultMethodType :: Class -> Id -> DefMethSpec Type -> Type
 - tcRecSelBinds :: [(Id, LHsBind GhcRn)] -> TcM TcGblEnv
 - mkRecSelBinds :: [TyCon] -> [(Id, LHsBind GhcRn)]
 - mkOneRecordSelector :: [ConLike] -> RecSelParent -> FieldLabel -> FieldSelectors -> (Id, LHsBind GhcRn)
 
Documentation
inferRoles :: HscSource -> RoleAnnotEnv -> [TyCon] -> Name -> [Role] Source #
Implicits
mkDefaultMethodType :: Class -> Id -> DefMethSpec Type -> Type Source #
Record selectors
mkOneRecordSelector :: [ConLike] -> RecSelParent -> FieldLabel -> FieldSelectors -> (Id, LHsBind GhcRn) Source #