common-lisp

    1热度

    1回答

    根据this question,别名功能,可以像这样创建: (defun some-function() ...) (setf (fdefinition 'sfunc) #'some-function) 但是: (defun some-function() ...) (defun (setf some-function)() ...) (setf (fdefinition 'sfunc)

    1热度

    2回答

    目前正在学习Common Lisp的,下面的彼得·塞贝尔的实用的Common Lisp(我在第11章,约集合),我有困难,了解背后的引擎盖setf作品。 考虑以下表达式: (setf a 10) 我完全地理解如何解释器可以:(1)检索名为a变量,和(2)改变它指向到10值。现在 ,我特定集合的情况下,例如列表,载体或哈希表,SETF也可以用来改变由收集包含的值。例如,用向量: (defpara

    2热度

    2回答

    我有两个元素和一个列表。我必须在第一个元素之前插入第二个元素,每次出现第一个元素时,都会在给定列表的第一个级别中插入第二个元素。 递归版本: (defun INSERT-ELEM (E1 E2 L) (cond ((null L) NIL) ((equal E1 (car L)) (cons E2 (INSERT-ELEM E1 E2 (cdr L)))) ((e

    0热度

    2回答

    [SBCL]我想从一个文本文件看起来像这样读取字符逐个字符: :table E E E E E E C C C E E E E E E 我的代码(有些省略清晰度): (defun read-txt (path) (with-open-file str path :direction :input :if-exists :supersede) (let

    1热度

    1回答

    当我在UCW中使用package:parenscript时,会出现许多名称冲突。如果我保留旧的,Parenscript不起作用(另外,parenscript与直接parenscript:ps呼叫不正常),如果我导入新的,UCW似乎被打破。在共同的lisp中有没有什么方法可以使用名称并列的包?

    1热度

    1回答

    我已经更新quicklisp到拉泰什版本 CL-USER>(QL:更新所有dists中) 1 DIST检查。 您已经有最新版本的“quicklisp”:2017-06-30。 NIL 但这并没有更新的依赖到最新版本,EX。 Hunchentoot网络服务器版本是1.2.35,但由于错误修正,我需要1.2.37。 /home/pio/quicklisp/dists/quicklisp/softwar

    0热度

    2回答

    宏对于调试非常有用。但在任何宏观上使用时,它会停下来。就像如果我尝试做到以下几点: CL-USER> (trace push) 然后,它会给出一个错误说: can't use encapsulation to trace anonymous function #<FUNCTION (MACRO-FUNCTION PUSH) {100053FB9B}>

    2热度

    1回答

    有没有一种方法可以传递给函数的属性列表作为参数在一个类似的方式: (defun sum (&key x y) (+ x y)) (sum '(:x 10 :y 20))

    1热度

    1回答

    什么我可以做: CL-USER> (format nil "~10:<foobar~>") " foobar" 但我想通过10像参数: CL-USER> (format nil "~d:<foobar~>" 10) ;; but throws error " foobar" 发生任何方式做到这一点?因为我不都想做到这一点: CL-USER> (format nil (format ni

    1热度

    1回答

    我安装CL-jupyter没有发现,存在quicklisp一个问题是这样的: $ sbcl --load ./cl-jupyter.lispThis is SBCL 1.3.1.debian, an implementation of ANSI Common Lisp. More information about SBCL is available at <http://www.sbcl.