ajhc-0.8.0.8: Haskell compiler that produce binary through C language

Safe HaskellNone

FrontEnd.Tc.Monad

Synopsis

Documentation

data TcInfo Source

information that is passed into the type checker.

getDeName :: DeNameable n => Tc (n -> n)Source

inst :: Instantiate a => Map Int Type -> Map Name Type -> a -> aSource

localEnv :: TypeEnv -> Tc a -> Tc aSource

run a computation with a local environment

newBox :: Kind -> Tc TypeSource

returns a new box and a function to read said box.

quantify_n :: [MetaVar] -> [Pred] -> [Rho] -> Tc [Sigma]Source

runTc :: (MonadIO m, OptionMonad m) => TcInfo -> Tc a -> m aSource

skolomize :: Sigma -> Tc ([Tyvar], [Pred], Type)Source

replace bound variables with arbitrary new ones and drop the binding TODO predicates?

withContext :: Diagnostic -> Tc a -> Tc aSource

given a diagnostic and a computation to take place inside the TI-monad, run the computation but during it have the diagnostic at the top of the stack

withMetaVars :: MetaVar -> [Kind] -> ([Sigma] -> Sigma) -> ([Sigma'] -> Tc a) -> Tc aSource