2010-09-16 26 views
22

Newbie Common Lisp問題在這裏。Common Lisp中的重置狀態

有沒有一種方法來重置環境狀況?我的意思是,是否有一些命令將REPL恢復到它啓動後的相同狀態,即,不對所有變量,函數等進行不中斷操作。或者,如果它不在Common Lisp標準中,是否有一些擴展在SBCL(我使用的實現)中做到這一點?

編輯:我知道,在煤泥,M-X煤泥重啓劣,口齒不清確實如此,但我不知道是否有一種方法無需重新啓動的過程)不是一般的

+0

不是一個答案給出,所以我把它在一個評論:我不知道爲什麼你問這個問題,但你可能會有興趣在一個「乾淨」的狀態下做一個Lisp鏡像的核心轉儲(我本人至少會首先加載Quicklisp,但這取決於你),然後加載它;你可以做到這一點在SBCL ['SB-EXT:保存-LISP-和die'(http://www.sbcl.org/manual/#Function-sb_002dext_003asave_002dlisp_002dand_002ddie) – fouric 2018-02-24 23:21:20

回答

22

,沒有。我偶爾想要做這樣的事情,所以我的工作流程通常是創建一個新的包來保存我開始的任何項目,然後當我想重置事物時使用DELETE-PACKAGE。我從來沒有在CL-USER包中做過任何工作,因爲不同的實現有不同的東西塞進它。

-1

使用抄送莫,如REPL菜單中的清除緩衝區

+3

這只是刪除輸出,而OP要求一種重置狀態的方式,如不重要的符號等。 – danlei 2012-08-04 05:57:34