Liquidsoap_lang.Lang_coreinclude module type of struct include Liquidsoap_lang_values.Value endtype env = (string * Liquidsoap_lang_values.Value.t) listand dynamic_methods = Liquidsoap_lang_values.Value.dynamic_methods = {methods : string -> Liquidsoap_lang_values.Value.t option;}Methods computed on demand rather than stored, used by sources whose method set depends on their content type.
type fun_v = Liquidsoap_lang_values.Value.fun_v = {fun_args : (string * string * Liquidsoap_lang_values.Value.t option) list;fun_env : env;fun_body : Liquidsoap_lang_ast.Term.t;}type ffi = Liquidsoap_lang_values.Value.ffi = {ffi_args : (string * string * Liquidsoap_lang_values.Value.t option) list;ffi_fn : env -> Liquidsoap_lang_values.Value.t;}type in_value = [ | `Bool of bool| `Custom of Liquidsoap_lang_ast.Term.Custom.t| `FFI of ffi| `Float of float| `Fun of fun_v| `Int of int| `List of Liquidsoap_lang_values.Value.t list| `Null| `String of string| `Tuple of Liquidsoap_lang_values.Value.t list ]A value without its position, methods or flags: what make takes.
val make :
?pos:Liquidsoap_lang_prelude.Pos.t ->
?methods:
Liquidsoap_lang_values.Value.t Liquidsoap_lang_ast.Runtime_term.Methods.t ->
?flags:Liquidsoap_lang_data.Flags.flags ->
in_value ->
Liquidsoap_lang_values.Value.tval has_flag :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_data.Flags.flag ->
boolval add_flag :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_data.Flags.flag ->
unitval remove_flag :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_data.Flags.flag ->
unitval is_unit : Liquidsoap_lang_values.Value.t -> boolval string_of_int_value :
flags:Liquidsoap_lang_data.Flags.flags ->
int ->
stringRender an integer the way it was written, i.e. honouring the hexadecimal and octal flags.
val invoke :
Liquidsoap_lang_values.Value.t ->
string ->
Liquidsoap_lang_values.Value.tRetrieve a method. Raises Not_found if it is absent.
val invokes :
Liquidsoap_lang_values.Value.t ->
string list ->
Liquidsoap_lang_values.Value.tinvokes v ["a"; "b"] is v.a.b.
val demeth : Liquidsoap_lang_values.Value.t -> Liquidsoap_lang_values.Value.tDrop all methods.
val remeth :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.tremeth v v' is v with the methods of v'.
val split_meths :
Liquidsoap_lang_values.Value.t ->
(string * Liquidsoap_lang_values.Value.t) list
* Liquidsoap_lang_values.Value.tval compare :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t ->
intComparison used by the language's `==` and by list and sort operations. Functions are compared by identity.
module type Custom = Liquidsoap_lang_values.Value.CustomAn OCaml type carried by liquidsoap values, e.g. a source or a request.
module type CustomDef = Liquidsoap_lang_values.Value.CustomDefmodule MkCustomFromTerm = Liquidsoap_lang_values.Value.MkCustomFromTermmodule MkCustom = Liquidsoap_lang_values.Value.MkCustommodule RuntimeType = Liquidsoap_lang_values.Value.RuntimeTypeA liquidsoap type, as a value. Used by the parsers (`json.parse` and friends) which need the expected type at runtime.
module Custom = Liquidsoap_lang_ast.Term.Custommodule Methods = Liquidsoap_lang_ast.Term.Methodstype t = Liquidsoap_lang_types.Type.ttype scheme = Liquidsoap_lang_types.Type.schemetype value = Liquidsoap_lang_values.Value.tType construction
val int_t : Liquidsoap_lang_types.Type.tval unit_t : Liquidsoap_lang_types.Type.tval float_t : Liquidsoap_lang_types.Type.tval bool_t : Liquidsoap_lang_types.Type.tval string_t : Liquidsoap_lang_types.Type.tval tuple_t : Liquidsoap_lang_types.Type.t list -> Liquidsoap_lang_types.Type.tval product_t :
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.tval record_t :
(string * Liquidsoap_lang_types.Type.t) list ->
Liquidsoap_lang_types.Type.tval optional_record_t :
(string * Liquidsoap_lang_types.Type.t) list ->
Liquidsoap_lang_types.Type.tval method_t :
Liquidsoap_lang_types.Type.t ->
(string * Liquidsoap_lang_types.Type.scheme * string) list ->
Liquidsoap_lang_types.Type.tval optional_method_t :
Liquidsoap_lang_types.Type.t ->
(string * Liquidsoap_lang_types.Type.scheme * string) list ->
Liquidsoap_lang_types.Type.tval of_tuple_t :
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.t listval of_product_t :
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.t * Liquidsoap_lang_types.Type.tval list_t : Liquidsoap_lang_types.Type.t -> Liquidsoap_lang_types.Type.tval of_list_t : Liquidsoap_lang_types.Type.t -> Liquidsoap_lang_types.Type.tval nullable_t : Liquidsoap_lang_types.Type.t -> Liquidsoap_lang_types.Type.tval univ_t :
?constraints:Liquidsoap_lang_types.Type.constr list ->
unit ->
Liquidsoap_lang_types.Type.tval getter_t : Liquidsoap_lang_types.Type.t -> Liquidsoap_lang_types.Type.tval ref_t : Liquidsoap_lang_types.Type.t -> Liquidsoap_lang_types.Type.tValue construction
val unit : Liquidsoap_lang_values.Value.tval int : int -> Liquidsoap_lang_values.Value.tval octal_int : int -> Liquidsoap_lang_values.Value.tval hex_int : int -> Liquidsoap_lang_values.Value.tval bool : bool -> Liquidsoap_lang_values.Value.tval float : float -> Liquidsoap_lang_values.Value.tval string : string -> Liquidsoap_lang_values.Value.tval tuple :
Liquidsoap_lang_values.Value.t list ->
Liquidsoap_lang_values.Value.tval list :
Liquidsoap_lang_values.Value.t list ->
Liquidsoap_lang_values.Value.tval null : Liquidsoap_lang_values.Value.tval meth :
Liquidsoap_lang_values.Value.t ->
(string * Liquidsoap_lang_values.Value.t) list ->
Liquidsoap_lang_values.Value.tval record :
(string * Liquidsoap_lang_values.Value.t) list ->
Liquidsoap_lang_values.Value.tval val_fun :
(string * string * Liquidsoap_lang_values.Value.t option) list ->
(env -> Liquidsoap_lang_values.Value.t) ->
Liquidsoap_lang_values.Value.tval term_fun :
(string * string * Liquidsoap_lang_values.Value.t option) list ->
Liquidsoap_lang_ast.Term.t ->
Liquidsoap_lang_values.Value.tval val_cst_fun :
(string * Liquidsoap_lang_values.Value.t option) list ->
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.tval reference :
(unit -> Liquidsoap_lang_values.Value.t) ->
(Liquidsoap_lang_values.Value.t -> 'a) ->
Liquidsoap_lang_values.Value.tHelpers for defining builtin functions.
val builtin_type :
(string * Liquidsoap_lang_types.Type.t * 'a option * 'b) list ->
Liquidsoap_lang_types.Type.t ->
Liquidsoap_lang_types.Type.tval meth_fun :
Liquidsoap_lang_values.Value.t ->
(string * Liquidsoap_lang_values.Value.t) list ->
Liquidsoap_lang_values.Value.tval add_builtin :
category:Liquidsoap_lang_data.Doc.Value.category ->
descr:string ->
?flags:Liquidsoap_lang_data.Doc.Value.flag list ->
?meth:Liquidsoap_lang_values.Value.t meth list ->
?examples:string list ->
?base:string ->
string ->
(string
* Liquidsoap_lang_types.Type_base.t
* Liquidsoap_lang_values.Value.t option
* string option)
list ->
Liquidsoap_lang_types.Type.t ->
(env -> Liquidsoap_lang_values.Value.t) ->
stringval add_builtin_value :
category:Liquidsoap_lang_data.Doc.Value.category ->
descr:string ->
?flags:Liquidsoap_lang_data.Doc.Value.flag list ->
?base:string ->
string ->
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_types.Type.t ->
stringval add_builtin_base :
category:Liquidsoap_lang_data.Doc.Value.category ->
descr:string ->
?flags:Liquidsoap_lang_data.Doc.Value.flag list ->
?base:string ->
string ->
in_value ->
Liquidsoap_lang_types.Type.t ->
stringval apply_fun :
(?pos:Liquidsoap_lang_prelude.Pos.t list -> value -> env -> value) Stdlib.refval apply : ?pos:Liquidsoap_lang_prelude.Pos.t list -> value -> env -> valueval to_unit : Liquidsoap_lang_values.Value.t -> unitval to_bool : Liquidsoap_lang_values.Value.t -> boolval to_bool_getter : Liquidsoap_lang_values.Value.t -> unit -> boolval is_fun : Liquidsoap_lang_values.Value.t -> boolval to_string : Liquidsoap_lang_values.Value.t -> stringval to_string_getter : Liquidsoap_lang_values.Value.t -> unit -> stringval to_float : Liquidsoap_lang_values.Value.t -> floatval to_float_getter : Liquidsoap_lang_values.Value.t -> unit -> floatval to_int : Liquidsoap_lang_values.Value.t -> intval to_int_getter : Liquidsoap_lang_values.Value.t -> unit -> intval to_num :
Liquidsoap_lang_values.Value.t ->
[> `Float of float | `Int of int ]val to_list :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t listval to_tuple :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t listval to_option :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t optionval to_valued_option :
(Liquidsoap_lang_values.Value.t -> 'a) ->
Liquidsoap_lang_values.Value.t ->
'a optionval to_default_option :
default:'a ->
(Liquidsoap_lang_values.Value.t -> 'a) ->
Liquidsoap_lang_values.Value.t ->
'aval to_product :
Liquidsoap_lang_values.Value.t ->
Liquidsoap_lang_values.Value.t * Liquidsoap_lang_values.Value.tval to_string_list : Liquidsoap_lang_values.Value.t -> string listval to_int_list : Liquidsoap_lang_values.Value.t -> int listval to_getter : Liquidsoap_lang_values.Value.t -> unit -> valueval to_ref :
Liquidsoap_lang_values.Value.t ->
(unit -> value) * (Liquidsoap_lang_values.Value.t -> unit)val to_valued_ref :
(value -> 'a) ->
('b -> Liquidsoap_lang_values.Value.t) ->
Liquidsoap_lang_values.Value.t ->
(unit -> 'a) * ('b -> unit)assoc lbl n l returns the nth element in l of which the first component is lbl.
val raise_error :
?bt:Stdlib.Printexc.raw_backtrace ->
?message:string ->
pos:Liquidsoap_lang_prelude.Pos.t list ->
string ->
'aval runtime_error_of_exception :
bt:Stdlib.Printexc.raw_backtrace ->
kind:string ->
exn ->
Liquidsoap_lang_data.Runtime_error.runtime_errormodule Position : sig ... endmodule Stacktrace : sig ... endval pos :
(string * Liquidsoap_lang_values.Value.t) list ->
Liquidsoap_lang_prelude.Pos.t list