23 lines
823 B
Markdown
23 lines
823 B
Markdown
## psq — Functional Priority Search Queues
|
|
|
|
v0.2.0-7-gb2eb861
|
|
|
|
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][hinze].
|
|
|
|
psq is distributed under the ISC license.
|
|
|
|
[hinze]: https://www.cs.ox.ac.uk/ralf.hinze/publications/ICFP01.pdf
|
|
|
|
## Documentation
|
|
|
|
Documentation is generated by `odoc`. It can be browsed [online][doc].
|
|
|
|
[doc]: https://pqwy.github.io/psq/doc/psq/
|