module Evalenv:Evaluation environment.sig
..end
typeconstraintenv =
Constraint.Constraint.cexp list AstUtils.VarMap.t
typetypeconstraint =
string ->
Ast.Ast.relation ->
constraintenv -> constraintenv
type
evalenv = {
|
typeconstraints : |
|
tyenv : |
|
tydefenv : |
|
functions : |
|
globalbindings : |
|
localbindings : |
|
constraintbindings : |
val default_tyconstraint : string ->
Ast.Ast.relation ->
constraintenv -> constraintenv
Default empty environment.
val empty_evalenv : evalenv
val addFunDecl : evalenv -> Ast.Ast.fundecl -> evalenv
val lookupFunDecl : evalenv -> string -> Ast.Ast.fundecl option
val bindTypeGlobalEnv : evalenv ->
string -> Ast.Ast.typerep -> evalenv
val addTypeDecl : evalenv ->
Ast.Ast.userty -> Ast.Ast.constraintbody list -> evalenv
val lookupTypeDeclByData : evalenv -> string -> Ast.Ast.userty option
val lookupType : evalenv -> Ast.Ast.var -> Ast.Ast.typerep option
val lookupTypeConstraints : evalenv -> string -> typeconstraint option
val addConstraintGlobalEnv : evalenv ->
Ast.Ast.var -> Constraint.Constraint.cexp -> evalenv
val addConstraintListGlobalEnv : evalenv ->
Ast.Ast.var -> Constraint.Constraint.cexp list -> evalenv
val lookupConstraintsEnv : evalenv -> Ast.Ast.var -> Constraint.Constraint.cexp list
val lookupValueEnv : evalenv -> Ast.Ast.var -> Ast.Ast.exp option
val bindValueGlobalEnv : evalenv ->
Ast.Ast.var -> Ast.Ast.exp -> evalenv
val bindValueLocalEnv : evalenv ->
Ast.Ast.var -> Ast.Ast.exp -> evalenv
val lookupRelationGlobalEnv : evalenv -> Ast.Ast.var -> Ast.Ast.relation option
val addConstraint : evalenv ->
string -> Ast.Ast.constraintbody list -> evalenv