Home
Name Modified Size InfoDownloads / 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.
Source: README, updated 2011-01-10