Liquidsoap_lang_ast.TermThe runtime term: what gets typechecked and evaluated.
include module type of struct include Runtime_term endmodule Vars = Runtime_term.VarsSets of variables.
module Methods = Runtime_term.Methodstype custom = Runtime_term.customval hash_fold_custom :
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.stateval hash_custom :
custom ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.hash_valuetype custom_handler = Runtime_term.custom_handler = {name : string;to_string : custom -> string;to_json : pos:Liquidsoap_lang_prelude.Pos.t list ->
custom ->
Liquidsoap_lang_data.Json.t;compare : custom -> custom -> int;typ : Liquidsoap_lang_types.Type.t;}val hash_fold_custom_handler :
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom_handler ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.stateval hash_custom_handler :
custom_handler ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.hash_valueval hash_fold_custom_term :
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
custom_term ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.stateval hash_custom_term :
custom_term ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.hash_valuetype 'a term = 'a Runtime_term.term = {t : Liquidsoap_lang_types.Type.t;term : 'a;flags : Liquidsoap_lang_data.Flags.flags;methods : 'a term Methods.t;}val has_flag : 'a term -> Liquidsoap_lang_data.Flags.flag -> booltype ('a, 'b) func_argument = ('a, 'b) Runtime_term.func_argument = {label : string;as_variable : string option;default : 'a option;typ : 'b;pos : Liquidsoap_lang_prelude.Pos.t option;}val hash_fold_func_argument :
'a 'b. (Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) func_argument ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.statetype ('a, 'b) func = ('a, 'b) Runtime_term.func = {mutable free_vars : Vars.t option;name : string option;arguments : ('a, 'b) func_argument list;body : 'a;}val hash_fold_cast :
'a 'b. (Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) cast ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.statetype ('a, 'b) common_ast = [ | `Custom of custom_term| `Tuple of 'a list| `Null| `Cast of ('a, 'b) cast| `Open of 'a * 'a| `Var of string| `Seq of 'a * 'a ]val hash_fold_common_ast :
'a 'b. (Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'a ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
(Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
'b ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state) ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.state ->
('a, 'b) common_ast ->
Liquidsoap_lang_prelude.Term_hash.Ppx_hash_lib.Std.Hash.statetype 'a let_t = 'a Runtime_term.let_t = {doc : Liquidsoap_lang_data.Doc.Value.t option;replace : bool;pat : pattern;mutable gen : Liquidsoap_lang_types.Type.var list;def : 'a;body : 'a;}type cached_env = Runtime_term.cached_env = {var_name : int;var_id : int;env : Liquidsoap_lang_types.Typing.env;}type 'a runtime_ast = [ | `Int of int| `Cache_env of cached_env Stdlib.ref| `Float of float| `String of string| `Bool of bool| `Let of 'a let_t| `List of 'a list| `App of 'a * (string * 'a) list| `Invoke of 'a invoke| `Hide of 'a * string list| `Encoder of
string * 'a {encoder_params}1/shadowed/(fe58af1e08b4e3598ebda9587ed93fdc)| `Fun of ('a, Liquidsoap_lang_types.Type.t) func ]A position as reported by the lexer, before it is turned into a Pos.t.
exception Parse_error of parsed_pos * stringexception Internal_error of Liquidsoap_lang_prelude.Pos.t list * stringexception Unsupported_encoder of Liquidsoap_lang_prelude.Pos.t option * stringval ref_t :
?pos:Liquidsoap_lang_prelude.Pos.t ->
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.tmodule Custom : sig ... endand encoder = string * encoder_paramsval unit : astval is_ground : t -> boolval string_of_pat : pattern -> stringval to_string : t -> stringval make :
?pos:Liquidsoap_lang_prelude.Pos.t ->
?t:Liquidsoap_lang_types.Type.t ->
?flags:Liquidsoap_lang_data.Flags.flags ->
?methods:t Methods.t ->
ast ->
tval free_fun_vars : (t, Liquidsoap_lang_types.Type.t) func -> Vars.tval can_ignore : Liquidsoap_lang_types.Type.t -> boolval fresh : handler:Liquidsoap_lang_types.Type.Fresh.mapper -> t -> texception Unbound of Liquidsoap_lang_prelude.Pos.Option.t * stringexception Ignored of texception Duplicate_label of Liquidsoap_lang_prelude.Pos.Option.t * stringexception Missing_arguments of Liquidsoap_lang_prelude.Pos.Option.t
* (string * Liquidsoap_lang_types.Type.t) listexception Unused_variable of string * Liquidsoap_lang_prelude.Pos.texception Deprecated of string * Liquidsoap_lang_prelude.Pos.tval check_unused :
throw:(bt:Stdlib.Printexc.raw_backtrace -> exn -> unit) ->
lib:bool ->
t ->
unitmodule type Custom = sig ... endmodule type CustomDef = sig ... end