pqwy/psq

Functional Priority Search Queues for OCaml

53

stars

27

commits

OCaml

primary language

Mar 30, 2024

updated

README

psq — Functional Priority Search Queues

%%VERSION%%

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.

psq is distributed under the ISC license.

Documentation

Documentation is generated by odoc. It can be browsed online.

Contributors

pqwy

27 commits

pqwy/psq

Functional Priority Search Queues for OCaml

53

stars

27

commits

OCaml

primary language

Mar 30, 2024

updated

README

psq — Functional Priority Search Queues

%%VERSION%%

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.

psq is distributed under the ISC license.

Documentation

Documentation is generated by odoc. It can be browsed online.

Contributors

pqwy

27 commits

Languages

OCaml

100.0%