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
p. It provides efficient access along more than one axis: to any binding
k, and to the binding(s) with the least
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.