5

我听说大多数 lisps 支持将运行程序的图像保存到文件中。guile 支持这个吗?

4

2 回答 2

2

我认为与其他语言的互操作对于 Guile 来说是不可或缺的,因此解释器图像中有很多状态对 Guile 本身是不透明的。我最了解 Guile 将它用作 gEDA 中内置的方案解释器,所以你能想象不仅要保存所有的 CONS,还要保存 gschem 可能打开的所有 X 窗口?在 Guile 内部可靠地做是不可行的。(而且我不确定即使在“有限”的情况下实现保存图像到文件是否是一个好主意。)

也就是说,最终您可以保存程序状态,但是由于程序边界是如此多孔,文件描述符和内存映射从每个孔中泄漏出来,您很快就会意识到您必须保存整个计算机的状态。这是以“休眠”省电模式的形式完成的!我也意识到,这不是你想要的。

于 2011-02-01T20:36:51.097 回答
0

SBCL是 Common Lisp 的一个实现,可以做到这一点。(另请参阅这个简短的 SBCL 教程)。如果您有兴趣探索其他可以保存和恢复系统状态的动态语言(包括延续、打开文件描述符或其他),请查看Squeak

于 2010-12-01T09:35:08.903 回答