This is a talk I recently gave at the P99 conference: it’s a case study of the Rust semver linter cargo-semver-checks choosing to implement its lints as declarative queries via the Trustfall query engine.
In 15min, the talk walks through cargo-semver-checks’ use of Trustfall’s optimization APIs in applying optimizations like predicate pushdown, which sped up semver linting by over 2000x. It also discusses the challenges involved in designing the Trustfall APIs themselves: being able to support many kinds of optimizations, while simultaneously being relatively easy to use and avoiding causing breaking changes for Trustfall users as the query engine evolves.
This is a talk I recently gave at the P99 conference: it’s a case study of the Rust semver linter
cargo-semver-checks
choosing to implement its lints as declarative queries via the Trustfall query engine.In 15min, the talk walks through
cargo-semver-checks
’ use of Trustfall’s optimization APIs in applying optimizations like predicate pushdown, which sped up semver linting by over 2000x. It also discusses the challenges involved in designing the Trustfall APIs themselves: being able to support many kinds of optimizations, while simultaneously being relatively easy to use and avoiding causing breaking changes for Trustfall users as the query engine evolves.