Module Hax_engine.Ast

type todo = Prelude.string
val pp_todo : Ppx_deriving_runtime.Format.formatter -> todo -> Ppx_deriving_runtime.unit
val show_todo : todo -> Ppx_deriving_runtime.string
val equal_todo : todo -> todo -> Ppx_deriving_runtime.bool
val todo_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> todo
val yojson_of_todo : todo -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_todo : todo -> todo -> Prelude.int
val todo_of_sexp : Sexplib0.Sexp.t -> todo
val sexp_of_todo : todo -> Sexplib0.Sexp.t
val hash_fold_todo : Ppx_hash_lib.Std.Hash.state -> todo -> Ppx_hash_lib.Std.Hash.state
val hash_todo : todo -> Ppx_hash_lib.Std.Hash.hash_value
type span = Span.t
val pp_span : Ppx_deriving_runtime.Format.formatter -> span -> Ppx_deriving_runtime.unit
val show_span : span -> Ppx_deriving_runtime.string
val equal_span : span -> span -> Ppx_deriving_runtime.bool
val span_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> span
val yojson_of_span : span -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_span : span -> span -> Prelude.int
val span_of_sexp : Sexplib0.Sexp.t -> span
val sexp_of_span : span -> Sexplib0.Sexp.t
val hash_fold_span : Ppx_hash_lib.Std.Hash.state -> span -> Ppx_hash_lib.Std.Hash.state
val hash_span : span -> Ppx_hash_lib.Std.Hash.hash_value
type concrete_ident = Concrete_ident.t
val pp_concrete_ident : Ppx_deriving_runtime.Format.formatter -> concrete_ident -> Ppx_deriving_runtime.unit
val show_concrete_ident : concrete_ident -> Ppx_deriving_runtime.string
val equal_concrete_ident : concrete_ident -> concrete_ident -> Ppx_deriving_runtime.bool
val concrete_ident_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> concrete_ident
val yojson_of_concrete_ident : concrete_ident -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_concrete_ident : concrete_ident -> concrete_ident -> Prelude.int
val concrete_ident_of_sexp : Sexplib0.Sexp.t -> concrete_ident
val sexp_of_concrete_ident : concrete_ident -> Sexplib0.Sexp.t
val hash_fold_concrete_ident : Ppx_hash_lib.Std.Hash.state -> concrete_ident -> Ppx_hash_lib.Std.Hash.state
val hash_concrete_ident : concrete_ident -> Ppx_hash_lib.Std.Hash.hash_value
type logical_op =
  1. | And
  2. | Or
and primitive_ident =
  1. | Deref
  2. | Cast
  3. | LogicalOp of logical_op
val pp_logical_op : Ppx_deriving_runtime.Format.formatter -> logical_op -> Ppx_deriving_runtime.unit
val show_logical_op : logical_op -> Ppx_deriving_runtime.string
val pp_primitive_ident : Ppx_deriving_runtime.Format.formatter -> primitive_ident -> Ppx_deriving_runtime.unit
val show_primitive_ident : primitive_ident -> Ppx_deriving_runtime.string
val equal_logical_op : logical_op -> logical_op -> Ppx_deriving_runtime.bool
val equal_primitive_ident : primitive_ident -> primitive_ident -> Ppx_deriving_runtime.bool
val logical_op_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> logical_op
val primitive_ident_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> primitive_ident
val yojson_of_logical_op : logical_op -> Ppx_yojson_conv_lib.Yojson.Safe.t
val yojson_of_primitive_ident : primitive_ident -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_logical_op : logical_op -> logical_op -> Prelude.int
val compare_primitive_ident : primitive_ident -> primitive_ident -> Prelude.int
val logical_op_of_sexp : Sexplib0.Sexp.t -> logical_op
val primitive_ident_of_sexp : Sexplib0.Sexp.t -> primitive_ident
val sexp_of_logical_op : logical_op -> Sexplib0.Sexp.t
val sexp_of_primitive_ident : primitive_ident -> Sexplib0.Sexp.t
val hash_fold_logical_op : Ppx_hash_lib.Std.Hash.state -> logical_op -> Ppx_hash_lib.Std.Hash.state
val hash_fold_primitive_ident : Ppx_hash_lib.Std.Hash.state -> primitive_ident -> Ppx_hash_lib.Std.Hash.state
val hash_logical_op : logical_op -> Ppx_hash_lib.Std.Hash.hash_value
val hash_primitive_ident : primitive_ident -> Ppx_hash_lib.Std.Hash.hash_value
module Global_ident : sig ... end
type global_ident = Global_ident.t
val pp_global_ident : Ppx_deriving_runtime.Format.formatter -> global_ident -> Ppx_deriving_runtime.unit
val show_global_ident : global_ident -> Ppx_deriving_runtime.string
val equal_global_ident : global_ident -> global_ident -> Ppx_deriving_runtime.bool
val global_ident_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> global_ident
val yojson_of_global_ident : global_ident -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_global_ident : global_ident -> global_ident -> Prelude.int
val global_ident_of_sexp : Sexplib0.Sexp.t -> global_ident
val sexp_of_global_ident : global_ident -> Sexplib0.Sexp.t
val hash_fold_global_ident : Ppx_hash_lib.Std.Hash.state -> global_ident -> Ppx_hash_lib.Std.Hash.state
val hash_global_ident : global_ident -> Ppx_hash_lib.Std.Hash.hash_value
type attr_kind =
  1. | Tool of {
    1. path : Prelude.string;
    2. tokens : Prelude.string;
    }
  2. | DocComment of {
    1. kind : doc_comment_kind;
    2. body : Prelude.string;
    }
