This commit is contained in:
swrup 2025-11-11 02:07:51 +01:00
parent aa2ff7b2f0
commit 2f3113f55d
11742 changed files with 1223940 additions and 0 deletions

View file

@ -0,0 +1,23 @@
## 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/