Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
module Sf = Simple_term_format
module Z = Aux.Z
type line_t = Base.int
val sexp_of_line_t : line_t -> Ppx_sexp_conv_lib.Sexp.t
and form_t =
| ModDecl of form_t Base.list
| AttrExport of {
line : line_t;
function_arity_list : (Base.string * Base.int) Base.list;
}
| AttrExportType of {
line : line_t;
type_arity_list : (Base.string * Base.int) Base.list;
}
| AttrImport of {
line : line_t;
module_name : Base.string;
function_arity_list : (Base.string * Base.int) Base.list;
}
| AttrMod of {
line : line_t;
module_name : Base.string;
}
| AttrFile of {
line : line_t;
file : Base.string;
file_line : line_t;
}
| DeclFun of {
line : line_t;
function_name : Base.string;
arity : Base.int;
clauses : clause_t Base.list;
}
| SpecFun of {
line : line_t;
module_name : Base.string Base.option;
function_name : Base.string;
arity : Base.int;
specs : type_t Base.list;
}
| Callback of {
line : line_t;
function_name : Base.string;
arity : Base.int;
specs : type_t Base.list;
}
| DeclRecord of {
line : line_t;
name : Base.string;
fields : record_field_t Base.list;
}
| DeclType of {
line : line_t;
name : Base.string;
tvars : (line_t * Base.string) Base.list;
ty : type_t;
}
| DeclOpaqueType of {
line : line_t;
name : Base.string;
tvars : (line_t * Base.string) Base.list;
ty : type_t;
}
| AttrWild of {
line : line_t;
attribute : Base.string;
term : Sf.t;
}
| FormEof
and record_field_t =
| RecordField of {
line : line_t;
line_field_name : line_t;
field_name : Base.string;
ty : type_t Base.option;
default_expr : expr_t Base.option;
}
and literal_t =
| LitAtom of {
line : line_t;
atom : Base.string;
}
| LitChar of {
line : line_t;
uchar : Base.Uchar.t;
}
| LitFloat of {
line : line_t;
float : Base.float;
}
| LitInteger of {
}
| LitBigInt of {
}
| LitString of {
}
and pattern_t =
| PatBitstr of {
line : line_t;
elements : pattern_bin_element_t Base.list;
}
| PatCompound of {
}
| PatCons of {
}
| PatNil of {
line : line_t;
}
| PatMap of {
line : line_t;
assocs : pattern_assoc_t Base.list;
}
| PatBinOp of {
line : line_t;
op : Base.string;
lhs : pattern_t;
rhs : pattern_t;
}
| PatUnaryOp of {
line : line_t;
op : Base.string;
operand : pattern_t;
}
| PatRecordFieldIndex of {
line : line_t;
name : Base.string;
line_field_name : line_t;
field_name : Base.string;
}
| PatRecord of {
line : line_t;
name : Base.string;
record_fields : (line_t * atom_or_wildcard * pattern_t) Base.list;
}
| PatTuple of {
}
| PatUniversal of {
line : line_t;
}
| PatVar of {
line : line_t;
id : Base.string;
}
| PatLit of {
lit : literal_t;
}
and pattern_bin_element_t =
| PatBinElement of {
pattern : pattern_t;
size : expr_t Base.option;
tsl : type_spec_t Base.list Base.option;
}
and expr_t =
| ExprBody of {
}
| ExprBitstr of {
line : line_t;
elements : expr_bin_element_t Base.list;
}
| ExprBitstrComprehension of {
line : line_t;
expr : expr_t;
qualifiers : qualifier_t Base.list;
}
| ExprBlock of {
}
| ExprCase of {
}
| ExprCatch of {
}
| ExprCons of {
}
| ExprNil of {
line : line_t;
}
| ExprListComprehension of {
line : line_t;
expr : expr_t;
qualifiers : qualifier_t Base.list;
}
| ExprLocalFunRef of {
line : line_t;
function_name : Base.string;
arity : Base.int;
}
| ExprRemoteFunRef of {
line : line_t;
module_name : atom_or_var_t;
function_name : atom_or_var_t;
arity : integer_or_var_t;
}
| ExprFun of {
line : line_t;
name : Base.string Base.option;
clauses : clause_t Base.list;
}
| ExprLocalCall of {
}
| ExprRemoteCall of {
line : line_t;
line_remote : line_t;
module_expr : expr_t;
function_expr : expr_t;
args : expr_t Base.list;
}
| ExprIf of {
}
| ExprMapCreation of {
line : line_t;
assocs : expr_assoc_t Base.list;
}
| ExprMapUpdate of {
line : line_t;
map : expr_t;
assocs : expr_assoc_t Base.list;
}
| ExprMatch of {
}
| ExprBinOp of {
line : line_t;
op : Base.string;
lhs : expr_t;
rhs : expr_t;
}
| ExprUnaryOp of {
line : line_t;
op : Base.string;
operand : expr_t;
}
| ExprReceive of {
}
| ExprReceiveAfter of {
}
| ExprRecord of {
line : line_t;
name : Base.string;
record_fields : record_field_for_expr Base.list;
}
| ExprRecordFieldAccess of {
line : line_t;
expr : expr_t;
name : Base.string;
line_field_name : line_t;
field_name : Base.string;
}
| ExprRecordFieldIndex of {
line : line_t;
name : Base.string;
line_field_name : line_t;
field_name : Base.string;
}
| ExprRecordUpdate of {
line : line_t;
expr : expr_t;
name : Base.string;
update_fields : record_field_for_expr Base.list;
}
| ExprTuple of {
}
| ExprTry of {
line : line_t;
exprs : expr_t Base.list;
case_clauses : clause_t Base.list;
catch_clauses : clause_t Base.list;
after : expr_t Base.list;
}
| ExprVar of {
line : line_t;
id : Base.string;
}
| ExprLit of {
lit : literal_t;
}
and atom_or_var_t =
| AtomVarAtom of {
line : line_t;
atom : Base.string;
}
| AtomVarVar of {
line : line_t;
id : Base.string;
}
and integer_or_var_t =
| IntegerVarInteger of {
}
| IntegerVarVar of {
line : line_t;
id : Base.string;
}
and record_field_for_expr =
| RecordFieldForExpr of {
line : line_t;
line_name : line_t;
name : Base.string;
value : expr_t;
}
and expr_bin_element_t =
| ExprBinElement of {
expr : expr_t;
size : expr_t Base.option;
tsl : type_spec_t Base.list Base.option;
}
and clause_t =
| ClsCase of {
line : line_t;
pattern : pattern_t;
guard_sequence : guard_sequence_t Base.option;
body : expr_t;
}
| ClsCatch of {
line : line_t;
line_cls : line_t;
line_stacktrace : line_t;
exception_class : atom_or_var_t;
pattern : pattern_t;
stacktrace : Base.string;
guard_sequence : guard_sequence_t Base.option;
body : expr_t;
}
| ClsFun of {
line : line_t;
patterns : pattern_t Base.list;
guard_sequence : guard_sequence_t Base.option;
body : expr_t;
}
| ClsIf of {
line : line_t;
guard_sequence : guard_sequence_t;
body : expr_t;
}
and guard_test_t =
| GuardTestBitstr of {
line : line_t;
elements : guard_test_bin_element_t Base.list;
}
| GuardTestCons of {
line : line_t;
head : guard_test_t;
tail : guard_test_t;
}
| GuardTestCall of {
line : line_t;
function_name : literal_t;
args : guard_test_t Base.list;
}
| GuardTestRemoteCall of {
line : line_t;
line_remote : line_t;
line_module_name : line_t;
module_name : Base.string;
line_function_name : line_t;
function_name : Base.string;
args : guard_test_t Base.list;
}
| GuardTestMapCreation of {
line : line_t;
assocs : guard_test_assoc_t Base.list;
}
| GuardTestMapUpdate of {
line : line_t;
map : guard_test_t;
assocs : guard_test_assoc_t Base.list;
}
| GuardTestNil of {
line : line_t;
}
| GuardTestBinOp of {
line : line_t;
op : Base.string;
lhs : guard_test_t;
rhs : guard_test_t;
}
| GuardTestUnaryOp of {
line : line_t;
op : Base.string;
operand : guard_test_t;
}
| GuardTestRecord of {
line : line_t;
name : Base.string;
record_fields : (line_t * atom_or_wildcard * guard_test_t) Base.list;
}
| GuardTestRecordFieldAccess of {
line : line_t;
record : guard_test_t;
name : Base.string;
line_field_name : line_t;
field_name : Base.string;
}
| GuardTestRecordFieldIndex of {
line : line_t;
name : Base.string;
line_field_name : line_t;
field_name : Base.string;
}
| GuardTestTuple of {
line : line_t;
elements : guard_test_t Base.list;
}
| GuardTestVar of {
line : line_t;
id : Base.string;
}
| GuardTestLit of {
lit : literal_t;
}
and guard_test_assoc_t =
| GuardTestAssoc of {
line : line_t;
key : guard_test_t;
value : guard_test_t;
}
| GuardTestAssocExact of {
line : line_t;
key : guard_test_t;
value : guard_test_t;
}
and atom_or_wildcard =
| AtomWildcardAtom of {
line : line_t;
atom : Base.string;
}
| AtomWildcardWildcard of {
line : line_t;
}
and guard_test_bin_element_t =
| GuardTestBinElement of {
guard_test : guard_test_t;
size : guard_test_t Base.option;
tsl : type_spec_t Base.list Base.option;
}
and type_t =
| TyAnn of {
}
| TyBitstring of {
}
| TyPredef of {
line : line_t;
name : Base.string;
args : type_t Base.list;
}
| TyBinOp of {
line : line_t;
op : Base.string;
lhs : type_t;
rhs : type_t;
}
| TyUnaryOp of {
line : line_t;
op : Base.string;
operand : type_t;
}
| TyRange of {
}
| TyAnyMap of {
line : line_t;
}
| TyMap of {
line : line_t;
assocs : type_assoc_t Base.list;
}
| TyVar of {
line : line_t;
id : Base.string;
}
| TyFunAny of {
line : line_t;
}
| TyFunAnyArity of {
}
| TyContFun of {
line : line_t;
function_type : type_t;
constraints : type_func_cont_t;
}
| TyFun of {
}
| TyRecord of {
line : line_t;
line_name : line_t;
name : Base.string;
field_types : record_field_type_t Base.list;
}
| TyRemote of {
line : line_t;
line_module_name : line_t;
module_name : Base.string;
line_type_name : line_t;
type_name : Base.string;
params : type_t Base.list;
}
| TyAnyTuple of {
line : line_t;
}
| TyTuple of {
}
| TyUnion of {
}
| TyUser of {
line : line_t;
name : Base.string;
args : type_t Base.list;
}
| TyLit of {
lit : literal_t;
}
and type_func_cont_t =
| TyCont of {
constraints : type_func_cont_t Base.list;
}
| TyContRel of {
line : line_t;
constraint_kind : type_func_cont_t;
lhs : type_t;
rhs : type_t;
}
| TyContIsSubType of {
line : line_t;
}
and record_field_type_t =
| RecordFieldType of {
line : line_t;
line_name : line_t;
name : Base.string;
ty : type_t;
}
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_form_t : form_t -> Base.Sexp.t
val sexp_of_record_field_t : record_field_t -> Base.Sexp.t
val sexp_of_literal_t : literal_t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_chars : chars -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_pattern_t : pattern_t -> Base.Sexp.t
val sexp_of_pattern_assoc_t : pattern_assoc_t -> Base.Sexp.t
val sexp_of_pattern_bin_element_t : pattern_bin_element_t -> Base.Sexp.t
val sexp_of_expr_t : expr_t -> Base.Sexp.t
val sexp_of_expr_assoc_t : expr_assoc_t -> Base.Sexp.t
val sexp_of_qualifier_t : qualifier_t -> Base.Sexp.t
val sexp_of_atom_or_var_t : atom_or_var_t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_integer_or_var_t : integer_or_var_t -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_record_field_for_expr : record_field_for_expr -> Base.Sexp.t
val sexp_of_type_spec_t : type_spec_t -> Base.Sexp.t
val sexp_of_expr_bin_element_t : expr_bin_element_t -> Base.Sexp.t
val sexp_of_clause_t : clause_t -> Base.Sexp.t
val sexp_of_guard_sequence_t : guard_sequence_t -> Base.Sexp.t
val sexp_of_guard_t : guard_t -> Base.Sexp.t
val sexp_of_guard_test_t : guard_test_t -> Base.Sexp.t
val sexp_of_guard_test_assoc_t : guard_test_assoc_t -> Base.Sexp.t
val sexp_of_atom_or_wildcard : atom_or_wildcard -> Ppx_sexp_conv_lib.Sexp.t
val sexp_of_guard_test_bin_element_t : guard_test_bin_element_t -> Base.Sexp.t
val sexp_of_type_t : type_t -> Base.Sexp.t
val sexp_of_type_assoc_t : type_assoc_t -> Base.Sexp.t
val sexp_of_type_func_cont_t : type_func_cont_t -> Base.Sexp.t
val sexp_of_record_field_type_t : record_field_type_t -> Base.Sexp.t
val sexp_of_err_t : err_t -> Ppx_sexp_conv_lib.Sexp.t
val track :
loc:Base.Source_code_position.t ->
('a, 'b Err.t) Base.Result.t ->
('a, 'b Err.t) Base.Result.t
val tsl_of_sf : Sf.t -> (type_spec_t list, Sf.t Err.t) Base.Result.t
val bin_element_of_sf :
value_of_sf:(Sf.t -> ('a, Sf.t Err.t) Base.Result.t) ->
size_of_sf:(Sf.t -> ('b, Sf.t Err.t) Base.Result.t) ->
Sf.t ->
('a * 'b option * type_spec_t list option, Sf.t Err.t) result
val of_sf : Sf.t -> (t, err_t) Base.Result.t
val form_of_sf : Sf.t -> (form_t, err_t) Base.Result.t
val name_and_arity_of_sf :
Sf.t ->
(Base.string * Base.int, err_t) Base.Result.t
val record_field_of_sf : Sf.t -> (record_field_t, err_t) Base.Result.t
val tvar_of_sf : Sf.t -> (line_t * Base.string, err_t) Base.Result.t
val lit_of_sf : Sf.t -> (literal_t, err_t) Base.Result.t
val pat_of_sf : Sf.t -> (pattern_t, Sf.t Err.t) Base.Result.t
val pat_assoc_of_sf : Sf.t -> (pattern_assoc_t, err_t) Base.Result.t
val expr_of_sf : Sf.t -> (expr_t, Sf.t Err.t) Base.Result.t
val expr_assoc_of_sf : Sf.t -> (expr_assoc_t, err_t) Base.Result.t
val qualifier_of_sf : Sf.t -> (qualifier_t, err_t) Base.Result.t
val atom_or_var_of_sf : Sf.t -> (atom_or_var_t, err_t) Base.Result.t
val record_field_for_expr_of_sf :
Sf.t ->
(record_field_for_expr, Sf.t Err.t) Base.Result.t
val integer_or_var_of_sf : Sf.t -> (integer_or_var_t, Sf.t Err.t) Base.Result.t
val cls_of_sf : ?in_function:bool -> Sf.t -> (clause_t, err_t) Base.Result.t
val guard_sequence_of_sf : Sf.t -> (guard_sequence_t, err_t) Base.Result.t
val guard_of_sf : Sf.t -> (guard_t, err_t) Base.Result.t
val guard_test_of_sf : Sf.t -> (guard_test_t, Sf.t Err.t) Base.Result.t
val guard_test_assoc_of_sf : Sf.t -> (guard_test_assoc_t, err_t) Base.Result.t
val atom_or_wildcard_of_sf :
Sf.t ->
(atom_or_wildcard, Sf.t Err.t) Base.Result.t
val type_of_sf : Sf.t -> (type_t, err_t) Base.Result.t
val fun_type_of_sf : Sf.t -> (type_t, err_t) Base.Result.t
val type_fun_cont_of_sf : Sf.t -> (type_func_cont_t, err_t) Base.Result.t
val type_assoc_of_sf : Sf.t -> (type_assoc_t, err_t) Base.Result.t
val record_field_type_of_sf :
Sf.t ->
(record_field_type_t, Sf.t Err.t) Base.Result.t
val of_etf : Obeam__External_term_format.t -> (t, err_t) Base.Result.t