hets -- a heterogenous Specification (CASL) tool setContentsIndex
HasCASL.VarDecl
Portability non-portable (MonadState)
Stability provisional
Maintainer hets@tzi.de
Description
analyse generic var (or type var) decls
Synopsis
putTypeMap :: TypeMap -> State Env ()
addTypeId :: Bool -> TypeDefn -> Instance -> Kind -> Id -> State Env (Maybe Id)
addTypeKind :: Bool -> TypeDefn -> Id -> Kind -> State Env ()
anaTypeVarDecl :: TypeArg -> State Env (Maybe TypeArg)
addTypeVarDecl :: Bool -> TypeArg -> State Env (Maybe TypeArg)
kindArity :: ApplMode -> Kind -> Int
putAssumps :: Assumps -> State Env ()
partitionOpId :: Assumps -> TypeMap -> Int -> UninstOpId -> TypeScheme -> ([OpInfo], [OpInfo])
addOpId :: UninstOpId -> TypeScheme -> [OpAttr] -> OpDefn -> State Env (Maybe UninstOpId)
addGenVarDecl :: GenVarDecl -> State Env (Maybe GenVarDecl)
anaGenVarDecl :: GenVarDecl -> State Env (Maybe GenVarDecl)
convertTypeToKind :: Type -> State Env (Maybe Kind)
optAnaVarDecl :: VarDecl -> State Env (Maybe GenVarDecl)
anaVarDecl :: VarDecl -> State Env (Maybe VarDecl)
addVarDecl :: VarDecl -> State Env (Maybe VarDecl)
checkUniqueVars :: [VarDecl] -> State Env ()
checkUniqueTypevars :: [TypeArg] -> State Env ()
filterAssumps :: (OpInfo -> Bool) -> Assumps -> Assumps
Documentation
putTypeMap :: TypeMap -> State Env ()
store a complete type map
addTypeId :: Bool -> TypeDefn -> Instance -> Kind -> Id -> State Env (Maybe Id)
store type id and check kind arity (warn on redeclared types)
addTypeKind :: Bool -> TypeDefn -> Id -> Kind -> State Env ()
store type as is (warn on redeclared types)
anaTypeVarDecl :: TypeArg -> State Env (Maybe TypeArg)
analyse a type argument and look up a missing kind
addTypeVarDecl :: Bool -> TypeArg -> State Env (Maybe TypeArg)
add an analysed type argument (warn on redeclared types)
kindArity :: ApplMode -> Kind -> Int
compute arity from a Kind
putAssumps :: Assumps -> State Env ()
store assumptions
partitionOpId :: Assumps -> TypeMap -> Int -> UninstOpId -> TypeScheme -> ([OpInfo], [OpInfo])
find information for qualified operation
addOpId :: UninstOpId -> TypeScheme -> [OpAttr] -> OpDefn -> State Env (Maybe UninstOpId)
storing an operation
addGenVarDecl :: GenVarDecl -> State Env (Maybe GenVarDecl)
anaGenVarDecl :: GenVarDecl -> State Env (Maybe GenVarDecl)
convertTypeToKind :: Type -> State Env (Maybe Kind)
optAnaVarDecl :: VarDecl -> State Env (Maybe GenVarDecl)
anaVarDecl :: VarDecl -> State Env (Maybe VarDecl)
analyse
addVarDecl :: VarDecl -> State Env (Maybe VarDecl)
add a local variable with an analysed type
checkUniqueVars :: [VarDecl] -> State Env ()
check uniqueness of variables
checkUniqueTypevars :: [TypeArg] -> State Env ()
check uniqueness of type variables
filterAssumps :: (OpInfo -> Bool) -> Assumps -> Assumps
filter out assumption
Produced by Haddock version 0.6