问题标签 [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.
ocaml - 如何使用 dune 创建 js_of_ocaml 库?
我想知道dune
编译成的库(而不是可执行文件)的文件是什么样的js_of_ocaml
,为什么建议使用可执行文件呢?
ocaml - 未实现的 Javascript 原语 caml_pure_js_expr(再次)
我有一个 OCaml 项目,很久以前可以在 Ubuntu 中编译。今天,我想拿起项目并尝试将其编译为macOS Mojave 10.14.2
.
ocaml --version
回报The OCaml toplevel, version 4.07.1
,js_of_ocaml --version
回报3.3.0
,npm --version
回报6.7.0
,node --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!
dom - 获取 Dom_html.element 的子元素
在 js_of_ocaml 中,是否可以获取 的子节点Dom_html.element
?
我知道该类继承Dom.node
,因此具有该childNodes
方法。但由于它是 from 的方法Dom.node
,因此它返回Dom.node
类型的值。而且我需要这些节点仍然存在Dom_html.element
,否则大多数方法将不可用。
由于在 OCaml 中无法进行向下转换,因此我找不到任何可能的解决方案来解决此问题。我错过了什么或者这真的不可能吗?
javascript - JavaScript 如何捕获 OCaml 引发的异常?
我有一个 OCaml 项目,后来通过js_of_ocaml
. 我包装了一些函数,如下所示:
然后,在 JavaScript 中,我可以调用parseFile("abc")
.
例如,在 OCaml 代码中,E.parse_file
可能会引发异常failwith "this is why"
。我想知道如何在 JavaScript 代码中捕获这个异常,并最终捕获this is why
?
ocaml - (js_of_ocaml) 如何解决“错误:未绑定模块 Js”?
我想重新编译一组文件以在我的 Mac 中生成一个 .js 文件。它曾经工作(很久以前),我不知道为什么它不再工作了。
它返回:
我的lib/array2_js.ml
:
有人可以帮忙吗?
ocaml - 如何在 js_of_ocaml 中编写 console.log?
如何在 js_of_ocaml 中编写 console.log?print_endline
可能会去控制台,但我想访问跟踪、错误等。我可以定义console
为外部对象吗?
这对我不起作用:
失败:
TypeError:N.console 不是函数 test.js:255:30
这失败并出现相同的错误:
ocaml - 为什么是##。js_of_ocaml 中需要运算符吗?
不知道为什么需要所有这些运算符。理由是什么?为什么常规的 OCaml 对象语法不够用?
此处的文档:http: //ocsigen.org/js_of_ocaml/3.6.0/manual/ppx
ocaml - 如何将 OCaml 对象转换为 js_of_ocaml 对象?
是否可以将 OCaml 对象强制转换为 js_of_ocaml 对象并返回?
ocaml - OCaml 作为编译目标
我正在 OCaml 中实施符合 ISO/IEC 13211-1:1995 的 Prolog 系统。
对于代码生成(又名 JIT)第一部分...
- ...生成实际的“.ml”代码,...
- ... 用
ocamlopt
, ...编译 - ...并使用动态链接。
这种方法有些粗糙,但作为概念验证已经足够好了。
最近,我想到编译为 OCaml 字节码可能是一种替代方法1。
所以我的实际问题有两个:
如何将 OCaml 字节码编译为本机代码?
是否有用于发出/处理字节码的 OCaml 库?
1 还有一个不错的,因为这将允许使用js_of_ocaml
.
javascript - 类型错误:运行时未定义
由于js_of_ocaml
. 为了构建 JavaScript 文件,我使用了以下命令:
我将脚本链接到 index.html 文件中。但是,当我尝试使用该函数stringextCma(window)
在 Firefox 或 Chromium 控制台中导入它时,它会显示以下错误:
我找不到纠正它的方法。其他人是否有此错误并找到解决此问题的方法?
编辑
我想要达到的目标与这个问题几乎相同。我尝试遵循相同的步骤,包括将 javascript 代码包装到一个函数中。
我想在 JavaScript 中编译一些 opam 库并将它们作为 javascript 文件(预编译)加载到 learn-ocaml 顶层。问题是,当我加载脚本时,我无法将它加载到顶层,因为我有不同的错误。首先,我不能使用 #load_js 指令,因为 load_script 函数是未知的,当我尝试导入库(此处为 stringext)时,我遇到了运行时问题......
我不知道这是否更清楚...