Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.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
Common lisp 安装CLOCC和包_Common Lisp_Clos_Clocc - Fatal编程技术网

Common lisp 安装CLOCC和包

Common lisp 安装CLOCC和包,common-lisp,clos,clocc,Common Lisp,Clos,Clocc,sds at的评论提供了一个公共Lisp开放代码集合CLOCC文件closio.Lisp的参考,用于以打印方式读取和写入CLOS对象。有关安装软件的说明,请参阅。但是,由于之前没有使用过CLOCC,我希望在设置CLOS对象的读/写方面有一些额外的指导。以下是到目前为止我的init文件.clinit的新增内容: (in-package :cl-user) (setq *clocc-root* "D:\\clocc\\") (load "D:\\clocc.fasl") (load (comp

sds at的评论提供了一个公共Lisp开放代码集合CLOCC文件closio.Lisp的参考,用于以打印方式读取和写入CLOS对象。有关安装软件的说明,请参阅。但是,由于之前没有使用过CLOCC,我希望在设置CLOS对象的读/写方面有一些额外的指导。以下是到目前为止我的init文件.clinit的新增内容:

(in-package :cl-user)
(setq *clocc-root* "D:\\clocc\\")
(load "D:\\clocc.fasl")
(load 
  (compile-file ;warns about |make|::COMPILED-FILE-P being undefined
    (translate-logical-pathname 
      "clocc:src;defsystem;defsystem")))
(dolist (s '("clocc:src;cllib;base" "clocc:src;port;sys"))
  (mk:add-registry-location (translate-logical-pathname s)))

关于下一步添加内容的说明非常感谢。

说明已过时。对不起

现在说我删除了您不需要的系统:

(compile-file "c:/gnu/clocc/clocc") ; or whatever ...
(load *)
;; * load the defsystem facility
;; most lisps come with "asdf"; if this fails, get it yourself from
;; https://common-lisp.net/project/asdf/
(require "asdf")

;; * compile some systems
(asdf:compile-system "port")
(asdf:compile-system "cllib")
...
您需要遵循以下步骤:


您是否按照链接到的安装文件中的说明逐步操作?您需要使用mk:oos编译文件,然后加载您需要的任何文件,然后就可以开始了。接下来我尝试的两个语句是mk:oos cllib:compile和mk:oos port:compile,但它们会产生一个错误,例如,找不到名为cllib的系统。此外,还尝试了目录所在的mk:oos src\\cllib,但出现了相同的错误。Doh,使用Allegro CL在第二个基上。在端口中编译mop.lisp时,slot definition initargs是未定义的函数,具有调用mop:slot definition initargs的选项。这样做会导致class-direct-slots出现相同的错误。看起来端口:mop需要更新为最新的Allegro。我们需要在这个问题上反复讨论。请将端口:mop.lisp中第19行的:clos替换为:mop。现在可以工作了吗?将allegro的第19行中的:clos更改为:mop仍然会对插槽定义initargs产生相同的错误。继续使用mop:slot-definition initargs,然后使用mop:class-direct-slot,然后获取错误:没有适用于泛型函数的方法,这些函数的args的类为EXCL::STRUCTURE-direct-slot-definition[条件类型:PROGRAM-Error]。这很奇怪。请删除所有已编译的文件并从头开始。谢谢。我又从快照下载了clocc文件;将它们解压缩到一个新目录;再次运行CLOCC的每个安装步骤,除了MAKE::COMPILED-FILE-P undefined函数警告外,没有任何问题;仅在mop.lisp第19行中将:clos更改为:mop;但在执行mk:oos-port:compile时会重复完全相同的错误。ps:我使用的是Allegro CL的快速免费版本,它的堆有限,但没有收到关于过度运行的消息。
$ mkdir -p ~/.config/common-lisp/source-registry.conf.d/
$ echo '(:tree "c:/gnu/clocc/")' > asdf.conf