OCamlScript 是 OCaml 编译器的 JavaScript 后端。OCamlScript 的用户可以编写类型安全,高性能的 OCaml 代码,在有 JavaScript 执行引擎的任意平台部署生成的 JavaScript。
每个 OCaml 模块都映射到一个相应的 JavaScript 模块,并且名字被保留下来,因此:
该堆栈跟踪被保留,生成的代码是可调试的(无论是否有 sourcemap)。
OCamlScript 生成的模块可以直接用到其它 JavaScript 代码。例如,你可以从 JavaScript 调用 OCaml 标准库的 List 模块的 List.length 函数。
OCamlScript 当前只支持 Linux 和 Mac OS X,将来会支持 Windows。
let sum n = let v = ref 0 in for i = 0 to n do v := !v + i done; !v
OCamlScript 生成的代码类似:
function sum(n) { var v = 0; for(var i = 0; i<= n; ++i){ v += i; } return v; }