package lru
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=6cbe23d27a7d5b244f869c0b88140d47f70f413a6462ef35c0009325d4b236fd
sha512=81144e258d6e488d4677ade91132401b6f8871c72aadf2f1c190c4dee918c71c5df10c4e690c5bf1ab0f364d87989d44aec3695310a3477f6473eb17c1261734
CHANGES.md.html
v0.3.1 2022-10-25
Ocaml 5.0 compatible. Thanks to @samoht for the report.
tweak ordering implementation in
F.of_list
v0.3.0 2019-04-09
Semantics cleanup.
Breaking:
find
drops?promote
and never changes the ordering.add
drops?trim
and never drops bindings.size
->weight
items
->size
unadd
->pop
F.S.fold
andF.S.iter
iterate in LRU order.F.M.fold
andF.M.iter
drop?dir
and always iterate in LRU order.
Other:
add
F.S.fold_k
andF.S.iter_k
To fix client code:
replace
find ~promote:false
withfind
;replace
find
andfind ~promote:true
withfind
andpromote
;replace
add ~trim:false
withadd
;replace
add
andadd ~trim:true
withadd
andtrim
;s/size/weight/g
,s/items/size/g
,s/unadd/pop/g
;audit uses of
fold
anditer
for order-sensitivity.
v0.2.0 2017-03-31
Breaking changes:
resize
no longer drops bindings if the new size pushes the queue over capacity.of_list
has simpler semantics; dropped thecap
parameter.
Other changes:
Replace
Lru.M.cache
with more generalLru.memo
.Queues with 0 initial capacity are legal.
Add
trim
to shrink a queue to its capacity, as queues are no longer guaranteed to have size smaller than capacity.find
gets thepromote
parameter, allowing queries that do not change the order.add
gets thetrim
parameter, allowing insertions that do not drop old entries.
v0.1.1 2016-11-28
Fix missing dep on
psq
in META.
v0.1.0 2016-11-22
First release.