Clojure 中允许的范围 functions/macros

Scope of allowed functions/macros in Clojure

我希望用户能够将代码提交到执行代码的服务器。为了保护它,我想指定一个已批准的函数和宏列表 - 一个用户执行范围。所以我想知道在 clojure 中是否可能有这样的事情。有什么简单的方法可以做到这一点,或者有任何图书馆可以帮助它吗?

我的第一个想法是遍历提交的代码片段并检查其中的所有符号是否确实被允许。但后来我意识到可以使用代码轻松地将字符串或任何东西转换为符号。所以这种方法一般来说并不是最好的。

你可能应该看看像 Clojail 这样的东西。