Affiliation:
1. LRI: Université Paris Sud, Orsay, France
Abstract
Finger Trees (Hinze & Paterson, 2006) are a general purpose persistent data structure with good performance. Their genericity permits developing a wealth of structures like ordered sequences or interval trees on top of a single implementation. However, the type systems used by current functional languages do not guarantee the coherent parameterization and specialization of Finger Trees, let alone the correctness of their implementation. We present a certified implementation of Finger Trees solving these problems using the Program extension of Coq. We not only implement the structure but also prove its invariants along the way, which permit building certified structures on top of Finger Trees in an elegant way.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Reasonable Agda is correct Haskell: writing verified Haskell using agda2hs;Proceedings of the 15th ACM SIGPLAN International Haskell Symposium;2022-09-06
2. Specification and verification of a transient stack;Proceedings of the 11th ACM SIGPLAN International Conference on Certified Programs and Proofs;2022-01-11
3. Verified Textbook Algorithms;Automated Technology for Verification and Analysis;2020
4. Computer science as a school subject;Proceedings of the 18th ACM SIGPLAN international conference on Functional programming;2013-09-25
5. xmonad in Coq
(experience report);ACM SIGPLAN Notices;2013-01-17