package psq

  1. Overview
  2. Docs

Description

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.

Published: 21 Nov 2016

README

psq — Functional Priority Search Queues

v0.1.0

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

Interface, online.

Dependencies (4)

  1. topkg build
  2. ocamlbuild build
  3. ocamlfind build
  4. ocaml >= "4.02.0"

Dev Dependencies (1)

  1. alcotest with-test

Used by (7)

  1. dream < "1.0.0~alpha3"
  2. dream-httpaf
  3. h2
  4. ke >= "0.5"
  5. lru < "0.3.0"
  6. ocluster < "0.2"
  7. piaf

Conflicts

None