 | hets -- a heterogenous Specification (CASL) tool set | Contents | Index |
|
HasCASL.TypeCheck | Portability | portable | Stability | experimental | Maintainer | hets@tzi.de |
|
|
|
|
|
Description |
type inference
|
|
Synopsis |
|
aVar :: Id | | aType :: Type | | bindA :: Type -> TypeScheme | | eqType :: TypeScheme | | logType :: TypeScheme | | defType :: TypeScheme | | notType :: TypeScheme | | ifType :: TypeScheme | | whenType :: TypeScheme | | bList :: [(Id, TypeScheme)] | | addUnit :: TypeMap -> TypeMap | | addOps :: Assumps -> Assumps | | resolveTerm :: GlobalAnnos -> Maybe Type -> Term -> State Env (Maybe Term) | | checkPattern :: GlobalAnnos -> Pattern -> State Env (Maybe Pattern) | | instantiate :: OpInfo -> State Env (Type, OpInfo) | | lookupError :: Type -> [OpInfo] -> String | | checkList :: (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> [Maybe Type] -> [a] -> State Env [(Subst, [Type], [a])] | | typeCheck :: (PosItem a, PrettyPrint a) => (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> Maybe Type -> a -> State Env (Maybe a) | | freshTypeVar :: State Env Type | | freshVars :: [a] -> State Env [Type] | | inferAppl :: (PosItem a, PrettyPrint a) => (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> (a -> a -> a) -> Maybe Type -> a -> a -> State Env [(Subst, Type, a)] | | infer :: Maybe Type -> Term -> State Env [(Subst, Type, Term)] | | inferLetEq :: Maybe Type -> ProgEq -> State Env [(Subst, Type, ProgEq)] | | inferPat :: Maybe Type -> Pattern -> State Env [(Subst, Type, Pattern)] | | inferCaseEq :: Type -> Type -> ProgEq -> State Env [(Subst, Type, Type, ProgEq)] | | inferCaseEqs :: Type -> Type -> [ProgEq] -> State Env [(Subst, Type, Type, [ProgEq])] |
|
|
Documentation |
|
aVar :: Id |
|
aType :: Type |
|
bindA :: Type -> TypeScheme |
|
eqType :: TypeScheme |
|
logType :: TypeScheme |
|
defType :: TypeScheme |
|
notType :: TypeScheme |
|
ifType :: TypeScheme |
|
whenType :: TypeScheme |
|
bList :: [(Id, TypeScheme)] |
|
addUnit :: TypeMap -> TypeMap |
|
addOps :: Assumps -> Assumps |
|
resolveTerm :: GlobalAnnos -> Maybe Type -> Term -> State Env (Maybe Term) |
|
checkPattern :: GlobalAnnos -> Pattern -> State Env (Maybe Pattern) |
|
instantiate :: OpInfo -> State Env (Type, OpInfo) |
|
lookupError :: Type -> [OpInfo] -> String |
|
checkList :: (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> [Maybe Type] -> [a] -> State Env [(Subst, [Type], [a])] |
|
typeCheck :: (PosItem a, PrettyPrint a) => (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> Maybe Type -> a -> State Env (Maybe a) |
|
freshTypeVar :: State Env Type |
|
freshVars :: [a] -> State Env [Type] |
|
inferAppl :: (PosItem a, PrettyPrint a) => (Maybe Type -> a -> State Env [(Subst, Type, a)]) -> (a -> a -> a) -> Maybe Type -> a -> a -> State Env [(Subst, Type, a)] |
|
infer :: Maybe Type -> Term -> State Env [(Subst, Type, Term)] |
|
inferLetEq :: Maybe Type -> ProgEq -> State Env [(Subst, Type, ProgEq)] |
|
inferPat :: Maybe Type -> Pattern -> State Env [(Subst, Type, Pattern)] |
type check patterns |
|
inferCaseEq :: Type -> Type -> ProgEq -> State Env [(Subst, Type, Type, ProgEq)] |
|
inferCaseEqs :: Type -> Type -> [ProgEq] -> State Env [(Subst, Type, Type, [ProgEq])] |
|
Produced by Haddock version 0.6 |