---
# System prepended metadata

title: Salsa 3.0 overall plan
tags: [Salsa-3.0]

---

# Salsa 3.0 overall plan

* Working towards an 1.0alpha1 release
    * The too
* Big projects we are using to drive progress:
    * Red-knot
    * Rust-analyzer

* [x] Hassle-free interface
* [x] Hashtable-free tracked functions
* [x] Lightweight tracked structs
* [ ] [Documentation for current setup](/qIldIolWRai-3jW4qpSKCQ)
* [ ] [Ez Parallel execution](https://hackmd.io/3e8Ga0IXReagctNTh5YrlQ) -- David Barsky
    * Ruff works around the lack of parallelism through cloning: https://github.com/astral-sh/ruff/blob/ca0ae0a484906dd29a55a97572df527667330507/crates/red_knot_workspace/src/workspace.rs#L194-L222
    * basically ready to merge. David ported tests, but Miri is unhappy. Should we just treat them as warnings?
* [x] [Garbage collection for interned values](/6eLd7LkaTve8qe67OCRngg) -- has mentioned instructions, needs owner
* [x] [Coarse-grained dependencies](/nN3mnSGMTxCpACsFoYaH0g)
* [ ] [Remove the global hashtable for tracked fns with >1 argument](/dng82SoVRMyxVjV6ggSbCA)
* [x] [Port rust-analyzer to salsa 3.0](/3Mpv0fa7Rm6cn9-EH5ejkw): not a salsa task, but requires entries above it
    * 01/06/2025 meeting notes between David and Niko: https://hackmd.io/A_-2uaXOSTuiYIUs6bbpXA
    * rust-analyzer runs on new Salsa! David's been using it. Concerns are that memory is too high. Working on fixing it.
* [x] [Fixed-point solving](/i-ojba74T42tp2PPtYYYWA)
* [ ] Speculative execution
* [ ] New trait solver integration
* [x] [WASM compatibility and/or async](/Q_xaVCxrSYitgnmc7K5DXg)
    * Immediate resolution: don't use `Result`, but evaluate async/await in ~3 months.
    * Or maybe we don't need this because of cycle resolution.
* [ ] [Persistent caching/deserialization/serialization](/pFbiXVsuTTK4pakI___MTA)
* [ ] [Addressing papercuts](/0ACFWKwzSw6R3m6GwFV0BQ)

## Adjacent documents

* Salsa patterns
    * Dada using new Salsa:  https://github.com/nikomatsakis/dada/tree/checked-dada
    * Salsa Patterns and FAQs: https://hackmd.io/7f8isuLzQ7CA1GiPqNDYfA
* Salsa 1.0 versus 3.0: https://hackmd.io/z5M6WYHFQ6qKxYF8Wwjv_w
    * David is working on a `query_group` macro: https://salsa.zulipchat.com/#narrow/channel/333573-Contributing-to-Salsa/topic/OG.20Salsa-Esque.20Macro

## Per meeting notes

* [2025-11-12](/SGYCIVxxTzCnAuzhLmXuzg)
* [2025-10-29](/ylEU1MOpQsG6AEN-k_uJPA)
* [2025-09-17](/L5wDAaqySqacXH1_yzwzXw)
* [2025-07-23](/ke9uy2tRT-elYeNgFHy9MA)
* [2025-06-11](/lKgfKXUYTo-JDt4n0OeGEA)
* [2025-04-16](/JkHTycSrQ_eXyWiGkf0GAA)
* [2025-03-19](/w0UbKdbjQsq61KPhMrNVFw)
* [2025-03-05](/jT6icTgqSESzd8e9_yQkeg)
* [2025-02-19](https://hackmd.io/nNmrVvHfRYO_EpwmsQyYTQ)
* [2025-01-22](https://hackmd.io/rEk8dr95Q8C9eVz-uxlzMA?both)
* [Meeting 05-02-2025](/64RVOkIsTr6wLgUwwhl8XQ)

