3 releases

0.0.6-dev Aug 29, 2024
0.0.5-dev Aug 15, 2024
0.0.4-dev Aug 8, 2024
0.0.3-dev Aug 7, 2024
0.0.1-dev Aug 7, 2024

#1142 in Algorithms

25 downloads per month

LGPL-2.1

48KB
826 lines

Kermit   Build Status dependency status Latest Version

Kermit is a library containing data structures, iterators and algorithms related to relational algebra, primarily for the purpose of research and benchmarking. It is currently in early stages of development and as such all builds and releases should be considered unstable.

It is being written primarily to provide a platform for my Masters thesis. The scope of which (preliminarily) encompassing benchmarking the Leapfrog Triejoin algorithm over a variety of data structures. I intend to design Kermit in an easily-extensible way, allowing for the possibility of benchmarking other algorithms and datastructures in the future.

Rust was chosen as the project language for two main reasons:

  1. The Knowledge-Based Systems group at TU Dresden, the place I'm currently attending a research exchange, is developing a new Rust-based rule engine Nemo, which I'm hoping the knowledge and implementions developed during this Masters will prove useful for. I strongly recommend checking Nemo out. Not only is it a very promising project, it is one of most beautiful, pedantically managed repositories I've come across.
  2. I wanted an excuse to write Rust with actual purpose.

My objective is to write entirely safe, stable, and hopefully idiomatic Rust the whole way through. I am very interested in how much one can maintain readibility (and sanity) while striving to achieve this.

Contributing

Thanks for taking an interest! Perhaps after I've finished my thesis.

License

This repository is licensed under LGPL-2.1.

Dependencies

~1.2–1.6MB
~20K SLoC