and attr = {
  1. kind : attr_kind;
  2. span : span;
}
and doc_comment_kind =
  1. | DCKLine
  2. | DCKBlock
and attrs = attr Prelude.list
val pp_attr_kind : Ppx_deriving_runtime.Format.formatter -> attr_kind -> Ppx_deriving_runtime.unit
val show_attr_kind : attr_kind -> Ppx_deriving_runtime.string
val pp_attr : Ppx_deriving_runtime.Format.formatter -> attr -> Ppx_deriving_runtime.unit
val show_attr : attr -> Ppx_deriving_runtime.string
val pp_doc_comment_kind : Ppx_deriving_runtime.Format.formatter -> doc_comment_kind -> Ppx_deriving_runtime.unit
val show_doc_comment_kind : doc_comment_kind -> Ppx_deriving_runtime.string
val pp_attrs : Ppx_deriving_runtime.Format.formatter -> attrs -> Ppx_deriving_runtime.unit
val show_attrs : attrs -> Ppx_deriving_runtime.string
val equal_attr_kind : attr_kind -> attr_kind -> Ppx_deriving_runtime.bool
val equal_attr : attr -> attr -> Ppx_deriving_runtime.bool
val equal_doc_comment_kind : doc_comment_kind -> doc_comment_kind -> Ppx_deriving_runtime.bool
val equal_attrs : attrs -> attrs -> Ppx_deriving_runtime.bool
val attr_kind_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> attr_kind
val attr_of_yojson : Yojson.Safe.t -> attr
val doc_comment_kind_of_yojson : Yojson.Safe.t -> doc_comment_kind
val attrs_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> attrs
val yojson_of_attr_kind : attr_kind -> Ppx_yojson_conv_lib.Yojson.Safe.t
val yojson_of_attr : attr -> Yojson.Safe.t
val yojson_of_doc_comment_kind : doc_comment_kind -> Ppx_yojson_conv_lib.Yojson.Safe.t
val yojson_of_attrs : attrs -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_attr_kind : attr_kind -> attr_kind -> Prelude.int
val compare_attr : attr -> attr -> Prelude.int
val compare_doc_comment_kind : doc_comment_kind -> doc_comment_kind -> Prelude.int
val compare_attrs : attrs -> attrs -> Prelude.int
val attr_kind_of_sexp : Sexplib0__.Sexp.t -> attr_kind
val attr_of_sexp : Sexplib0.Sexp.t -> attr
val doc_comment_kind_of_sexp : Sexplib0__.Sexp.t -> doc_comment_kind
val attrs_of_sexp : Sexplib0.Sexp.t -> attrs
val sexp_of_attr_kind : attr_kind -> Sexplib0.Sexp.t
val sexp_of_attr : attr -> Sexplib0.Sexp.t
val sexp_of_doc_comment_kind : doc_comment_kind -> Sexplib0.Sexp.t
val sexp_of_attrs : attrs -> Sexplib0.Sexp.t
val hash_fold_attr_kind : Ppx_hash_lib.Std.Hash.state -> attr_kind -> Ppx_hash_lib.Std.Hash.state
val hash_fold_attr : Base__.Ppx_hash_lib.Std.Hash.state -> attr -> Base__.Ppx_hash_lib.Std.Hash.state
val hash_fold_doc_comment_kind : Ppx_hash_lib.Std.Hash.state -> doc_comment_kind -> Ppx_hash_lib.Std.Hash.state
val hash_fold_attrs : Ppx_hash_lib.Std.Hash.state -> attrs -> Ppx_hash_lib.Std.Hash.state
val hash_attr_kind : attr_kind -> Ppx_hash_lib.Std.Hash.hash_value
val hash_attr : attr -> Ppx_hash_lib.Std.Hash.hash_value
val hash_doc_comment_kind : doc_comment_kind -> Ppx_hash_lib.Std.Hash.hash_value
val hash_attrs : attrs -> Ppx_hash_lib.Std.Hash.hash_value
type local_ident = Local_ident.t
val pp_local_ident : Ppx_deriving_runtime.Format.formatter -> local_ident -> Ppx_deriving_runtime.unit
val show_local_ident : local_ident -> Ppx_deriving_runtime.string
val equal_local_ident : local_ident -> local_ident -> Ppx_deriving_runtime.bool
val local_ident_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> local_ident
val yojson_of_local_ident : local_ident -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_local_ident : local_ident -> local_ident -> Prelude.int
val local_ident_of_sexp : Sexplib0.Sexp.t -> local_ident
val sexp_of_local_ident : local_ident -> Sexplib0.Sexp.t
val hash_fold_local_ident : Ppx_hash_lib.Std.Hash.state -> local_ident -> Ppx_hash_lib.Std.Hash.state
val hash_local_ident : local_ident -> Ppx_hash_lib.Std.Hash.hash_value
type size =
  1. | S8
  2. | S16
  3. | S32
  4. | S64
  5. | S128
  6. | SSize
val pp_size : Ppx_deriving_runtime.Format.formatter -> size -> Ppx_deriving_runtime.unit
val show_size : size -> Ppx_deriving_runtime.string
val equal_size : size -> size -> Ppx_deriving_runtime.bool
val size_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> size
val yojson_of_size : size -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_size : size -> size -> Prelude.int
val size_of_sexp : Sexplib0.Sexp.t -> size
val sexp_of_size : size -> Sexplib0.Sexp.t
val hash_fold_size : Ppx_hash_lib.Std.Hash.state -> size -> Ppx_hash_lib.Std.Hash.state
val hash_size : size -> Ppx_hash_lib.Std.Hash.hash_value
val int_of_size : size -> int option
val string_of_size : size -> string Hax_engine.Prelude.Option.t
type signedness =
  1. | Signed
  2. | Unsigned
val pp_signedness : Ppx_deriving_runtime.Format.formatter -> signedness -> Ppx_deriving_runtime.unit
val show_signedness : signedness -> Ppx_deriving_runtime.string
val equal_signedness : signedness -> signedness -> Ppx_deriving_runtime.bool
val signedness_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> signedness
val yojson_of_signedness : signedness -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_signedness : signedness -> signedness -> Prelude.int
val signedness_of_sexp : Sexplib0.Sexp.t -> signedness
val sexp_of_signedness : signedness -> Sexplib0.Sexp.t
val hash_fold_signedness : Ppx_hash_lib.Std.Hash.state -> signedness -> Ppx_hash_lib.Std.Hash.state
val hash_signedness : signedness -> Ppx_hash_lib.Std.Hash.hash_value
type int_kind = {
  1. size : size;
  2. signedness : signedness;
}
val pp_int_kind : Ppx_deriving_runtime.Format.formatter -> int_kind -> Ppx_deriving_runtime.unit
val equal_int_kind : int_kind -> int_kind -> Ppx_deriving_runtime.bool
val int_kind_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> int_kind
val yojson_of_int_kind : int_kind -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_int_kind : int_kind -> int_kind -> Prelude.int
val int_kind_of_sexp : Sexplib0.Sexp.t -> int_kind
val sexp_of_int_kind : int_kind -> Sexplib0.Sexp.t
val hash_fold_int_kind : Ppx_hash_lib.Std.Hash.state -> int_kind -> Ppx_hash_lib.Std.Hash.state
val hash_int_kind : int_kind -> Ppx_hash_lib.Std.Hash.hash_value
val show_int_kind : int_kind -> Hax_engine.Prelude.String.t
type float_kind =
  1. | F16
  2. | F32
  3. | F64
  4. | F128
