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.
- 21 Nov 2016