Module Qcert.Compiler.Lib.QEval
Require
Import
List
.
Require
Import
String
.
Require
Import
EquivDec
.
Require
Import
DataSystem
.
Require
Import
CompilerRuntime
.
Require
Import
CompLang
.
Require
Import
CompEval
.
Module
QEval
(
runtime
:
CompilerRuntime
).
Section
QE
.
Context
{
bm
:
brand_model
}.
Definition
constant_env
:
Set
:=
list
(
string
*
data
).
Definition
dconstant_env
:
Set
:=
list
(
string
*
ddata
).
Definition
world_env
:
Set
:=
list
data
.
Definition
eval_camp_rule
:
camp_rule
->
constant_env
->
option
data
:= @
eval_camp_rule
_
_
bm
.
Definition
eval_camp_rule_debug
:
bool
->
camp_rule
->
constant_env
->
string
:= @
eval_camp_rule_debug
_
_
bm
.
Definition
eval_camp
:
camp
->
constant_env
->
option
data
:= @
eval_camp
_
_
bm
.
Definition
eval_camp_debug
:
bool
->
camp
->
constant_env
->
string
:= @
eval_camp_debug
_
_
bm
.
Definition
eval_oql
:
oql
->
constant_env
->
option
data
:= @
eval_oql
_
_
bm
.
Definition
eval_lambda_nra
:
lambda_nra
->
constant_env
->
option
data
:= @
eval_lambda_nra
_
_
bm
.
Definition
eval_nra
:
nra
->
constant_env
->
option
data
:= @
eval_nra
_
_
bm
.
Definition
eval_nraenv_core
:
nraenv_core
->
constant_env
->
option
data
:= @
eval_nraenv_core
_
_
bm
.
Definition
eval_nraenv
:
nraenv
->
constant_env
->
option
data
:= @
eval_nraenv
_
_
bm
.
Definition
eval_nnrc
:
nnrc
->
constant_env
->
option
data
:= @
eval_nnrc
_
_
bm
.
Definition
eval_nnrs
:
nnrs
->
constant_env
->
option
data
:= @
eval_nnrs
_
_
bm
.
Definition
eval_nnrcmr
:
nnrcmr
->
dconstant_env
->
option
data
:= @
eval_nnrcmr
_
_
_
bm
.
Definition
eval_dnnrc
{
bm
:
brand_model
} :
dnnrc
->
dconstant_env
->
option
data
:= @
eval_dnnrc
_
_
bm
.
Definition
eval_input
:
Set
:=
eval_input
.
Definition
eval_output
:
Set
:=
eval_output
.
Definition
eval_query
{
bm
:
brand_model
} :
@
query
runtime.compiler_foreign_runtime
runtime.compiler_foreign_ejson_model
runtime.compiler_foreign_ejson_runtime_op
runtime.compiler_foreign_reduce_op
runtime.compiler_foreign_type
bm
->
eval_input
->
eval_output
:=
eval_query
.
Definition
eval_query_debug
{
bm
:
brand_model
} :
@
query
runtime.compiler_foreign_runtime
runtime.compiler_foreign_ejson_model
runtime.compiler_foreign_ejson_runtime_op
runtime.compiler_foreign_reduce_op
runtime.compiler_foreign_type
bm
->
eval_input
->
eval_output
:=
eval_query_debug
.
Definition
eval_camp_rule_world
:
camp_rule
->
world_env
->
option
data
:= @
eval_camp_rule_world
_
_
bm
.
Definition
eval_camp_rule_world_debug
:
bool
->
camp_rule
->
world_env
->
string
:= @
eval_camp_rule_world_debug
_
_
bm
.
Definition
eval_camp_world
:
camp
->
world_env
->
option
data
:= @
eval_camp_world
_
_
bm
.
Definition
eval_camp_world_debug
:
bool
->
camp
->
world_env
->
string
:= @
eval_camp_world_debug
_
_
bm
.
Definition
eval_oql_world
:
oql
->
world_env
->
option
data
:= @
eval_oql_world
_
_
bm
.
Definition
eval_lambda_nra_world
:
lambda_nra
->
world_env
->
option
data
:= @
eval_lambda_nra_world
_
_
bm
.
Definition
eval_nra_world
:
nra
->
world_env
->
option
data
:= @
eval_nra_world
_
_
bm
.
Definition
eval_nraenv_core_world
:
nraenv_core
->
world_env
->
option
data
:= @
eval_nraenv_core_world
_
_
bm
.
Definition
eval_nraenv_world
:
nraenv
->
world_env
->
option
data
:= @
eval_nraenv_world
_
_
bm
.
Definition
eval_nnrc_world
:
nnrc
->
world_env
->
option
data
:= @
eval_nnrc_world
_
_
bm
.
Definition
eval_nnrcmr_world
:
nnrcmr
->
world_env
->
option
data
:= @
eval_nnrcmr_world
_
_
_
bm
.
Definition
eval_dnnrc_world
{
bm
:
brand_model
} :
dnnrc
->
world_env
->
option
data
:= @
eval_dnnrc_world
_
_
bm
.
End
QE
.
End
QEval
.