首页 > 解决方案 > Atom 中的 Common Lisp *query-io* REPL 读取问题

问题描述

我在 Common Lisp 中使用 Atom 和 Atom-Slime。在 REPL 中,我发现我无法读取用户输入。线

(read-line *query-io*)

只是挂起。REPL 不注册任何按键。

当我尝试调试时,我发现我可以输出*query-io*很好:

(format *query-io* "hello")

按预期打印。

另外,问题似乎不在于(read-line),我可以毫无问题地从文件中读取:

(let ((infile (open <some-file>)))
  (format t "~a%" (read-line infile))
  (close infile))

有谁知道发生了什么?

标签: lispcommon-lispatom-editorread-eval-print-loopslime

解决方案


正如 Coredump 所说,您应该改用SLIMA扩展。它是 Atom-Slime 的一个分支,不幸的是,它的维护者没有分享推送权让其他维护者转发他。

但是你怎么知道?

通过查看 GitHub 存储库,您会看到以下内容:

注意:很难找到时间积极维护这个项目。有关最近维护的版本,请参阅 SLIMA 项目,它基于此处的代码构建。祝你好运!

不幸的是,Atom 包没有更新,所以我们在 Atom 扩展页面上看不到它。但这不是我的观点。

几年来,一些在线资源得到了彻底的改进 [1],我希望能有所帮助,作为未来问题和建议的 goto 参考:

历史资源是Cliki。有时会很混乱,但它可能很有用。在 Atom-Slime 的情况下,它是最新的并且是指 SLIMA:https ://www.cliki.net/atom-slime

当我在这里时,还有 lisp-lang.org:https://lisp-lang.org/wiki/article/editors这个网站是 common-lisp.net 重写之前最漂亮的网站,并且现在用处不大。它仍然有一个美丽的 Lisp 成功案例展示。对于更多使用 CL 的 Lisp 公司,请参阅awesome-lisp-companies(但不要认为它是完整的!)。

我希望现在,当你问自己“在 Common Lisp 中我能用什么……”时,在使用搜索引擎之前,你会在那里找到答案。

最好的,

[1] 免责声明:经常由我自己


推荐阅读