Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/l-as/idris-rbtree
Type-safe verified Red-Black Trees in Idris 2
https://github.com/l-as/idris-rbtree
Last synced: about 5 hours ago
JSON representation
Type-safe verified Red-Black Trees in Idris 2
- Host: GitHub
- URL: https://github.com/l-as/idris-rbtree
- Owner: L-as
- License: mit
- Created: 2021-07-31T21:46:24.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-08-25T10:05:52.000Z (about 3 years ago)
- Last Synced: 2023-10-20T21:05:27.350Z (about 1 year ago)
- Language: Idris
- Homepage:
- Size: 85.9 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Type-safe verified red-black trees in Idris.
Check `TypedContainers/RBTree.idr` for the basic API.
Your key type needs to implement `LawfulOrd` (see `TypedContainers/LawfulOrd.idr`).NB: Space complexities and time complexities *should* be the same as standard Red-Black trees,
however, it has not been proven.Features:
- Value type can depend on keyThe algorithm is taken from *Purely functional data structures* by Chris Okasaki.
The proofs were mostly left as an exercise to the reader.
The only difference is that the root of the tree isn't always made red,
since this isn't always required.TODO:
- Benchmark