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 : evalenvval addFunDecl : evalenv -> Ast.Ast.fundecl -> evalenvval lookupFunDecl : evalenv -> string -> Ast.Ast.fundecl optionval bindTypeGlobalEnv : evalenv ->
string -> Ast.Ast.typerep -> evalenvval addTypeDecl : evalenv ->
Ast.Ast.userty -> Ast.Ast.constraintbody list -> evalenvval lookupTypeDeclByData : evalenv -> string -> Ast.Ast.userty optionval lookupType : evalenv -> Ast.Ast.var -> Ast.Ast.typerep optionval lookupTypeConstraints : evalenv -> string -> typeconstraint optionval addConstraintGlobalEnv : evalenv ->
Ast.Ast.var -> Constraint.Constraint.cexp -> evalenvval addConstraintListGlobalEnv : evalenv ->
Ast.Ast.var -> Constraint.Constraint.cexp list -> evalenvval lookupConstraintsEnv : evalenv -> Ast.Ast.var -> Constraint.Constraint.cexp listval lookupValueEnv : evalenv -> Ast.Ast.var -> Ast.Ast.exp optionval bindValueGlobalEnv : evalenv ->
Ast.Ast.var -> Ast.Ast.exp -> evalenvval bindValueLocalEnv : evalenv ->
Ast.Ast.var -> Ast.Ast.exp -> evalenvval lookupRelationGlobalEnv : evalenv -> Ast.Ast.var -> Ast.Ast.relation optionval addConstraint : evalenv ->
string -> Ast.Ast.constraintbody list -> evalenv