我对defun宏如何工作感到困惑,因为
(defun x () "hello")
Run Code Online (Sandbox Code Playgroud)
将创建函数x,但符号x仍将是未绑定的.
如果我将一些lambda绑定到x,那么x将有一个值,但它不会被解释器视为函数,如下所示:
(x)
Run Code Online (Sandbox Code Playgroud)
我认为这与defun应该在全球环境中定义功能这一事实有关,但我不确定它究竟意味着什么.为什么我不能在当前环境中影响它呢?
有没有办法强制解释器将符号视为函数,如果某个lambda绑定到它?例如:
(setq y (lambda () "I want to be a named function"))
(y)
Run Code Online (Sandbox Code Playgroud)
PS:我正在使用SBCL.
我正在尝试使用圆形拓扑绘制图形.
这是我期待看到的:

这是我的gv文件:
digraph g1 {
layout="circo";
node [shape = doublecircle]; N4 N6;
node [shape = circle];
N0 -> N1 [ label = "{1,0}"];
N1 -> N2 [ label = "{1,0}"];
N2 -> N3 [ label = "{1,0}"];
N3 -> N4 [ label = "{1,0}"];
N4 -> N5 [ label = "{1,0}"];
N5 -> N6 [ label = "{1,0}"];
N6 -> N0 [ label = "{1,0}"];
N0 -> N4 [ label = "{1,0}"];
N1 -> N5 [ label = "{1,0}"]; …Run Code Online (Sandbox Code Playgroud) 有没有办法为未绑定工作队列的 kthreads(那些名为 kthread/uXX:y 的线程)设置 CPU 关联性?类似于常规工作队列的 cpu 掩码。使用任务集为每个 kthread 设置它是一个好主意吗?