coq Hello World示例(使用opam)无法找到库

时间:2015-05-27 06:32:51

标签: coq opam

我正在关注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,但没有成功。有什么指针吗?

1 个答案:

答案 0 :(得分:2)

新版本的coq:iocoq:io:system库刚刚发布。运行:

opam update
opam upgrade

确保版本中的coq:io:system至少为2.3.0。现在Extraction.launch应该可用。 System.effects已替换为System.effect