Module Algebra_type

module Algebra_type: sig .. end

type physical_annotation = {
   has_nested_snap : bool;
   has_side_effect : bool;
   has_delta_update : bool;
   path_annotation : Alg_path_struct.path_annotation;
   mutable materialize_tuple_stream : bool;
}
type eval_code_unit = Execution_context.algebra_context -> unit -> Physical_value.physical_value 
type eval_code_unary = Execution_context.algebra_context ->
Physical_value.physical_value -> Physical_value.physical_value
type eval_code_binary = Execution_context.algebra_context ->
Physical_value.physical_value ->
Physical_value.physical_value -> Physical_value.physical_value
type eval_code_many = Execution_context.algebra_context ->
Physical_value.physical_value array -> Physical_value.physical_value
type alg_eval_code = 
| AOECUnit of eval_code_unit
| AOECUnary of eval_code_unary
| AOECBinary of eval_code_binary
| AOECMany of eval_code_many
type eval_fun = Execution_context.algebra_context ->
algop_expr -> Physical_value.physical_value
type tail_entry_code = Physical_value.physical_value array -> algop_expr 
type tail_exit_code = Physical_value.physical_value -> Physical_value.physical_value 
type alg_eval_code_dep = 
| NoDep of (eval_fun -> alg_eval_code)
* (tail_entry_code * tail_exit_code) option
| SomeDep of (eval_fun -> alg_eval_code)
* (tail_entry_code * tail_exit_code) option
type algop_sub_exprs = (alg_eval_code_dep, physical_annotation)
Xquery_algebra_ast.aalgop_sub_exprs
type algop_expr = (alg_eval_code_dep, physical_annotation)
Xquery_algebra_ast.aalgop_expr
type eval_code_unit_prolog = Execution_context.algebra_context ->
unit -> Execution_context.algebra_context
type eval_code_unary_prolog = Execution_context.algebra_context ->
Physical_value.physical_value -> Execution_context.algebra_context
type eval_code_binary_prolog = Execution_context.algebra_context ->
Physical_value.physical_value ->
Physical_value.physical_value -> Execution_context.algebra_context
type eval_code_many_prolog = Execution_context.algebra_context ->
Physical_value.physical_value array -> Execution_context.algebra_context
type alg_eval_code_prolog = 
| PAOECUnit of eval_code_unit_prolog
| PAOECUnary of eval_code_unary_prolog
| PAOECBinary of eval_code_binary_prolog
| PAOECMany of eval_code_many_prolog
type alg_eval_code_dep_prolog = 
| PNoDep of alg_eval_code_prolog
| PSomeDep of (eval_fun -> alg_eval_code_prolog)
type eval_fun_prolog = Execution_context.algebra_context ->
algop_expr -> Execution_context.algebra_context
type algop_decl = (alg_eval_code_dep, physical_annotation,
alg_eval_code_dep_prolog)
Xquery_algebra_ast.aalgop_decl
type algop_prolog = (alg_eval_code_dep, physical_annotation,
alg_eval_code_dep_prolog)
Xquery_algebra_ast.aalgop_prolog
type algop_xmodule = (alg_eval_code_dep, physical_annotation,
alg_eval_code_dep_prolog)
Xquery_algebra_ast.aalgop_xmodule
type algop_function_body = (alg_eval_code_dep, physical_annotation)
Xquery_algebra_ast.aalgop_expr
type alg_compile_context = (alg_eval_code_dep, physical_annotation)
Compile_context.compile_context
type item_cursor_nary_to_item_cursor_code = Execution_context.algebra_context ->
Physical_value.item Cursor.cursor array -> Physical_value.item Cursor.cursor
type item_list_nary_to_item_list_code = Execution_context.algebra_context ->
Physical_value.item list array -> Physical_value.item list