cost 71 ms
重新绑定词法变量的子集 - Rebinding a Subset of Lexical Variables

给定一组词法变量,是否可以根据运行时的情况重新绑定其中的一个子集。 我的第一个想法是使用#'set类似的东西: 但这仅适用于特殊变量(并且已折旧)。 我提出了一个可行的解决方案(通过构建setf表达式),但我不愿意展示它,因为它是如此复杂和低效。 有直接的解决方案吗? (ps:我明白这个问题是反常 ...

Common lisp:在单独的线程中调用 class 方法 - Common lisp: calling a class method in a separate thread

我正在尝试为个人项目(也学习 lisp)构建 Golang 通道构造的通用 lisp 实现。 到目前为止,我已经将通道实现为 class 的对象,其中包含一个队列、一个锁和一个条件变量,用于向监听函数发出新消息已添加到队列的信号。 我正在使用波尔多线程来创建线程、锁、条件变量并加入执行(来自lisp ...

用不同的表达式系统地调用 Common Lisp 宏 - Invoking Common Lisp macros systematically with varying expressions

我正在学习 Common Lisp (SBCL)。 我想创建一个工具来调用两个(或更多)具有几个仅在某些参数上不同的相似表达式的宏。 我想定义表达式的基础,然后用我提供的参数修改它。 为此,我想到了 lambda function 的定义。 据我所知,没有与宏的funcall类似的东西,所以我也将宏 ...

lisp中破坏性函数的单元测试 - Unit testing of destructive functions in lisp

这里的背景是我有一个 function 的非破坏性版本,出于性能原因我想使其具有破坏性。 然而,编写单元测试变得具有挑战性,因为 lisp 将源代码中的所有引用列表视为常量,更改这些会导致未定义的行为。 我使用降落伞作为单元测试框架例如, 这有点失败,因为我们最终将8推入常量列表(1 2)最终导致( ...

使用 Emacs 和 SLIME 抑制 SBCL 中的调试器? - Suppressing the Debugger in SBCL with Emacs and SLIME?

将以下代码放入~/.sbclrc允许我在从命令行使用SBCL REPL 时接收简化的错误消息,而无需深入调试器(我觉得这有点烦人)。 当从Emacs和SLIME运行 SBCL REPL 时,这是我通常与之交互的方式,每当我遇到错误时,REPL 都会坚持进入调试器。 在 Emacs 和 SLIME ...

如何判断调用环境? - How to determine the calling environment?

我试图隐藏 CL package 中的数学运算符。除了* 、 /和+ ,这工作正常。 然而,这些符号的符号值由实现设置为我在 REPL 中经常使用的值(function 在 SBCL 中是interactive-eval )。 因为它们是在之前的表单评估中设置的,所以我无法获取它们,除非在评估表单 ...

如何在宏(普通 lisp)中将 LOOP 转换为 DO? - How to translate a LOOP into a DO inside a macro (common lisp)?

我目前正在阅读 Seibel 的“Practical common lisp”并找到了这个示例宏: 做一些简单的事情,然后以某种方式格式化两个参数,允许“测试”表单的真实性,但这对我的问题并不重要。 我感兴趣的是将循环转换为 DO,不幸的是,我完全缺乏这样做的必要技能: 这完成了工作,我也可以这样 ...

Common Lisp 中的非矩形 arrays? (用于教学目的的一般问题。) - Not-rectangular arrays in Common Lisp? (General question for didactical purposes.)

只是为了完整起见,我想知道是否有一种方法可以在 Common Lisp 中定义“锯齿状”或“参差不齐的数组”,就像在 Java 中描述的那样,例如: https://www.geeksforgeeks.org/jagged -array-in-java/ 伴随这个问题而来的是第二个问题,这样定义多 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM