gpt4 book ai didi

在 Emacs 上调试 Maxima CAS Lisp 代码

转载 作者:太空宇宙 更新时间:2023-11-03 18:53:39 25 4
gpt4 key购买 nike

是否可以调试Maxima CAS Emacs 中的 Lisp 代码?

一直使用这么多打印语句是一件痛苦的事情。

最佳答案

多年来我使用了两种方法。

  1. 使用 Maxima 核心文件运行 slime。查看此电子邮件以了解如何操作

    http://article.gmane.org/gmane.comp.mathematics.maxima.general/36029

  2. 运行 Maxima,但在初始化文件中添加代码以创建 swank 服务器,然后使用 slime-connect 连接到该服务器。

    http://article.gmane.org/gmane.comp.mathematics.maxima.general/44533

然后名单上的某个人(也许是 Leo Butler?)提出了一个比那封电子邮件中的方法更简洁的方法。不幸的是,我的搜索失败了,我找不到对话,所以我现在只粘贴我的 ~/.maxima/swank.lisp 中的内容:

(eval-when (:compile-toplevel :load-toplevel :execute)
(defvar *swank-asd*
(car (directory #P"~/.emacs.d/elpa/slime*/swank.asd")))

(when *swank-asd*
(load *swank-asd*)
(require :swank)))

(when (find-package :swank)

(swank:create-server :port 56789 :dont-close t)
;; Hack to make "q" not kill Maxima outright. Only applies from console
(in-package :maxima)
(defvar *real-continue-function* (symbol-function 'continue))
(setf (symbol-function 'continue)
(lambda (&rest args)
(let ((swank::*sldb-quit-restart* 'maxima::macsyma-quit))
(apply *real-continue-function* args))))
(format t "Swank loaded successfully"))

首先尝试从我的 Emacs 目录加载 swank(我使用 Elpa 安装 slime)。成功时,或者如果 swank 出于某种原因被加载,它会创建一个服务器,然后执行第二封电子邮件中描述的巧妙的“使 q 键不是很烦人”的技巧。

关于在 Emacs 上调试 Maxima CAS Lisp 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com