问题标签 [allegro-cl]
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.
windows - 在 Common Lisp 中创建隐藏文件
由于 Unix 平台上的隐藏文件只是以句点开头,因此使用 Common Lisp 创建一个文件很简单。Windows 机器上的隐藏文件定义不同。它们有一个文件属性,指示它们是否被隐藏。如何使用 Common Lisp 创建这些类型的文件?我在 Windows 上使用 Allegro CL。
build - Allegro CL:创建一个独立的二进制文件?
我想将第三方 lisp 库保存到独立的二进制文件中?这可以在 Allegro CL 中执行吗(我似乎在文档中找不到任何关于此的内容)?
common-lisp - Common-Lisp 代码工作正常,现在“错误:尝试获取未绑定变量 `*OPPONENT*' 的值。”
我很困惑。我正在玩COMMON LISP 第 10 章中的井字游戏:符号计算的简单介绍 https://www.cs.cmu.edu/~dst/LispBook/book.pdf。我在 IDE 中完成了所有工作,保存了它,然后编译+加载了它。我跑了几场比赛没有问题。所以,我复制了已知的工作文件并开始调整。同样,没有问题 - 一切正常。但是,现在,当我运行 (play-one-game) 时,出现以下错误:
错误:尝试获取未绑定变量“*OPPONENT**”的值
我在原件和副本中都得到了错误。我关闭 AllegroCL 并重新启动计算机,但重新启动后问题仍然存在。然后我更新了程序并在它的应用程序目录中运行了 ./update.sh 。
最后,我决定将示例直接从 PDF 复制到不同目录中的全新文件中,我遇到了同样的问题。我不知道发生了什么变化,但至少可以说让我很高兴。
lisp - 为什么会弹出警告标志?在 lisp 编程中
为什么这个“警告:对未声明变量 ARAD 的自由引用假定为特殊”。弹出?
common-lisp - 在 Windows 上的 Allegro Common Lisp Form 应用程序中是否有全局表单和按钮变量?
Allegro Common Lisp 表单与 Delphi 表单非常相似。但是delphi表单至少可以让你访问Form1、Button1、Button2等全局变量。
在 Allegro common lisp 中,我可以弄清楚如何访问按钮属性和表单属性的唯一方法是使用 find-sibling 并使用 LET 设置局部变量,或者设置我自己的全局变量。是否已经有一个全局变量来访问常见的 lisp 中的按钮 1、form1 等小部件,您可以方便地访问这些小部件......
例如,如果我想通过单击另一个按钮 2 来访问 Allegro CL 中 form1 上的 button1,我会这样做:
使用 find-sibling 很乏味,而且与 delphi 中只有一个要访问的全局变量相比,似乎是在浪费时间:
如何在不使用查找兄弟的情况下在 allegro common lisp 中设置按钮 1 标题(与 delphi 中的标题相同)。但必须对其他组件使用 find-sibling。似乎 allegro common lisp 迫使人们编写查找兄弟代码,而不是只给你一个全局变量,如button1和button2和form1。
编辑:在 delphi 中 form1 是全局的,但 button1 和 button2 只是全局表单类的一部分,它们本身不是全局的,但它们的行为就像全局一样,因为你可以这样做
来自其他单位
(或当前unit1中的self.button1,但delphi并不要求你一直说SELF,为了键盘打字方便)。
编辑:不,产品“allegro common lisp”根本无法处理基本的编程任务,因为它是 lisp,而不是实用语言。
common-lisp - 在 Allegro CL 和 ABCL 中,我可以构造一个仅给出其类型名称的结构吗?
(make-instance 'struct-type)
在大多数实现中,无论您是否为该类型定义了构造函数,都可以使用它来创建结构。这在 Allegro 或 ABCL 上不起作用,但这些实现仍然可以在读取时创建结构体#S(struct-type)
,这让我认为在将类型名称作为符号的情况下必须有其他方法在运行时构造它们。
lambda - 使用 lambda 和“reduce”捕获标签时出现奇怪的非 lisp 错误
我在 Allegro Common Lisp, v9.0 for Windows 中开发应用程序时偶然发现了一个非常奇怪的错误 (?)。我没有收到常规的 lisp 错误,而是将系统错误封装在 lisp 条件中。我设法创建了一个简单的测试用例来重现错误(这很愚蠢):
每次尝试此测试用例时,我都会收到堆栈溢出错误。
在我的原始代码中,我遇到了很多错误,主要是分段错误,一旦出现“不能接受car
<..> 因为它不是 listp”,并且一旦 Allegro 崩溃。
在 CLisp 中运行相同的代码段(或我的原始代码)时,一切运行正常,REPL 给出了答案。
我的问题:我在这里做错了什么或违法,还是 Allegro CL 中存在错误?如果是这样,我们能否确定该错误是什么以及如何处理它?
一些实验似乎表明reduce
and 和双标签对于重现错误是必不可少的;替换reduce
为funcall
或如果只有一个标签不会给出错误。
lisp - 如何使 Allegro Common Lisp 区分大小写?
如何使 Allegro Lisp 区分大小写。我试过以下
但它不起作用。
common-lisp - Allegro 中的未绑定变量
在我正在阅读的书中的示例代码中,有一行宏提供了获取符号全局值的简写:
但是,Allegro 将 V 视为未绑定变量。我不知道如何更改此宏以返回正确的结果,因为我以前从未遇到过这样的问题。我将如何获得任何符号的全局值?谢谢你的帮助!
lisp - Allegro CL Lisp 编辑器
在 Allegro CL Free Express Edition 中,如何在 Debug 窗口中加载最后一个 LISP 命令?我正在寻找与终端中的向上箭头类似的东西。