# Understanding Convergent Replicated Data Types
[](https://travis-ci.com/genos/cvrdt-exposition)
I wanted to understand CRDTs more, so I put together this Rust library for state-based CRDTs a.k.a. convergent replicated data types a.k.a. CvRDTs.
It aims to present an explicit (with strong types, etc.) and unified description of the CvRDTs presented in the _wonderful_ paper [A comprehensive study of Convergent and Commutative Replicated Data Types](https://hal.inria.fr/inria-00555588/).
## Do not use this!
This code is solely for my own edification and is _not_ meant for production use.
There are already much better options for usable CRDTs in Rust; see the [`rust-crdt`](https://github.com/rust-crdt/rust-crdt) project.
## References
- [A comprehensive study of Convergent and Commutative Replicated Data Types](https://hal.inria.fr/inria-00555588/)
- Wikipedia article on [Conflict-free replicated data type](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type)
- [`rust-crdt`](https://github.com/rust-crdt/rust-crdt)
- [`meangirls`](https://github.com/aphyr/meangirls)
- [The `proptest` book](https://altsysrq.github.io/proptest-book/intro.html); `cvrdt-exposition` uses `proptest` for testing that implementations fulfill required CvRDT properties.