salsa-rs/salsa
salsa-rs/salsa has 3,019 GitHub stars and 230 forks. GitHot measured +2 stars in 24 hours. Last checked 2026-11-07 18:58 UTC. Last push 2026-11-02.
A generic framework for on-demand, incrementalized computation. Inspired by adapton, glimmer, and rustc's query system.
Measured star growth
- in 24h
- +2
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalsalsa
A generic framework for on-demand, incrementalized computation.
Credits
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.
Key idea
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:
- Inputs: the base inputs to your system. You can change these whenever you like.
- Functions: pure functions (no side effects) that transform your inputs into other values. The results of queries are memoized to avoid recomputing them a lot. When you make changes to the inputs, we'll figure out (fairly intelligently) when we can re-use these memoized values and when we have to recompute them.
Want to learn more?
To learn more about Salsa, try one of the following:
- read the heavily commented examples;
- check out the Salsa book;
- watch one of our videos.
Getting in touch
The bulk of the discussion happens in the issues and pull requests, but we have a zulip chat as well.
Contributing
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.
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,973 starspublic-apis/public-apis
A collective list of free APIs
497,232 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
442,848 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,187 stars