val pp_float_kind : Ppx_deriving_runtime.Format.formatter -> float_kind -> Ppx_deriving_runtime.unit
val equal_float_kind : float_kind -> float_kind -> Ppx_deriving_runtime.bool
val float_kind_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> float_kind
val yojson_of_float_kind : float_kind -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_float_kind : float_kind -> float_kind -> Prelude.int
val float_kind_of_sexp : Sexplib0.Sexp.t -> float_kind
val sexp_of_float_kind : float_kind -> Sexplib0.Sexp.t
val hash_fold_float_kind : Ppx_hash_lib.Std.Hash.state -> float_kind -> Ppx_hash_lib.Std.Hash.state
val hash_float_kind : float_kind -> Ppx_hash_lib.Std.Hash.hash_value
val show_float_kind : float_kind -> string
type literal =
  1. | String of Prelude.string
  2. | Char of Prelude.char
  3. | Int of {
    1. value : Prelude.string;
    2. negative : Prelude.bool;
    3. kind : int_kind;
    }
  4. | Float of {
    1. value : Prelude.string;
    2. negative : Prelude.bool;
    3. kind : float_kind;
    }
  5. | Bool of Prelude.bool
val pp_literal : Ppx_deriving_runtime.Format.formatter -> literal -> Ppx_deriving_runtime.unit
val show_literal : literal -> Ppx_deriving_runtime.string
val equal_literal : literal -> literal -> Ppx_deriving_runtime.bool
val literal_of_yojson : Ppx_yojson_conv_lib.Yojson.Safe.t -> literal
val yojson_of_literal : literal -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_literal : literal -> literal -> Prelude.int
val literal_of_sexp : Sexplib0.Sexp.t -> literal
val sexp_of_literal : literal -> Sexplib0.Sexp.t
val hash_fold_literal : Ppx_hash_lib.Std.Hash.state -> literal -> Ppx_hash_lib.Std.Hash.state
val hash_literal : literal -> Ppx_hash_lib.Std.Hash.hash_value
type 'mut_witness mutability =
  1. | Mutable of 'mut_witness
  2. | Immutable
val pp_mutability : 'mut_witness. (Ppx_deriving_runtime.Format.formatter -> 'mut_witness -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'mut_witness mutability -> Ppx_deriving_runtime.unit
val show_mutability : 'mut_witness. (Ppx_deriving_runtime.Format.formatter -> 'mut_witness -> Ppx_deriving_runtime.unit) -> 'mut_witness mutability -> Ppx_deriving_runtime.string
val equal_mutability : 'mut_witness. ('mut_witness -> 'mut_witness -> Ppx_deriving_runtime.bool) -> 'mut_witness mutability -> 'mut_witness mutability -> Ppx_deriving_runtime.bool
val mutability_of_yojson : 'mut_witness. (Ppx_yojson_conv_lib.Yojson.Safe.t -> 'mut_witness) -> Ppx_yojson_conv_lib.Yojson.Safe.t -> 'mut_witness mutability
val yojson_of_mutability : 'mut_witness. ('mut_witness -> Ppx_yojson_conv_lib.Yojson.Safe.t) -> 'mut_witness mutability -> Ppx_yojson_conv_lib.Yojson.Safe.t
val compare_mutability : 'mut_witness. ('mut_witness -> 'mut_witness -> Prelude.int) -> 'mut_witness mutability -> 'mut_witness mutability -> Prelude.int
val mutability_of_sexp : 'mut_witness. (Sexplib0.Sexp.t -> 'mut_witness) -> Sexplib0.Sexp.t -> 'mut_witness mutability
val sexp_of_mutability : 'mut_witness. ('mut_witness -> Sexplib0.Sexp.t) -> 'mut_witness mutability -> Sexplib0.Sexp.t
val hash_fold_mutability : 'mut_witness. (Ppx_hash_lib.Std.Hash.state -> 'mut_witness -> Ppx_hash_lib.Std.Hash.state) -> Ppx_hash_lib.Std.Hash.state -> 'mut_witness mutability -> Ppx_hash_lib.Std.Hash.state
module Make (F : Features.T) : sig ... end
module type T = sig ... end
module Rust : sig ... end
module Full : sig ... end