跳轉到內容

Common Lisp/外部庫/Funds

來自華夏公益教科書,開放的書籍,開放的世界

Funds 為 Common Lisp 定義了幾個“函式式”資料結構。函式式資料結構,有時也稱為持久資料結構,是不可變的,或不修改其內容的資料結構。它們不是修改,而是建立一個新的物件,該物件在其中有一些更改,但在其他方面與舊物件相同。這可能看起來效率低下,但新物件是以這樣一種方式建立的,它與舊物件共享大部分內容,這使得它成為一個廉價的操作。透過使用這些技術,函式式資料結構可以接近提供與可變資料結構相同的效能,但沒有可變狀態的額外複雜性。

每個 Lisp 程式設計師都熟悉的函式式資料結構之一是列表。雖然列表可以被破壞性地修改,但在標準用法中它並不存在,並且對列表的操作會生成與原始列表共享結構的新列表。例如,您可以將一個元素 CONS 到列表的頭部,並且返回的列表將共享整個舊列表,但前面有一個新的頭部。

函式式資料結構對於多處理應用程式特別有用,因為它們可以消除一個程序以使另一個程序無效的方式更改共享資料結構的危險。

進一步閱讀

[編輯 | 編輯原始碼]

http://common-lisp.net/project/funds/ 主頁

華夏公益教科書