问题标签 [ccl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
88 浏览

common-lisp - Common Lisp:写入外部程序输入

我想在 CL/CCL 中为 mpg123 控制台 mp3 播放器编写一个简单的包装器,并想知道如何写入作为衍生进程存在的 mpg123:

但是这段代码不起作用,我有点卡住了。有任何想法吗?

0 投票
2 回答
266 浏览

terminal - 在终端上使用 SBCL 和 Clozure CL 时如何使用键绑定

当我在终端上使用 SBCL 和 Clozure CL 时,我想使用键绑定。

在终端上使用 Clisp 时可以使用键绑定。例如,当您键入“Control-p”时,您可以列出您键入的代码的历史记录。您甚至可以在键入“Control-d”时删除一个字母。

您知道如何在终端上的 SBCL 和 Clozure CL 上执行与使用 Clisp 相同的操作吗?

我用的是 Macbook,操作系统是 10.11.6。

我会很感激你的帮助。

0 投票
2 回答
514 浏览

common-lisp - 如何在 Common-Lisp CLOS 中在运行时可移植地创建一个类

我需要在运行时创建一个类,可能不求助于 eval。知道在 Common-Lisp 中元类协议没有完全标准化,浏览了The Common Lisp Object System MetaObject Protocol之后,我尝试了下面的代码来创建一个类,实例化它,并将实例的一个槽值设置为一个数字:

不幸的是,此代码在 SBCL 上正常工作,但在 CCL 上却不能正常工作,其中类创建似乎工作,但实例创建(make-instance *my-class*)导致以下错误:

我尝试查看close-mop包,它应该隐藏元对象协议的各种实现之间的差异,但我找不到任何对我的范围有用的函数或类。

所以问题是:有没有一种可移植的方式来创建一个类并在运行时通过直接使用 CLOS 的元类级别来实例化它?

0 投票
1 回答
162 浏览

macros - 为什么这个常见的 lisp 宏不计算第一个 s-exp?

我研究了 hunchentoot 包中的 define-easy-handler 宏(它创建了一个名为 NAME 的函数),并让 defun 部分工作,但我无法让这个宏将 NAME 推送到一个名为*observers*

一个示例调用#'add-observer是:

函数 NAME 已定义并且工作正常,但 NAME 未添加到 list *observers*。我是否将两个 s 表达式都放在一个 progn 中并不重要。macroexpand 清楚地显示了在push有和没有 progn 的情况下都没有调用。我在解释什么错误?

编辑

当我用这样的progn尝试这个时:

它失败了Unbound variable: below-80。当我将反引号放回#'push 和#'defun 时,再次#'push 不起作用。

0 投票
4 回答
130 浏览

common-lisp - 查看或提取输入到顶级 REPL 中的文本定义,非常适合 Clozure Common Lisp (CCL)

在顶级 REPL 中工作时,我有时会忘记在运行的 lisp 系统中输入了哪些定义。

我使用 Clozure CL,它提供了将应用程序保存为图像的选项,我可以这样做并且可以从我离开的地方继续,但此时无法查看所有代码,除非我单独键入并保存了代码已经到 xyz 文件了。

有没有办法获取/提取/查看我输入的定义,所以我可以将它们保存为源文件?

0 投票
1 回答
134 浏览

sockets - Clozure Common Lisp 中的 make-socket 错误

在 CCL 顶层,运行:

或者

输出以下内容:

我无法理解错误(CL 新手)。这是什么意思?我做错了什么?

0 投票
1 回答
294 浏览

sockets - 如何在 Clozure Common Lisp 中通过套接字进行通信?

在一个 CCL REPL 中,我输入:

它等待连接。

在另一个 CCL 过程中,我输入:

在这一点上,这个过程进入等待。它既不从服务器读取,也不退出。

但是,当客户端连接到服务器时,服务器会以 NIL 退出。很明显,至少建立了一个连接,但是字符串“Hello from server”。永远不会被沟通。

我确信这是我忽略的基本内容。我如何发送消息?READ-LINE 不是从流中读取的正确方法吗?我是否从服务器错误地写入?我将如何建立一个基于简单字符串的双向通信?

0 投票
1 回答
93 浏览

multithreading - 在 Clozure Common Lisp 中产生多个进程来处理许多基于套接字的连接

我有以下内容:

当一个连接进来时,它被接受并且一个流被传递给处理程序。进程在处理程序上等待(阻塞)。所以当处理程序返回时处理下一个连接。

解决方法是每个连接有一个进程(/线程),因此新连接不必等待处理程序完成对较早连接的处理。

我尝试这样做:

代替 just (funcall handler stream),但这最终会出错,因为在调用处理程序时流不可用。显然,因为 with-open-stream 到那时已经退出,并且流超出了范围,因此(也许?)GC'd。

然后我尝试了:

而不是 just (loop (handle-connection)),它以循环的速度运行生成新进程,因为套接字部分的等待不再阻止执行。

创建单独的线程/进程以处理同一个套接字上的许多连接的正确方法是什么?

0 投票
0 回答
110 浏览

emacs - utf-8 的 Emacs+Slime+CCL 文件加载问题

今天刚切换到 emacs,正在使用您通过苹果商店获得的 ccl 应用程序。

当我尝试通过 Cc Cl 加载文件时,我得到以下信息:

这似乎是一个编码问题,因为当我复制粘贴时 ccl 读取它非常好。

我已经将我的 ~/.emacs 设置为包括:

我究竟做错了什么?

ps 原文是日文(汉字和假名);不确定我是否使用了错误的语言环境?

编辑:原始代码:

其中 abc 被汉字/假名字符替换。

0 投票
1 回答
83 浏览

mysql - 我如何编写查询来提取这样的结果?姓氏,性别计数

在此处查看所需的结果

在此处输入图像描述

到目前为止,我所拥有的是基于以下查询的结果

在此处输入图像描述

...这不是很接近我需要的