Transistor, a bitemporal database client

How we developed a Rust Client for a bitemporal database based on Clojure that uses datalog as its query language.
We had to support EDN format and Crux Datalog.

Abstract

How we developed a Rust Client for a bitemporal database based on Clojure that uses datalog as its query language.
We had to support EDN format and Crux Datalog.
# Intro
We were in a tale of upgrading our Clojure/Datomic systems to Rust/Datomic. For that we knew that we had to support [EDN format](https://github.com/edn-format/edn), which was not supported by serde, or any other community library, and a way to communicate with Datomic, the most used temporal database for Clojure. We solved the EDN problem for communicating with Clojure temporal databases, but due to lack of Datomic resources and private license we shifted our attention to another promising temporal database, Crux. For Crux we had to design a library that was understandable for rustaceans, easy to use and with great error handling.
## Lessons to be taught
We learned a lot in the process of developing two libraries, like parsing and emiting strings, macro_rules, (de)serializing rust types into EDN, a way to translate datalog into a Rust type system, library design, documentation, clear examples.

Video

RustLab is a conference made by Develer.
Develer is a company based in Campi Bisenzio, near Florence. Our motto is : "Technology to give life to your products". We produce hardware and software to create exceptional products and to improve industrial processes and people's well being.
In Develer we have passion for the new technologies and we offer our clients effective solutions that are also efficient, simple and safe for the end users. We also believe in a friendly and welcoming environment where anybody can give their contribution. This passion and this vision are what we've been driven to organize our conference "made by developers for developers".

Subscribe to our newsletter

We hate spam just as much as you do, which is why we promise to only send you relevant communications. We respect your privacy and will never share your information with third parties.
©2024 RustLab | The international conference on Rust in Florence-Design & devCantiere Creativo-Made withDatoCMS