2010-11-30 22 views
5

我聽說大多數lisp支持將正在運行的程序映像保存到文件中。 Guile支持這個嗎?保存guile中的程序圖像

+2

你的意思是,保存一個文件的延續?我認爲這將爲人們閱讀這個問題闡明一個問題。 – erjiang 2010-11-30 23:26:04

回答

2

我認爲與其他語言的交互操作對於Guile來說是非常不可或缺的一部分,因此在解釋器圖像中有很多狀態對Guile本身是不透明的。我知道Guile最好的方式就是將它作爲gEDA中的方案解釋器,所以您可以想象不僅需要保存所有的CONSes,還要保存gschem可能已打開的所有X窗口?從Guile內部可靠地做到這一點是不可行的。 (並且我不確定在「有限」情況下實現保存圖像到文件是個好主意。)

這就是說,最終可以保存程序狀態,但由於程序邊界如此多孔,文件描述符和內存映射從每個毛孔泄漏出來後,您很快就會意識到必須保存整個計算機的狀態。這是通過「休眠」省電模式完成的!我也意識到,這不是你想要的。

0

SBCL,Common Lisp的實現可以做到這一點。 (另請參閱此short SBCL tutorial)。如果您有興趣探索其他可以保存和恢復系統狀態的動態語言(包括延續,打開文件描述符或其他),請查看Squeak