Common Lisp是Lisp编程语言的标准化版本,旨在提高生产力。
DEFGENERIC + DEFMETHOD 与 DEFUN 的实施方式?
我有文件R和两个文件A、B。 R 始终被加载。 A xor B 的加载取决于平台功能。我有一个无论平台如何都应该存在的函数,称之为F。 有什么优点...
为什么 `class-name` 在这种情况下在 REPL 中不起作用?
我正在阅读 Sonja Keene 的《Common Lisp 中的面向对象编程》一书。 在第七章中,作者提出: (类名类对象) 这使得查询类对象成为可能......
您有一个在编译时已知的键值对列表。我们不想在运行时查找,而是希望生成一个查找表。例如,我们可以这样做(来自我写的一段代码
Common Lisp cl-charms 中出现“您的终端不支持颜色”错误 - 如何启用颜色输出?
我在 Lisp 中遇到 cl-charms 库的问题。编译代码时,我收到错误“您的终端不支持颜色”。下面是重现问题的代码...
根据 CLTL2,所有处理键修饰符的函数似乎都从标准中删除了。 SBCL 似乎没有这些。 带
根据 CLTL2,所有处理键修饰符的函数似乎都从标准中删除了。 SBCL 似乎没有这些。 带
我正在以 Common Lisp 语言的风格编写打印漂亮的代码。虽然我的直觉是可以使用格式指令将这段代码编写得更紧凑,但我仍然没有成功......
:KEY 中使用的 EVENP 或 ODDP 如何与整数进行比较?
在规格书的SEARCH功能页面,可以看到示例: (搜索 '(0 1) '(2 4 6 1 3 5) :key #'oddp) => 2 您能解释一下这种比较是如何进行的吗? 确实,O...
Common Lisp:如何使用 CL-PPCRE 模仿 \G 锚点?
在 Perl 正则表达式教程中,有一个带有 /g 修饰符的示例: $dna = "ATCGTTGAATGCAAATGACATGAC"; while ($dna =~ /(\w\w\w)*?TGA/g) { # 注意最小的 *? p...
对于修改一个或多个参数的函数,是否有一种广泛接受的 Common Lisp 命名约定?
在 CL 中,我们有 incf 和 setf 命令式函数。 方案使用感叹号(例如 set!、vector-set! 等)但是 CL 程序员使用什么约定(如果有的话)?
了解 SBCL Common Lisp 中的编译函数如何工作
我希望有人能解释为什么编译功能没有像我预期的那样工作。 第一个问题: *(编译'square(lambda(x)(* x x))) 正方形 零 零 但是之后: *(方格 3) ;在:SQU...
我用 :test #'equalp 制作了一个哈希表。我的钥匙是这种类型的结构 #S(键 :WMES (#S(WME :类型块 :姓名B1 :ABS-POS ((^LE...
我想将一个字符插入到列表中。 但是,我想将此字符与列表中的最后一个符号合并。 对于appends和cons,结果总是两个不同的符号。 好吧,我想要一个合并
看来,这两个类似的问题都不包含我寻求的信息。 我不明白 CL-PPCRE 中的模式更改是如何工作的。我尝试使用两个嵌入式修饰符和关键字参数...
Common Lisp 循环:我如何强制循环宏不迭代其输入列表?
我编写了下面的代码(INFIX-LINKING-LEAFS - 最后一个函数 - 是循环的第一个调用者)。如果为了回答我的问题需要太多代码(五个函数),我很抱歉。我...
我想知道如何传递一个字符串来检查符号是否存在,所以我创建了以下函数, 但所有的答案都是:INTERNAL,所以没用。 我明白原因,但是...
Common LISP 中的函数“position”与“gensym”一起工作很奇怪
我是 LISP 新手,所以对于可能不聪明的问题提前表示歉意。 现在需要检查给定的符号是否是给定符号列表的成员。功能位置非常适合...
已解决 - Common Lisp 循环:我如何强制循环宏不迭代其输入列表?
我写了下面的代码(INFIX-LINKING-LEAFS - 最后一个函数 - 是循环的第一个调用者)。如果为了回答我的问题需要太多代码(五个函数),我很抱歉。我...
我正在使用线性代数用 CL(使用 SBCL 1.2.15)编写程序。在执行过程中,它经常将矩阵乘以向量。 Profiler 显示大多数时候 (80%)
在 Haskell 中,如果我想要像二叉树这样的东西,我会使用代数数据类型。 数据 BinTree a b = EmptyBinTree | BinTree a (也许 b) (BinTree a b) (BinTree a b) 在 Common Lisp 中,我可能