Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation Agda能否在批处理模式下更快地编译?_Compilation_Incremental Build_Agda - Fatal编程技术网

Compilation Agda能否在批处理模式下更快地编译?

Compilation Agda能否在批处理模式下更快地编译?,compilation,incremental-build,agda,Compilation,Incremental Build,Agda,当我编译使用标准库的Agda程序时,编译器会花费很长时间打印出以下行: Skipping Relation.Binary.Consequences (/home/owen/install/lib-0.6/src/Relation/Binary/Consequences.agdai). Skipping Relation.Binary.Indexed.Core (/home/owen/install/lib-0.6/src/Relation/Binary/Indexed/Core.agdai).

当我编译使用标准库的Agda程序时,编译器会花费很长时间打印出以下行:

Skipping Relation.Binary.Consequences (/home/owen/install/lib-0.6/src/Relation/Binary/Consequences.agdai).
Skipping Relation.Binary.Indexed.Core (/home/owen/install/lib-0.6/src/Relation/Binary/Indexed/Core.agdai).
Skipping Relation.Binary (/home/owen/install/lib-0.6/src/Relation/Binary.agdai).
我猜它之所以安全地“跳过”它们,是因为它们已经编译好了(目录中已经有了.agdai文件)。但它仍然要花费大量的时间跳过它们,并且编译需要一分钟以上的时间


有没有一种方法可以避免每次编译时的所有这些额外工作?

Agda和其他类似的软件系统(如coq)通常通过安装在emacs中的Proof General提供交互式界面


模块化编译可以在其他环境中工作,因为编程语言往往依赖于外部符号的浅层名称检查(如果它们检查的话)。Agda是一个校对系统,因此,如果它要完成自己的工作,每次都必须从头开始,深入验证整个校对。

Agda必须将其中至少一些.agdai文件加载到内存中,以便能够对自己的代码进行打字检查,因此,即使跳过这些模块的检查,也可能需要一些时间

“编译是指生成一个可执行文件还是仅仅进行类型检查?”saizan问得好。我认为仅仅进行类型检查就足够了,因为它是最重复的任务。虽然生成一个可执行文件也很不错。嗯。。。。我想我并不是在寻找模块化编译,我只是喜欢从命令行独立于编辑器运行编译器;由于agda可以在emacs中快速重新键入检查,如果它可以像恶魔一样运行。。。你明白我的意思吗?