| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Language.PureScript.TypeChecker.Monad
Description
Documentation
Constructors
| Value | |
| Extern ForeignImportType | |
| Alias ModuleName Ident | |
| LocalVariable | |
| DataConstructor |
data TypeDeclarationKind Source
Constructors
| Data | |
| ExternData | |
| TypeSynonym | |
| DataAlias ModuleName ProperName | |
| LocalTypeVariable |
Instances
data Environment Source
Constructors
| Environment | |
Fields
| |
Instances
bindNames :: MonadState CheckState m => Map (ModuleName, Ident) (Type, NameKind) -> m a -> m a Source
bindTypes :: MonadState CheckState m => Map (ModuleName, ProperName) (Kind, TypeDeclarationKind) -> m a -> m a Source
withTypeClassDictionaries :: MonadState CheckState m => [TypeClassDictionaryInScope] -> m a -> m a Source
getTypeClassDictionaries :: (Functor m, MonadState CheckState m) => m [TypeClassDictionaryInScope] Source
bindLocalVariables :: (Functor m, MonadState CheckState m) => ModuleName -> [(Ident, Type)] -> m a -> m a Source
bindLocalTypeVariables :: (Functor m, MonadState CheckState m) => ModuleName -> [(ProperName, Kind)] -> m a -> m a Source
lookupVariable :: (Functor m, MonadState CheckState m, MonadError String m) => ModuleName -> Qualified Ident -> m Type Source
lookupTypeVariable :: (Functor m, MonadState CheckState m, MonadError String m) => ModuleName -> Qualified ProperName -> m Kind Source
canonicalize :: ModuleName -> Environment -> Qualified Ident -> (ModuleName, Ident) Source
canonicalizeType :: ModuleName -> Environment -> Qualified ProperName -> (ModuleName, ProperName) Source
data CheckState Source
Constructors
| CheckState | |
Fields
| |
Instances
getEnv :: (Functor m, MonadState CheckState m) => m Environment Source
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 a Source
newtype Substitution Source
Constructors
| Substitution | |
Fields
| |
Instances
data SubstState Source
Constructors
| SubstState | |
Fields | |
Constructors
| Subst | |
Fields
| |
runSubst :: SubstContext -> Subst a -> Check (a, Substitution) Source
substituteWith :: Typeable t => (Unknown t -> t) -> Substitution Source
substituteOne :: Unifiable t => Unknown t -> t -> Substitution Source
class (Typeable t, Data t, Show t) => Unifiable t where Source
occursCheck :: Unifiable t => Unknown s -> t -> Subst () Source
qualifyAllUnqualifiedNames :: Data d => ModuleName -> Environment -> d -> d Source