Module Cduce_lib_js.Operators

type type_fun = Cduce_types.Types.t -> bool -> Cduce_types.Types.t
val register : string -> int -> (type_fun list -> type_fun) -> (Cduce_core.Value.t list -> Cduce_core.Value.t) -> unit
val register_unary : string -> (type_fun -> type_fun) -> (Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_binary : string -> (type_fun -> type_fun -> type_fun) -> (Cduce_core.Value.t -> Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_fun : string -> Cduce_types.Types.t -> Cduce_types.Types.t -> (Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_fun2 : string -> Cduce_types.Types.t -> Cduce_types.Types.t -> Cduce_types.Types.t -> (Cduce_core.Value.t -> Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_fun3 : string -> Cduce_types.Types.t -> Cduce_types.Types.t -> Cduce_types.Types.t -> Cduce_types.Types.t -> (Cduce_core.Value.t -> Cduce_core.Value.t -> Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_op : string -> ?⁠expect:Cduce_types.Types.t -> (Cduce_types.Types.t -> Cduce_types.Types.t) -> (Cduce_core.Value.t -> Cduce_core.Value.t) -> unit
val register_op2 : string -> Cduce_types.Types.t -> Cduce_types.Types.t -> Cduce_types.Types.t -> (Cduce_core.Value.t -> Cduce_core.Value.t -> Cduce_core.Value.t) -> unit