lisp - Common Lisp 中 WAR 文件的等价物

标签 lisp common-lisp

我有一个用 Lisp 编写的运行状态机的系统。我想从目录动态加载状态机的定义和任何所需的 Assets (图像等),只给出目录的名称。会有多个不同的状态机。这类似于 Apache 加载和运行 WAR 文件,但不完全相同。

我担心的是,简单地编译和加载一个文件几乎可以运行任何东西。理想情况下,我只想获取状态机定义,使用 Assets 路径对其进行配置,并使其可用于执行。现在我正在尝试加载一个实现特定基类的类,但这并不简单。有这方面的标准技术吗?

谢谢。

最佳答案

您是说您担心通过读取文件执行任意代码的可能性吗?我所以你应该考虑重新定义读取表以排除不需要的符号。

例如结帐this ,查找“SAFE-READ-FROM-STRING”。

它不完整,但您可以使用 #'read 获取数据结构,进行一些健全性检查并在需要时进行编译。

如果这不是您要查找的内容,那么我很抱歉,您能否进一步解释您要查找的内容?

关于lisp - Common Lisp 中 WAR 文件的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28400890/

相关文章:

lisp - 编写一个以数字为参数的函数并构造一个列表

syntax-error - Lisp,指令在 defun 中不起作用

loops - 为迭代定义一个宏

performance - 在普通 lisp 中计算阶乘的最快方法是什么?

macros - 如何编写(简单的)宏?

arrays - 为什么 lisp 中的列表排序比数组排序更快?

lisp - CLOS 插槽访问器 : read but not write

package - 延迟加载时,lisp 包在读取时不可用

lisp - 普通的 lisp 练习,给字符串赋值

scheme - 在方案中反转数字时参数数量错误