问题标签 [js-of-ocaml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
364 浏览

ocaml - 如何使用 dune 创建 js_of_ocaml 库?

我想知道dune编译成的库(而不是可执行文件)的文件是什么样的js_of_ocaml,为什么建议使用可执行文件呢?

0 投票
0 回答
155 浏览

ocaml - 未实现的 Javascript 原语 caml_pure_js_expr(再次)

我有一个 OCaml 项目,很久以前可以在 Ubuntu 中编译。今天,我想拿起项目并尝试将其编译为macOS Mojave 10.14.2.

ocaml --version回报The OCaml toplevel, version 4.07.1js_of_ocaml --version回报3.3.0npm --version回报6.7.0node --version回报v8.9.3

makefile工作正常并生成analyze. 但./analyze test.ev回报Unimplemented Javascript primitive caml_pure_js_expr!

有谁知道问题可能出在哪里?

编辑1:

由于我analyze的很大,我测试了一个可以重现错误的小例子。我写cubes.ml如下:

以下两个命令生成良好T

node cubes.js回报很好hello,但是./T回报Unimplemented Javascript primitive caml_pure_js_expr!

0 投票
1 回答
152 浏览

dom - 获取 Dom_html.element 的子元素

在 js_of_ocaml 中,是否可以获取 的子节点Dom_html.element

我知道该类继承Dom.node,因此具有该childNodes方法。但由于它是 from 的方法Dom.node,因此它返回Dom.node类型的值。而且我需要这些节点仍然存在Dom_html.element,否则大多数方法将不可用。

由于在 OCaml 中无法进行向下转换,因此我找不到任何可能的解决方案来解决此问题。我错过了什么或者这真的不可能吗?

0 投票
0 回答
50 浏览

javascript - JavaScript 如何捕获 OCaml 引发的异常?

我有一个 OCaml 项目,后来通过js_of_ocaml. 我包装了一些函数,如下所示:

然后,在 JavaScript 中,我可以调用parseFile("abc").

例如,在 OCaml 代码中,E.parse_file可能会引发异常failwith "this is why"。我想知道如何在 JavaScript 代码中捕获这个异常,并最终捕获this is why

0 投票
1 回答
327 浏览

ocaml - (js_of_ocaml) 如何解决“错误:未绑定模块 Js”?

我想重新编译一组文件以在我的 Mac 中生成一个 .js 文件。它曾经工作(很久以前),我不知道为什么它不再工作了。

它返回:

我的lib/array2_js.ml

有人可以帮忙吗?

0 投票
1 回答
262 浏览

ocaml - 如何在 js_of_ocaml 中编写 console.log?

如何在 js_of_ocaml 中编写 console.log?print_endline可能会去控制台,但我想访问跟踪、错误等。我可以定义console为外部对象吗?

这对我不起作用:

失败:

TypeError:N.console 不是函数 test.js:255:30

这失败并出现相同的错误:

0 投票
1 回答
165 浏览

ocaml - 为什么是##。js_of_ocaml 中需要运算符吗?

不知道为什么需要所有这些运算符。理由是什么?为什么常规的 OCaml 对象语法不够用?

此处的文档:http: //ocsigen.org/js_of_ocaml/3.6.0/manual/ppx

0 投票
1 回答
88 浏览

ocaml - 如何将 OCaml 对象转换为 js_of_ocaml 对象?

是否可以将 OCaml 对象强制转换为 js_of_ocaml 对象并返回?

0 投票
1 回答
120 浏览

ocaml - OCaml 作为编译目标

我正在 OCaml 中实施符合 ISO/IEC 13211-1:1995 的 Prolog 系统。

对于代码生成(又名 JIT)第一部分...

  • ...生成实际的“.ml”代码,...
  • ... 用ocamlopt, ...编译
  • ...并使用动态链接。

这种方法有些粗糙,但作为概念验证已经足够好了。

最近,我想到编译为 OCaml 字节码可能是一种替代方法1

所以我的实际问题有两个:

  1. 如何将 OCaml 字节码编译为本机代码?

  2. 是否有用于发出/处理字节码的 OCaml 库?


1 还有一个不错的,因为这将允许使用js_of_ocaml.

0 投票
1 回答
111 浏览

javascript - 类型错误:运行时未定义

由于js_of_ocaml. 为了构建 JavaScript 文件,我使用了以下命令:

我将脚本链接到 index.html 文件中。但是,当我尝试使用该函数stringextCma(window)在 Firefox 或 Chromium 控制台中导入它时,它会显示以下错误:

我找不到纠正它的方法。其他人是否有此错误并找到解决此问题的方法?

编辑

我想要达到的目标与这个问题几乎相同。我尝试遵循相同的步骤,包括将 javascript 代码包装到一个函数中。

我想在 JavaScript 中编译一些 opam 库并将它们作为 javascript 文件(预编译)加载到 learn-ocaml 顶层。问题是,当我加载脚本时,我无法将它加载到顶层,因为我有不同的错误。首先,我不能使用 #load_js 指令,因为 load_script 函数是未知的,当我尝试导入库(此处为 stringext)时,我遇到了运行时问题......

我不知道这是否更清楚...