 | 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 |