sbcl

    2热度

    1回答

    我的下面的代码片段会给SB-INT:SIMPLE-READER-PACKAGE-ERROR; 我知道这是因为包“quicklisp-quickstart”在REPL读取代码时尚未定义;但是软件包IS在“quicklisp.lisp”中定义。 如何使下列代码有效? 或者我该如何告诉普通的lisp reader这个包将在动态加载的文件中定义? * (let ((quicklisp-init (merg

    1热度

    1回答

    我下面就口齿不清的教程和他们做了下面的代码 (set 'x 11) (incf x 10) ,并解释了以下错误: ; in: INCF X ; (SETQ X #:NEW671) ; ; caught WARNING: ; undefined variable: X ; ; compilation unit finished ; Undefined variable: ;

    3热度

    3回答

    我需要从数据库中读取Common Lisp对象的字符串。该对象应该是一个包含两个双浮点元素的列表; “(1.0d0 2.0d0)”例如: (let* ((str "(1d0 2d0)") (off (read-from-string str))) (destructuring-bind (x y) off (list x y))) 但是有条件是字符串格式不正确

    1热度

    2回答

    我正在运行一个通用的lisp项目,每5秒钟获取一次市场数据。我对代码做了一些调整,并希望在生产环境中对其进行更新。事件循环是非常标准: (loop (fetch-data) (sleep 5)) 因为loop的阻挡性质的我没有REPL在我手上。 我的问题:我可以动态更新运行代码吗? 我知道,我可以(asdf:compile-system :system-name) 我也知道

    4热度

    2回答

    我试图更好地理解S表达式在不同Lisp中的评估方式,并希望看到它们能够处理有趣的不合格表达式。我知道Common Lisp和Scheme是完全不同的语言,但是它们的语义在解释行为上的差异方面存在特定的差异。例如,Lisp-1和Lisp-2在行为方面有明显的差异,卫生型和非卫生型宏观系统也有差异。 我有一个程序,其中包含在Scheme和Common Lisp中表达式表达式无法到达的不合格。 ;; f

    1热度

    2回答

    我试图运行的东西,简化了 (trivial-shell:shell-command (concatenate 'string "echo -e " "one" "\n" "two")) ,并试图让它返回类似 "one two"运行shell命令 虽然它返回的却是 "onentwo " 我会开到使用的东西从琐碎的壳不同的(我试过不如壳,但它有同样的问题) 对64位使用SBCL 1.1.18的Gent

    2热度

    2回答

    在Common Lisp后台运行函数的最佳方式是什么?具体而言,我拨打电话如 (trivial-shell:shell-command "<long and complicated command>"。这个操作阻塞了~10秒,但我不关心输出,只是副作用 - 所以我希望它在后台运行,以便程序流可以继续。我试过在sb-thread:make-thread中包装整个东西,但这似乎没有什么区别。 如果可能

    3热度

    2回答

    我想通过使用优化和fixnums获得更多的速度,从一个小二次求解器。这是我的代码: 1: (defun solve-x (d) 2: (declare (optimize (speed 3)) 3: (type fixnum d)) 4: (let ((x 1) (y 1)) 5: (declare (type fixnum x y)) 6: (loop while (/= (

    4热度

    2回答

    我需要在运行时创建一个类,可能不需要使用eval。知道该元类协议不完全共Lisp的规范,通过The Common Lisp Object System MetaObject Protocol浏览后,我尝试下面的代码来创建一个类,实例化,并实例的槽值设置为一个数字: (defparameter *my-class* (make-instance 'standard-class

    3热度

    1回答

    到现在为止,我已成功地建立我的Common Lisp的项目到一个独立的可执行文件SBCL是这样的: (sb-ext:save-lisp-and-die "myexecutable" :toplevel #'main :executable t) 而且,我已调用C函数,从普通的lisp编译成共享库;像这样: (cffi:define-foreign-library libtest (