1 {-# GHC_PRAGMA INTERFACE VERSION 5 #-}
6 import PreludeGlaST(_MutableArray)
8 import TyVar(TyVar, TyVarTemplate)
9 import UniType(UniType)
12 data SubstResult = SubstOK | OccursCheck TyVar UniType | AlreadyBound UniType
15 applySubstToThetaTy :: Subst -> [(Class, UniType)] -> (Subst, [(Class, UniType)])
16 applySubstToTy :: Subst -> UniType -> (Subst, UniType)
17 applySubstToTyVar :: Subst -> TyVar -> (Subst, UniType)
18 combineSubstUndos :: Subst -> Subst
19 extendSubst :: TyVar -> UniType -> Subst -> (Subst, SubstResult)
20 getSubstTyVarUnique :: Subst -> (Subst, Unique)
21 getSubstTyVarUniques :: Int -> Subst -> (Subst, [Unique])
22 mkEmptySubst :: Int -> Subst
23 pushSubstUndos :: Subst -> Subst
24 undoSubstUndos :: Subst -> Subst