Liquidsoap_lang.ValueValues are untyped normal forms of terms.
module Custom = Liquidsoap_lang.Term.Custommodule Methods = Runtime_term.Methodstype env = (string * t) listWe derive a hash of the environment to invalidate the cache when the builtin env change. We mostly keep name and methods.
and t = | Int of {pos : Pos.Option.t;value : int;methods : t Methods.t;mutable flags : Flags.flags;}| Float of {pos : Pos.Option.t;value : float;methods : t Methods.t;}| String of {pos : Pos.Option.t;value : string;methods : t Methods.t;}| Bool of {pos : Pos.Option.t;value : bool;methods : t Methods.t;}| Null of {pos : Pos.Option.t;methods : t Methods.t;}| Custom of {pos : Pos.Option.t;value : Custom.t;methods : t Methods.t;dynamic_methods : dynamic_methods option;mutable flags : Flags.flags;}| List of {pos : Pos.Option.t;value : t list;methods : t Methods.t;mutable flags : Flags.flags;}| Tuple of {pos : Pos.Option.t;value : t list;methods : t Methods.t;mutable flags : Flags.flags;}| Fun of {id : int;pos : Pos.Option.t;fun_args : (string * string * t option) list;fun_env : env;fun_body : Term.t;methods : t Methods.t;mutable flags : Flags.flags;}| FFI of {id : int;pos : Pos.Option.t;ffi_args : (string * string * t option) list;mutable ffi_fn : env -> t;methods : t Methods.t;mutable flags : Flags.flags;}val hash_fold_env :
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.state ->
env ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.stateval hash_fold_dynamic_methods :
dynamic_methods Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folderval hash_fold_t : t Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.folderval hash_env :
env ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_valueval hash_dynamic_methods :
dynamic_methods ->
Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_valueval hash : t -> Liquidsoap_lang.Term_hash.Ppx_hash_lib.Std.Hash.hash_valueval pos : t -> Pos.Option.tval set_pos : t -> Pos.Option.t -> tval has_flag : t -> Flags.flag -> boolval add_flag : t -> Flags.flag -> unitval is_unit : t -> boolval make :
?pos:Pos.Option.base ->
?methods:t Methods.t ->
?flags:Flags.flags ->
in_value ->
tval string_of_int_value : flags:Flags.flags -> int -> stringval to_string : t -> stringPerform a sequence of invokes: invokes x l1;l2;l3;... is x.l1.l2.l3...
module type Custom = sig ... endmodule type CustomDef = Term.CustomDefmodule MkCustomFromTerm (Term : Term.Custom) : sig ... endmodule RuntimeType : sig ... end