%%VERSION%%
psq provides a functional priority search queue for OCaml. This structure
behaves both as a finite map, containing bindings k -> p
, and a priority queue
over p
. It provides efficient access along more than one axis: to any binding
by k
, and to the binding(s) with the least p
.
Typical applications are searches, schedulers and caches. If you ever scratched your head because that A* didn't look quite right, a PSQ is what you needed.
The implementation is backed by priority search pennants.
psq is distributed under the ISC license.
Documentation is generated by odoc
. It can be browsed online.