MiniLitelog: Easy Breezy SQLite Datalog
Summary
MiniLitelog presents a lightweight approach to encoding datalog inside SQLite, leveraging SQLite bindings across languages to build a practical, embeddable datalog layer. The post walks through transforming datalog into SQL (SQLog), methods for linearizing patterns, recordifying rows, and naive SQL translations, plus Python and seminaive strategies using rowid timestamps. It positions SQL engines as a viable backend for datalog with considerations for correctness, performance, and embedding simplicity.