The various modules in this library contain a few new types and operations which are compatible with the collection types specified in the Dylan Reference Manual , but which are not part of that specification.
It is to be expected that more collection types will appear in time, and they will likely be added to this library. This may also result in reorganizations which could force incompatible changes to the existing modules. We hope to minimize such imcompatibilities and, when forced to them, will include sufficient information to facilitate conversion of existing code.
Collection-extensions exports these modules:
self-organizing-list
Provides "self-organizing lists". These explicit key
collections provide roughly the semantics of hash
tables, but use a probabilistic implementation which
provides O(n) worst case performance but can provide
very fast constant time access in the best case.
subseq
Provides "subsequences", which represent an aliased
reference to some part of an existing sequence. These are
analogous to slices (in Ada or Perl) or displaced arrays
(in Common Lisp). Subsequences are themselves subclasses
of <sequence>
, and can
therefore be passed any
<collection>
or
<sequence>
operation.
vector-search
Provides a small assortment of specialized operations for
searching and modifying
<vector>
s. These operations are
analogous to existing collection operations but provide
keywords and efficiency improvements which are meaningful
only within the more limited domain.
The Collections-Extensions Library also has some additional modules added by the GwydionDylan Maintainers. These modules are:
heap
was supposed to implement a
priority queue, but because of conflicts with
<deque>
methods,
heap
is currently empty.
sequence-diff
implements the Unix diff
utility algorithm
Sequence-Utilities
provides useful
methods on collections, written by Matthias Hölzl.