thih-1.0: Typing Haskell In Haskell

TIMain

Documentation

type Alt = ([Pat], Expr)Source

tiAlts :: ClassEnv -> [Assump] -> [Alt] -> Type -> TI [Pred]Source

split :: Monad m => ClassEnv -> [Tyvar] -> [Tyvar] -> [Pred] -> m ([Pred], [Pred])Source

withDefaults :: Monad m => ([Ambiguity] -> [Type] -> a) -> ClassEnv -> [Tyvar] -> [Pred] -> m aSource

type Expl = (Id, Scheme, [Alt])Source

type Impl = (Id, [Alt])Source

type BindGroup = ([Expl], [[Impl]])Source

tiSeq :: Infer bg [Assump] -> Infer [bg] [Assump]Source