Graph-Based Algorithms for Boolean Function Manipulation
IEEE Transactions on Computers
Views: a way for pattern matching to cohabit with data abstraction
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A Computing Procedure for Quantification Theory
Journal of the ACM (JACM)
A machine program for theorem-proving
Communications of the ACM
On programming of arithmetic operations
Communications of the ACM
Anatomy of LISP
Lightweight integration of the Ergo theorem prover inside a proof assistant
Proceedings of the second workshop on Automated formal methods
Practical pluggable types for java
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Compiling pattern matching to good decision trees
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Experience report: OCaml for an industrial-strength static analysis framework
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated Software Engineering
Improving Coq propositional reasoning using a lazy CNF conversion scheme
FroCoS'09 Proceedings of the 7th international conference on Frontiers of combining systems
Building and using pluggable type-checkers
Proceedings of the 33rd International Conference on Software Engineering
Cycle elimination for invocation graph-based context-sensitive pointer analysis
Information and Software Technology
First-order interactive programming
PADL'10 Proceedings of the 12th international conference on Practical Aspects of Declarative Languages
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Implementing hash-consed structures in coq
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Hi-index | 0.00 |
Hash-consing is a technique to share values that are structurally equal. Beyond the obvious advantage of saving memory blocks, hash-consing may also be used to speed up fundamental operations and data structures by several orders of magnitude when sharing is maximal. This paper introduces an \ocaml\ hash-consing library that encapsulates hash-consed terms in an abstract datatype, thus safely ensuring maximal sharing. This library is also parameterized by an equality that allows the user to identify terms according to an arbitrary equivalence relation.