mte/unikernel/duniverse/psq/README.md

24 lines
823 B
Markdown
Raw Normal View History

2025-11-11 02:07:51 +01:00
## 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/