A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system.
2,955
stars
2,326
commits
Rust
primary language
Sep 6, 2026
updated
A generic framework for on-demand, incrementalized computation.
This system is heavily inspired by adapton, glimmer, and rustc's query system. So credit goes to Eduard-Mihai Burtescu, Matthew Hammer, Yehuda Katz, and Michael Woerister.
The key idea of salsa is that you define your program as a set of
queries. Every query is used like function K -> V that maps from
some key of type K to a value of type V. Queries come in two basic
varieties:
To learn more about Salsa, try one of the following:
The bulk of the discussion happens in the issues and pull requests, but we have a zulip chat as well.
To create a release and publish to crates.io, update the version field in Cargo.toml.
After pushed, GitHub Actions will publish the crates to crates.io automatically.
(top 30 of 92)
Rust
99.5%
A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system.
2,955
stars
2,326
commits
Rust
primary language
Sep 6, 2026
updated
A generic framework for on-demand, incrementalized computation.
This system is heavily inspired by adapton, glimmer, and rustc's query system. So credit goes to Eduard-Mihai Burtescu, Matthew Hammer, Yehuda Katz, and Michael Woerister.
The key idea of salsa is that you define your program as a set of
queries. Every query is used like function K -> V that maps from
some key of type K to a value of type V. Queries come in two basic
varieties:
To learn more about Salsa, try one of the following:
The bulk of the discussion happens in the issues and pull requests, but we have a zulip chat as well.
To create a release and publish to crates.io, update the version field in Cargo.toml.
After pushed, GitHub Actions will publish the crates to crates.io automatically.
(top 30 of 92)
Rust
99.5%