我正在关注coq HelloWorld tutorial(下面的代码),并且无法编译程序。我按照安装步骤安装了opam install coq:io:system
。我的opam安装位于默认位置~/.opam
。但是,我还是有一个关于
Toplevel input, characters 53-67:
Error: The reference System.effects was not found in the current environment.
这是emacs / proofgeneral或coqide(8.4pl6,ubuntu 14.04)。有没有人知道如何解决这个问题?
这是我复制到名为hello_world.v
的文件并加载到emacs / coqide中的代码:
Require Import Coq.Lists.List.
Require Import Io.All.
Require Import Io.System.All.
Require Import ListString.All.
Import ListNotations.
Import C.Notations.
(** The classic Hello World program. *)
Definition hello_world (argv : list LString.t) : C.t System.effects unit :=
System.log (LString.s "Hello world!").
- 更新---
@gtzinos,我跟着https://github.com/clarus/coq-hello-world中的自述文件。这次没有关于System.effects
的投诉,但是找不到关于Extraction.launch
的新错误。我试过了:
git clone https://github.com/clarus/coq-hello-world.git
cd coq-hello-world
./configure.sh && make
得到了:
"coqc" -q -R src HelloWorld src/Main
File "/.../coq-hello-world/src/Main.v", line 32, characters 19-36:
Error: The reference Extraction.launch was not found in the current
environment.
我还尝试make
文件夹中的extraction
,但没有成功。有什么指针吗?
答案 0 :(得分:2)
新版本的coq:io
和coq:io:system
库刚刚发布。运行:
opam update
opam upgrade
确保版本中的coq:io:system
至少为2.3.0。现在Extraction.launch
应该可用。 System.effects
已替换为System.effect
。