Skip to Main content Skip to Navigation
Preprints, Working Papers, ...

Efficient Extensional Binary Tries

Abstract : Lookup tables (finite maps) are a ubiquitous data structure. In pure functional languages they are best represented using trees instead of hash tables. In pure functional languages within constructive logic, without a primitive integer type, they are well represented using binary tries instead of search trees. In this work, we introduce canonical binary tries, an improved binary-trie data structure that enjoys a natural extensionality property, quite useful in proofs, and supports sparseness more efficiently. We provide full proofs of correctness in Coq. We provide microbenchmark measurements of canonical binary tries versus several other data structures for finite maps, in a variety of application contexts; as well as measurement of canonical versus original tries in a big, real system. The application context of data structures contained in theorem statements imposes unusual requirements for which canonical tries are particularly well suited.
Complete list of metadata

https://hal.inria.fr/hal-03372247
Contributor : Xavier Leroy Connect in order to contact the contributor
Submitted on : Sunday, October 10, 2021 - 9:55:06 AM
Last modification on : Tuesday, October 12, 2021 - 3:45:36 AM

Files

extensional.pdf
Files produced by the author(s)

Identifiers

  • HAL Id : hal-03372247, version 1
  • ARXIV : 2110.05063

Collections

CDF | PSL | INRIA

Citation

Andrew Appel, Xavier Leroy. Efficient Extensional Binary Tries. 2021. ⟨hal-03372247⟩

Share

Metrics

Record views

37

Files downloads

27