我听说大多数lisps支持将运行程序的图像保存到文件中。 guile支持这个吗?
答案 0 :(得分:2)
我认为与其他语言的互操作对于Guile来说是非常不可或缺的,因此在解释器图像中有很多状态对Guile本身是不透明的。我知道Guile最好使用它作为gEDA内置的方案解释器,所以你能想象不仅要保存所有的CONSes,还要保存gschem可能打开的所有X窗口吗?从Guile内部可靠地做是不可行的。 (而且我不确定即使在“有限”的情况下实现save-image-to-file也是一个好主意。)
也就是说,最终你可以保存程序状态,但由于程序边界是如此多孔,文件描述符和内存映射从每个孔中漏出,你很快意识到你必须保存整个计算机的状态。这是以“休眠”省电模式的形式完成的!我也意识到,这不是你想要的。
答案 1 :(得分:0)
SBCL,Common Lisp的实现,可以做到这一点。 (另见short SBCL tutorial)。如果您有兴趣探索可以保存和恢复系统状态的其他动态语言(包括延续,打开文件描述符或其他),请查看Squeak。