{{pkg.description}}
- ES6 iterator support
- Stack & queue API (front and/or back)
- Random node access (read / write, O(n/2))
- Node insertion (also w/ custom comparator)
- Node finding (O(n))
- Node swaps (O(1))
- Reversing (O(n/2))
- Rotation (left / right) (O(1))
- Shuffling (configurable, support custom PRNG)
- Sorting (Merge sort, w/ custom comparator)
- Slicing (sublist copies)
- Splicing (delete and/or insert)
release()
(emptying, GC friendly)concat()
/into()
map()
/filter()
/reduce()
compare()
/equiv()
toJSON()
transform (-> array)
v2.3.0 adds the self-organizing
list type SOL
(an
extension of DCons
), which dynamically re-orders items based on certain
accesses and offers these two built-in strategies:
defMTF()
- moves currently accessed element to front of listdefTranspose()
- swaps currently accessed element with its predecessor
Only the following operations will trigger the self-organizing behavior:
nth()
setNth()
setTail()
find()
findWith()
Btw. Also see
@thi.ng/cache
for more LRU, MRU implementations based on managed DCons
impls...
{{meta.status}}
{{repo.supportPackages}}
{{repo.relatedPackages}}
{{meta.blogPosts}}
{{pkg.install}}
{{pkg.size}}
{{pkg.deps}}
{{repo.examples}}
{{pkg.docs}}
cons()
first()
drop()
setHead()
into()
push()
peek()
pop()
setTail()
.length
nth()
nthCell()
setNth()
insertBefore()
insertAfter()
insertBeforeNth()
insertAfterNth()
insertSorted()
find()
findWith()
copy()
concat()
slice()
splice()
swap()
shuffle()
sort()
reverse()
rotateLeft()
rotateRight()
release()
TODO