Name | Modified | Size | Downloads / Week |
---|---|---|---|
clbmdll-0.2.tgz | 2011-02-21 | 21.7 kB | |
clbmdll-0.2.tgz.asc | 2011-02-21 | 316 Bytes | |
README | 2011-01-10 | 1.2 kB | |
clbmdll-0.1.tgz | 2011-01-10 | 10.7 kB | |
clbmdll-0.1.tgz.asc | 2011-01-10 | 316 Bytes | |
Totals: 5 Items | 34.2 kB | 0 |
CLBMDLL Copyright (c) 2008 Sami Makinen clbmdll provides non-trivial backwards mappable double linked list for Common Lisp. The main goals for the project has been to make double linked list garbage collectable without explicit list destruction, possibility to use generalized variables, and to be efficient. The double linked list uses weak-pointers when referencing to previous item. In this way the list items can be garbage collected automatically when there is no longer reference to them. This simplifies usage to some extent but may cause also unexpected errors if the user is not aware of this feature. The double linked list implementation uses generalized variables which means if you have a position at double linked list, it is setf'able. Generalized variables makes following possible (dl-list-push v (dl-list-prev (dl-list-prev dll))). In Common Lisp context, list processing is expected to be efficient. This goal is probably worst achieved in double linked list implementation. The double linked list does not replace normal lists and should not be used unless double linking is desirable and the trivial implementation is not feasible.