package ktdeque

All checked builds fail
  1. Overview
  2. No Docs
Kaplan-Tarjan persistent real-time deque, with O(1) catenation

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ktdeque-0.2.0.tar.gz
sha256=e534f4d5b1254822ea3267d7a084f32b40faefae22231d8079d76e95726b96e9
sha512=8907034ac5ae54250ae36ac51617c700e5beef0daf0afb68964e57a2b3e18e72b9d90f69867b979820e0f304e8241d2bc82f064612250008cd15de30dddcf4a6

Description

A purely-functional, persistent double-ended queue with worst-case O(1) push, pop, inject and eject, plus worst-case O(1) catenation. The implementation is extracted from a Rocq (Coq 9.1) formalization whose keystone theorems are closed with zero admits: totality, sequence preservation, the regularity invariant, and a constant per-operation cost bound, for both the section-4 deque (deque_wc_o1_) and the section-6 catenable deque (cat_keystone_ + cat_wc_o1). The package exposes an idiomatic interface -- open Ktdeque and use the Deque module (push/inject/pop/eject) or Cadeque (the same, plus concat) -- over the extracted code (the raw extraction is available as the internal sub-library ktdeque.extracted). On the benchmark suite the extracted artifact is faster than Viennot et al.'s hand-written OCaml cadeque on every workload at n=1M.

Tags

data-structures deque persistent rocq kaplan-tarjan

Added to opam-repository:

Dependencies (2)

  1. dune >= "3.22"
  2. ocaml >= "4.14"

Dev Dependencies (3)

  1. odoc with-doc
  2. qcheck-core with-test
  3. qcheck with-test

Optional Dependencies

None

Used by

None

Conflicts

None

Build status

Results of building ktdeque with each compiler on check.ci.ocaml.org, run of against opam-repository 8a77e58. All results for this package.

Each result links to its build log. To keep crawlers from overloading the site, build logs require a GitHub sign-in (see ocurrent/opam-health-check). On your first log, GitHub asks you to “Authorize opam-health-check”, the OCurrent app that runs these checks; it sees only your public profile, not your repositories. The sign-in lasts 30 days.

Version OCaml 4.11 OCaml 4.14 OCaml 5.2 OCaml 5.4 OCaml 5.5
0.2.0 (this version) n/a bad bad bad bad
  • good Package successfully built
  • partial One of the dependencies failed to build
  • bad Package failed to build
  • n/a Package is not available in this environment
  • internal Internal failure