gpt4 book ai didi

ubuntu - 程序中不允许使用 OCaml '_a?

转载 作者:行者123 更新时间:2023-12-04 18:36:04 25 4
gpt4 key购买 nike

我在 Ubuntu 12.04 上使用 OCaml,我正在尝试使用 make 函数来编译它,但它并不完全有效。

当前试图编译程序 EVA2H1 但它返回

ocamlc -w A -g -c error.mli
File "error.mli", line 54, characters 3-6:
Error: The type variable name '_a is now allowed in programs
make: *** [error.cmi] Error 2"

我用谷歌搜索了这个“'_a is not allowed in programs”并在这里遇到了 http://wiki.xen.org/wiki/OCaml_Errors所以我输入
# let f = List.sort compare;;
val f : '_a list -> '_a list = <fun>
# f [2;1;3];;
- : int list = [1; 2; 3]
# f;;
- : int list -> int list = <fun>

但它仍然没有解决问题,有人可以帮忙吗?

我正在使用本网站的代码 http://www.lsv.ens-cachan.fr/Software/evatrans2/
我用 EVAtrans 库下载了 EVA2H1。

最佳答案

事实是类型变量以 '_ 开头在 OCaml 程序中是不允许的。编译器/解释器使用它们来指示单态但尚未指定的类型变量。为了明确这一点,在编写代码时禁止使用它们。

如果您正在使用的源代码中实际上包含此类类型变量,则很可能它是为早期版本的 OCaml 编写的。

您在网上看到的示例显示了编译器/解释器的输出,而不是用户编写的代码。这就是为什么它有 '_a list在里面。

关于ubuntu - 程序中不允许使用 OCaml '_a?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21389315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com