Crate im_lists[][src]

Expand description

im-lists

Actions Status Coverage Status

An implementation of a persistent unrolled linked list. This linked list is implemented with a backing of either Arc or Rc, for single or multi-threaded environments. The single threaded list can be found as a List, and the thread-safe implementation can be found as a SharedList.

An unrolled linked list is a linked list where each node contains a vector of elements. While the algorithmic complexity is the same as a normal naive linked list, storing elements in vectors improves cache locality and also gives practical speed ups on common operations.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

See CONTRIBUTING.md.

Modules

A persistent list.

A persistent, thread safe, list.

Macros

Construct a List from a sequence of elements

Construct a SharedList from a sequence of elements