Core Javascript functionality
Basic functionality for accessing native Javascript code.structure JsCore : JS_CORE
signature JS_CORE = sig type 'a T val unit : unit T val int : int T val string : string T val real : real T val fptr : foreignptr T val bool : bool T val option : 'a T -> 'a option T val ==> : 'a T * 'b T -> ('a -> 'b) T val ===> : 'a T * 'b T * 'c T -> ('a*'b -> 'c) T val ====> : 'a T * 'b T * 'c T * 'd T -> ('a*'b*'c -> 'd) T val exec0 : {stmt: string, res: 'b T} -> unit -> 'b val exec1 : {stmt: string, arg1: string * 'a1 T, res: 'b T} -> 'a1 -> 'b val exec2 : {stmt: string, arg1: string * 'a1 T, arg2: string * 'a2 T, res: 'b T} -> 'a1 * 'a2 -> 'b val exec3 : {stmt: string, arg1: string * 'a1 T, arg2: string * 'a2 T, arg3: string * 'a3 T, res: 'b T} -> 'a1 * 'a2 * 'a3 -> 'b val exec4 : {stmt: string, arg1: string * 'a1 T, arg2: string * 'a2 T, arg3: string * 'a3 T, arg4: string * 'a4 T, res: 'b T} -> 'a1 * 'a2 * 'a3 * 'a4 -> 'b val exec5 : {stmt: string, arg1: string * 'a1 T, arg2: string * 'a2 T, arg3: string * 'a3 T, arg4: string * 'a4 T, arg5: string * 'a5 T, res: 'b T} -> 'a1 * 'a2 * 'a3 * 'a4 * 'a5 -> 'b val exec10 : {stmt: string, arg1: string * 'a1 T, arg2: string * 'a2 T, arg3: string * 'a3 T, arg4: string * 'a4 T, arg5: string * 'a5 T, arg6: string * 'a6 T, arg7: string * 'a7 T, arg8: string * 'a8 T, arg9: string * 'a9 T, arg10: string * 'a10 T, res: 'b T} -> 'a1 * 'a2 * 'a3 * 'a4 * 'a5 * 'a6 * 'a7 * 'a8 * 'a9 * 'a10 -> 'b val call0 : string * 'b T -> 'b val call1 : string * 'a1 T * 'b T -> 'a1 -> 'b val call2 : string * 'a1 T * 'a2 T * 'b T -> 'a1*'a2 -> 'b val call3 : string * 'a1 T * 'a2 T * 'a3 T * 'b T -> 'a1*'a2*'a3 -> 'b val call4 : string * 'a1 T * 'a2 T * 'a3 T * 'a4 T * 'b T -> 'a1*'a2*'a3*'a4 -> 'b val method0 : 'b T -> foreignptr -> string -> 'b val method1 : 'a1 T -> 'b T -> foreignptr -> string -> 'a1 -> 'b val method2 : 'a1 T -> 'a2 T -> 'b T -> foreignptr -> string -> 'a1 -> 'a2 -> 'b val method3 : 'a1 T -> 'a2 T -> 'a3 T -> 'b T -> foreignptr -> string -> 'a1 -> 'a2 -> 'a3 -> 'b val method4 : 'a1 T -> 'a2 T -> 'a3 T -> 'a4 T -> 'b T -> foreignptr -> string -> 'a1 -> 'a2 -> 'a3 -> 'a4 -> 'b val getProperty : foreignptr -> 'a T -> string -> 'a val setProperty : foreignptr -> 'a T -> string -> 'a -> unit structure Array : sig type t = foreignptr val empty : unit -> t val push : 'a T -> t -> 'a -> t val fromList : 'a T -> 'a list -> t end structure Object : sig type t = foreignptr val empty : unit -> t val get : 'a T -> t -> string -> 'a val set : 'a T -> t -> string -> 'a -> unit val fromList : 'a T -> (string * 'a) list -> t end structure TypedObjects : sig type 'a j (* any *) type obj (* objects *) type 'a arr (* arrays *) val /> : obj j * obj j -> obj j val P : string -> 'a j -> obj j val S : string -> string j val I : int -> int j val R : real -> real j val B : bool -> bool j val F : foreignptr -> foreignptr j val A : 'a j list -> 'a arr j val objToFptr : obj j -> foreignptr val arrToFptr : 'a arr j -> foreignptr end end