1.
About salsa
How to use Salsa
2.
Overview
3.
Tutorial: calc language
3.1.
Basic structure
3.2.
Jars and databases
3.3.
Defining the database struct
3.4.
Defining the IR: the various "salsa structs"
3.5.
Defining the parser: memoized functions and inputs
3.6.
Defining the parser: reporting errors
3.7.
Defining the parser: debug impls and testing
3.8.
Defining the checker
3.9.
Defining the interpreter
4.
Reference
4.1.
Durability
4.2.
Algorithm
5.
Common patterns
5.1.
On-demand (Lazy) inputs
6.
Tuning
7.
Cycle handling
7.1.
Recovering via fallback
How Salsa works internally
8.
How Salsa works
9.
Videos
10.
Plumbing
10.1.
Jars and ingredients
10.2.
Databases and runtime
10.3.
The db lifetime on tracked/interned structs
10.4.
Tracked structures
10.5.
Query operations
10.5.1.
maybe changed after
10.5.2.
Fetch
10.5.3.
Derived queries flowchart
10.5.4.
Cycle handling
10.6.
Terminology
10.6.1.
Backdate
10.6.2.
Changed at
10.6.3.
Dependency
10.6.4.
Derived query
10.6.5.
Durability
10.6.6.
Input query
10.6.7.
Ingredient
10.6.8.
LRU
10.6.9.
Memo
10.6.10.
Query
10.6.11.
Query function
10.6.12.
Revision
10.6.13.
Salsa item
10.6.14.
Salsa struct
10.6.15.
Untracked dependency
10.6.16.
Verified
Appendices
11.
Meta: about the book itself
Light (default)
Rust
Coal
Navy
Ayu
Salsa
Common patterns
This section documents patterns for using Salsa.