Safe Haskell | None |
---|
Language.PureScript.TypeChecker.Monad
Description
Documentation
Constructors
Value | |
Extern | |
Alias ModulePath Ident | |
LocalVariable |
data Environment Source
Constructors
Environment | |
Fields
|
Instances
bindNames :: MonadState CheckState m => Map (ModulePath, Ident) (Type, NameKind) -> m a -> m aSource
bindLocalVariables :: (Functor m, MonadState CheckState m) => [(Ident, Type)] -> m a -> m aSource
lookupVariable :: (Functor m, MonadState CheckState m, MonadError String m) => Qualified Ident -> m TypeSource
data AnyUnifiable whereSource
Constructors
AnyUnifiable :: forall t. Unifiable t => t -> AnyUnifiable |
getEnv :: (Functor m, MonadState CheckState m) => m EnvironmentSource
putEnv :: MonadState CheckState m => Environment -> m ()Source
modifyEnv :: MonadState CheckState m => (Environment -> Environment) -> m ()Source
guardWith :: MonadError e m => e -> Bool -> m ()Source
rethrow :: MonadError e m => (e -> e) -> m a -> m aSource
withModule :: ProperName -> Check a -> Check aSource
newtype Substitution Source
Constructors
Substitution | |
Fields
|
Instances
data SubstState Source
Constructors
SubstState | |
Fields |
Constructors
Subst | |
Fields
|
runSubst :: Unifiable a => Subst a -> Check (a, Substitution, [AnyUnifiable])Source
substituteWith :: Typeable t => (Unknown t -> t) -> SubstitutionSource
substituteOne :: Unifiable t => Unknown t -> t -> SubstitutionSource
class (Typeable t, Data t, Show t) => Unifiable t whereSource
occursCheck :: Unifiable t => Unknown s -> t -> Subst ()Source
escapeCheckLater :: Unifiable t => t -> Subst ()Source