sbcl相关内容
我知道Common Lisp不鼓励程序员接触原始内存,但我想知道是否可以查看对象是如何在字节级别存储的。当然,垃圾收集器在内存空间中移动对象,函数(obj-as-bytes obj)的两次后续调用可能会产生不同的结果,但让我们假设我们只需要一个内存快照。您将如何实现此类功能? 我尝试使用SBCL的情况如下: (defun obj-as-bytes (obj) (let* ((add
..
我已经使用Steel Bank Common Lisp创建了一个小项目,我正在使用ASDF编译和加载它。LOAD命令为: (asdf:load-system :) 一切正常(程序编译后运行良好),但我不断得到类似 的输出 ; compiling file "[...].lisp" (written 13 APR 2014 06:20:03 PM): ; comp
..
我是 common lisp 的新手,所以希望有人能向我澄清这一点: 假设我们有一个列表,想用 push 添加一个项目来修改它: CL-USER>(defparameter xx '(1 2 3))XXCL-用户>xx(1 2 3)CL-用户>(按 100 xx)(100 1 2 3)CL-用户>xx(100 1 2 3) 正如预期的那样.但是当我尝试对函数执行相同操作时,它不会修改列表
..
..
我安装了 emacs + sbcl + slime.我定义了这个函数 (defun jugar ()(让* ((nodoActual *nodo-inicial*)(estadoActual (nodo-estado nodoActual))(timeStart nil)(timeEnd nil))(循环而(不是(es-estado-final estadoActual))做(setf *hoj
..
我是普通 lisp 的新手,所以希望有人能向我澄清这一点: 假设我们有一个列表,想用 push 添加一个项目来修改它: CL-USER>(定义参数 xx '(1 2 3))XXCL-用户>xx(1 2 3)CL-用户>(推 100 xx)(100 1 2 3)CL-用户>xx(100 1 2 3) 正如预期的那样.但是当我尝试对函数执行相同操作时,它不会修改列表: CL-USER>(d
..
如果您运行 SBCL(至少在 Windows 上,我在家里使用 CLISP),您会收到消息“您的死亡小猫在等待".我怀疑这与某种形式的内部笑话有关(例如 Super Cow Powers).我试过谷歌搜索,但没有发现任何特别有用的东西(我想它在网上的其他地方提到过,如果不是很多,也有一些用途). 如果这更像是 SuperUser 或 ServerFault 问题,请告诉我,我会在他们的论坛上
..
我的〜/.sbclrc 看起来像这样: (sb-ext:restrict-compiler-policy'调试3')(setf * debugger-hook *#'(lambda(条件原始钩)(声明(忽略原始钩))(打印回溯)(格式*错误输出*“〜%〜A〜%"条件)(完成输出*错误输出*)(中止))) 假设我有一个包含错误功能的程序 my-program.lisp : ;;...(de
..
尝试以标准列表表示法打印conses,但始终以点对的形式打印,以最小的努力,我以这种方式重新定义了 print-object 方法: (defmethod print-object((c cons)str)(格式str“(〜a.〜a)"(car c)(cdr c))) 但效果因不同的实现而异. 在Clozure CL和LispWorks Personal中,结果是我所期望的: CL
..
在Common Lisp中,quicklisp是一种流行的库管理工具.我将使用该工具,并尝试使用CL-WHO.我使用SBCL 1.0.57实现.我将在下面回答我自己的问题. 作为一个初学者,尚不清楚ASDF和quicklisp实际如何协同工作.因此,目前尚不清楚如何在外部源文件中实际使用通过quicklisp下载的软件包或库.quicklisp FAQ(至少在此刻)无济于事.在python中
..
我试图使用SLIME-CONNECT功能来访问具有sbcl的远程服务器.我按照 Marco Baringer 中的slime.mov电影中的所有步骤进行操作,但是在创建时遇到了麻烦用于史莱姆的ssh连接.这是已经在远程计算机上启动了swank服务器之后.我是这样做的: ssh -L 4005:127.0.0.1:4005 user@server.com 在本地SLIME上出现此错误:
..
假设我有一个整数,例如109,1101101,二进制.如何遍历此数字的位,例如:[64、32、8、4、1]?用Lisp做到这一点的一个好方法是什么?我应该通过添加大小写来稍微修改for宏还是应该将整数转换为位向量或列表? 解决方案 如果您只想处理"1",那么如果所有位很少,那么遍历所有位就没有效率.这是我在这种情况下要做的 (defmacro do-bits((var x)& rest
..
如何配置SBCL,以使其在Emacs中使用“ Mx粘液”启动时比默认使用更多的内存? 从网上看到的答案似乎是调用SBCL,并传递了参数“ --dynamic-space-size”。由于我没有直接调用SBCL,所以我不知道如何传递参数。 我在Windows 7上使用GNU Emacs 22.3.1和SBCL 1.0.48。我也没有配置的经验,因此对新手的介绍会有所
..
当我运行以下代码时: (defun countdown(n) (if(> = n 0) (cons n(倒数(-n 1))))) (倒数100000) 我收到以下消息: INFO:控件堆栈保护页未受保护 暂时禁用了控制堆栈保护页:谨慎处理 调试器,该调试器在线程 中的SB-KERNEL :: CONTROL-STACK-EXHAUSTED上调用#控制堆栈用尽
..
我已经编译了Lisp代码,并且想要为其创建前端GUI。我选择Java swing开发GUI。现在,我想从Java应用程序调用LISP代码(SBCL)!有什么办法吗?如何从Java执行Lisp代码? 谢谢 解决方案 我相信最适合您的解决方案是使用: http://common-lisp.net/project/armedbear/ 您可以在该网络上找到此示例 / *
..
运行简单的HTTP请求: 使用 dexador 或 drakma 和SBCL 1.4.14 和OS X 10.13.6 带有(ql:client-version)等于“ 2017-03-06”和(defvar qlqs-info: *版本*“ 2015-01-28” (我刚刚从
..
在Common Lisp软件包的上下文中,它们之间有什么区别?我正在阅读SLIME文档,并且一些命令对此进行了广泛提及。 解决方案 Common Lisp软件包的作者可以为以下文件导出符号:包的用户。然后,该符号是一个外部符号,您可以使用 package-name:external-symbol-name 访问它。 内部符号并不供用户使用,而是可以使用 package-name ::
..
我在运行(acos 1)时找到了1个emacs的ArcCosine,而不是正确答案0,而是得到了答案 -6.125742f-17 这是为什么?如何获得正确的0答案,如Windows计算器所说的那样 我正在使用SBCL作为Windows 8上的Lisp解释器,并且SBCL是32位的 : (acos(理性1)) 我得到相同的答案,当我运行 (acos(floa
..
有人可以告诉我 sb-ext的args参数应该是什么样的:运行程序? 如果我这样做: (sb-ext:运行程序“ C:/ Program Files / iTunes / iTunes.exe” “ C:/lispbox-0.7/opus.mid”) 我收到此错误: 调试器已调用在TYPE-ERROR上: 值“ C:/lispbox-0.7/opus.mid”
..
我打算使用 buildapp 从我的Lisp代码中获取可执行文件,但是我不明白如何为项目指定我的.asd文件来加载代码。 我想象过像这样的调用: buildapp --asdf文件:/path/to/projectasdffile.asd \ -入口点包:主 但是首页提供的示例并未涵盖我认为相等的调用,所有示例调用看起来都像一个整个asdf定义本身。对于整个项目
..