clisp相关内容

在宏中将两个变量组合成一个函数名

我在玩弄宏和 clos,在那里我创建了一个“对象"宏来创建实例 (defmacro object (class &rest args)`(make-instance ',class ,@args)) 现在这样做,我最终也想为 clos 创建的访问器函数做一些类似的事情.示例: (defclass person () ((name :accessor person-name :initarg ..
发布时间:2022-01-11 19:43:26 其他开发

Lisp 可执行文件

我刚刚开始学习 Lisp,我不知道如何编译 lisp 代码并将其链接到可执行文件. 我使用 clisp 和 clisp -c 生成两个文件: .fas .lib 接下来我该怎么做才能获得可执行文件? 解决方案 我今天实际上正在尝试这样做,我发现将其输入到 CLisp REPL 中有效: (EXT:SAVEINITMEM "executable.exe":安静:INIT ..
发布时间:2021-12-28 19:45:04 其他开发

用普通的 lisp 编写 lambda 表达式

我目前正在阅读 Paul Graham 的 ANSI Common Lisp,我有一个关于编写 lambda 表达式的问题. 我们需要在 lambda 表达式前加上 #' 吗?如果我在 REPL 中写这样的东西,它会工作得很好 >((λ (x) (+ x 1)) 1)2 也会这样 >(mapcar (lambda (x) (+ x x)) '(1 2 3 4))(2 4 6 8) 我 ..
发布时间:2021-12-23 22:07:05 其他开发

测试数组是否在 lisp 中的列表内

我有两个项目.第一个,a-child,是一个列表,它包含一个数组作为它的第一个元素,然后一些字符串作为剩余的元素.另一个,mapped,是一个包含多个数组的列表.通过检查,很容易看出 a-child 在 mapped 中,尽管我找不到可以为我找到它的函数. 我为下面糟糕的 lisp 风格道歉 - 我是几天前开始的,所以我还没有掌握所有的约定. (defparameter a-child ( ..
发布时间:2021-11-18 01:29:04 其他开发

在循环中调用函数(Common Lisp)

我正在制作一个Lisp控制台生存游戏,我试图添加一个函数,直到a = b,显示“".每一秒.然后,当a = b时,将"hurt"变量设置为true,如果/true,则将"health"减1,直到用户和"hurt"变量调用"use-medkit"功能设置为false并且退出两个循环. 我遇到的问题是,当系统提示我使用"use-medkit"函数并键入该函数时,它不评估我输入的任何内容,并始终从 ..
发布时间:2021-04-23 19:42:22 其他开发

Lisp:如何提示阅读浮动信息?

我有一个函数在其中同时使用解析整数和提示读取.但是,我需要这些整数之一才能成为浮点数.当我将parse-integer更改为parse-float时,它不再起作用.功能如下: (defun猫提示()(添加记录(制造猫(即刻显示的“名称")(即刻阅读“着色")(或(parse-integer(即刻读取的"Weight":Wunk允许的t)0)(或(parse-integer(即读即读的"Exper ..
发布时间:2021-04-23 19:41:25 其他开发

LISP中的函数式编程

我刚刚开始学习函数编程,这对我来说有点困惑,我现在有一个任务:从具有列表的行中删除所有重复项,因此: 输入行: (SETQ X(清单2 -3(清单4 3 0 2)(清单4 -4)(清单2(清单2 0 2))- 3)) 我希望输出如下:(2 -3(4 3 0)(- 4)()) 我想通过递归来实现。 我有一些概念性问题:如何从列表中删除一个元素,或者应该为输出添加一个新元素? ..
发布时间:2020-10-06 06:44:47 其他开发

局部变量使数据不被先前执行

在以下代码中,即使(我相信)我仅在每个函数中使用局部变量,但多次运行后的结果似乎仍将数据保留在变量中,最终会添加旧的&新结果。 (defun funcC(target res) (cond ((null res) (列出(列出目标1))) ((相等(汽车(汽车))目标) (setf(cadr(汽车))(+(cadr(汽车))1))) res) (t(setf(cdr res)(func ..
发布时间:2020-10-06 06:44:40 其他开发

常见的Lisp函数/宏别名

我想为常用命令(例如“ defun”和“ lambda”等)的常用lisp(准确地说是clisp)设置别名,是否可以这样做? 这实际上是此的副本问题,但我无法评论,该解决方案对于sbcl和clisp中的defun或lambda都不起作用 解决方案 宏: CL-USER 5> (setf(宏功能’dm)(宏功能’defmethod)) # ..
发布时间:2020-10-06 06:41:37 其他开发

在OSX上编译clisp-2.49:找不到LIBFFI

TL; DR: 即使似乎已安装 libffi ,配置脚本即使我给它加上(正确?)前缀也找不到它。 /!\这篇文章的最后一部分(*)是我遇到的问题。 /!\ 我只提供其他信息来说明我如何到达那里。如果出现一些无关紧要的事,我深表歉意。对您来说,随时告诉我,我会考虑缩短我的帖子。 为什么我想自己编译CLISP: 我想运行一个Lisp程序,但是在安装 CLISP 运行时c> ..
发布时间:2020-10-06 06:28:29 其他开发

Common Lisp:为什么我的尾递归函数会导致堆栈溢出?

我在理解Common Lisp函数的性能时遇到问题(我仍然是新手)。我有此函数的两个版本,它们仅计算直到给定 n 的所有整数的总和。 非尾递归版本: (defun addup3(n) (if (= n 0) 0 (+ n(加法(-n 1))))) 尾递归版本: (defun addup2(n) (标签[[f(acc k) (如果(= k 0) acc ..
发布时间:2020-10-06 06:22:42 其他开发

用通用Lisp编写Lambda表达式

我目前正在阅读Paul Graham撰写的ANSI Common Lisp,并且对编写lambda表达式有疑问。 我们是否需要为lambda表达式加上#’前缀?如果我在REPL中写这样的东西,它将很好用 > ((lambda(x)(+ x 1))1) 2 所以此 > (mapcar(lambda(x)(+ xx))'(1 2 3 4)) (2 4 6 8) ..
发布时间:2020-10-06 06:03:08 其他开发

在CLISP中更新到ASDF 3.x

我正在尝试将CLISP 2.49(在Mac OS Sierra上)中的ASDF更新到版本3.x. 我现在有ASDF 2.26版本. 我已经尝试了所有在网上找到的内容:如 https://common-所示,我下载了ASDF的最新版本. lisp.net/project/asdf/,但是当我评估(require "asdf")时,如手册中所述( https://common-lisp.net/pro ..
发布时间:2020-08-14 19:06:58 其他开发

将两个变量组合成一个宏中的函数名

我在玩弄宏和Clos,在那里我创建了一个“对象"宏来创建实例 (defmacro object (class &rest args) `(make-instance ',class ,@args)) 现在,我最终还是想对clos创建的访问器函数做类似的事情.示例: (defclass person () ((name :accessor person-name :initarg ..
发布时间:2020-05-05 08:50:38 其他开发