Lukas Wirth
e1a44b5d1d
Add missing db param in book example
2022-08-18 13:00:43 +02:00
Niko Matsakis
b6aec13b20
explain databases, runtimes, etc
2022-08-18 05:37:22 -04:00
Niko Matsakis
a1a8533cef
define how routes are created
2022-08-18 05:15:12 -04:00
Niko Matsakis
5b7dff908d
create chapters
2022-08-18 05:02:07 -04:00
Niko Matsakis
5b9da4a9c0
start documenting plumbing
2022-08-17 21:43:06 -04:00
Niko Matsakis
85ea35932c
update reference chapter
...
I'm mostly adding this commit to see if I can trick
git into behaving better.
2022-08-13 01:21:45 -04:00
Mihail Mihov
5d1ff35f6d
Merge branch 'salsa-rs:master' into master
2022-08-06 21:52:26 +03:00
Mihail Mihov
f1e6e54b57
Fix typos
2022-08-06 21:26:09 +03:00
Brian Anderson
7e72c0c3df
Fix storage examples
2022-08-05 12:17:22 -06:00
Niko Matsakis
66f1f1c50c
rename salsa-entity to salsa-2022
2022-08-05 13:20:14 -04:00
Niko Matsakis
39c26b5ea6
update documentation to use new name, specify
...
override is a keyword, turns out
2022-08-05 02:53:40 -04:00
Niko Matsakis
b4053ad76b
rename references to memoized to tracked
2022-08-04 01:42:42 -04:00
Niko Matsakis
e222cce854
rework the tutorial with the new paradigm
2022-08-04 01:31:13 -04:00
Niko Matsakis
a96cb03a05
remove #[salsa::entity]
, and #[salsa::tracked]
2022-08-03 09:09:22 -04:00
Niko Matsakis
41f9ca6462
update tutorial with newer input structs in mind
2022-08-03 03:50:57 -04:00
Niko Matsakis
0880be0b79
remove support for interned enums
...
It's nicer to just define a struct with a data field.
2022-08-03 03:43:39 -04:00
Niko Matsakis
db75a1a510
write up a new API proposal, tracked
2022-08-02 10:24:38 +03:00
Niko Matsakis
8e348f0bc8
clarify jars a bit, hopefully
...
Some folks were thinking that Jars were something
more complex than they are.
2022-08-02 07:57:23 +03:00
Niko Matsakis
5aabd4014d
add a caveat to avoid confusion
2022-08-02 06:37:12 +03:00
Niko Matsakis
985650523e
entity-based salsa preview
2022-08-01 09:24:49 +03:00
Niko Matsakis
f91923c189
switch to Option<StampedValue>
for efficiency
2022-06-03 06:44:16 -04:00
Niko Matsakis
b7ac12758b
update RFC
2022-06-03 06:28:23 -04:00
Niko Matsakis
1f561023cd
draft RFC
2022-06-03 06:08:52 -04:00
Yifei
9abfe4f9de
fix misleading type
2022-05-31 09:14:32 +00:00
Maxwell Elliot Heiber
7fba34afd9
Document how to tune Salsa
2022-02-12 10:34:11 +00:00
Niko Matsakis
796ca0fd27
move to book directory
2022-02-07 15:44:29 -05:00
bors[bot]
0f9971ad94
Merge #296
...
296: Slot no more: overhauled internal algorithm r=nikomatsakis a=nikomatsakis
This is the overhauled implementation that avoids slots, is more parallel friendly, and paves the way to fixed point and more expressive cycle handling.
We just spent 90 minutes going over it. [Some rough notes are available here,](https://hackmd.io/6x9f6mavTRS2imfG96tP5A ) and a video will be posted soon.
You may find the [flowgraph useful](https://raw.githubusercontent.com/nikomatsakis/salsa/slot-no-more/book/src/derived-query-read.drawio.svg ).
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2022-02-07 20:30:07 +00:00
Maxwell Elliot Heiber
d80d10d0c4
Fix mdbook warning re "Potential incomplete link"
...
In cycle.md, change `[salsa::Cycle]`
to `salsa::Cycle` so mdbook doesn't get confused
and think there is a broken Markdown link.
The warning was as follows:
```
warning: Potential incomplete link
┌─ cycles.md:3:131
│
3 │ By default, when Salsa detects a cycle in the computation graph, Salsa will panic with a [`salsa::Cycle`] as the panic value. The [`salsa::Cycle`] structure that describes the cycle, which can be useful for diagnosing what went wrong.
│ ^^^^^^^^^^^^^^^^ Did you forget to define a URL for ``salsa::Cycle``?
│
= hint: declare the link's URL. For example: `[`salsa::Cycle`]: http://example.com/ `
```
After fixing this problem, there are no more mdbook warnings.
2022-01-23 19:55:02 +00:00
Niko Matsakis
d4a6b24358
Update derived-query-maybe-changed-after.drawio.svg
2022-01-21 15:14:10 -05:00
Niko Matsakis
416884bdfa
Update derived-query-maybe-changed-after.drawio.svg
2022-01-21 15:14:04 -05:00
Niko Matsakis
ff5c6137ac
Update derived-query-maybe-changed-after.drawio.svg
2022-01-21 15:12:01 -05:00
Niko Matsakis
d69bddea9e
Update derived-query-maybe-changed-after.drawio.svg
2022-01-21 15:06:47 -05:00
Niko Matsakis
be7a6ed06c
Added derived-query-maybe-changed-after.drawio.svg
2022-01-21 14:58:26 -05:00
Niko Matsakis
b3242064a2
Update derived-query-read.drawio.svg to indicate fn boundaries
2022-01-21 14:55:46 -05:00
Niko Matsakis
2e0301f043
"maybe changed AFTER" in diagram
2022-01-21 13:58:15 -05:00
Niko Matsakis
1f5d701075
tweak SVG to rename "maybe changed after"
2022-01-21 13:58:15 -05:00
Niko Matsakis
e5f59cb7c9
add RFC that describes the new scheme
2022-01-21 13:58:15 -05:00
Niko Matsakis
08be38ae62
Update derived-query-read.drawio.svg
2022-01-21 13:58:15 -05:00
Niko Matsakis
fc020de9c4
s/maybe_changed_since/maybe_changed_after/
2021-11-13 16:39:41 -05:00
Niko Matsakis
ff71d77a24
avoid overloading the term "participant"
2021-11-13 11:58:18 -05:00
Niko Matsakis
7081fe428c
move the RFC contents to salsa book
2021-11-12 19:16:04 -05:00
Niko Matsakis
db2daf03e3
describe implementation in RFC
2021-11-12 09:02:40 -05:00
Niko Matsakis
b8f628d664
improve RFC guide description
2021-11-11 09:07:45 -05:00
Niko Matsakis
7c02d1910b
add cycle recovery
2021-11-06 07:59:20 -04:00
Niko Matsakis
b9d748a2ae
move content from rfc into book,d ocs
2021-11-06 05:29:31 -04:00
Niko Matsakis
cc2f8870c1
Cleanup edges, panics for diagram
2021-11-04 05:35:55 -04:00
Niko Matsakis
accde0ad70
doc "maybe changed since" and terminology
2021-11-04 05:29:43 -04:00
Niko Matsakis
7d66224319
start expanding the book (wip!)
2021-11-03 10:53:39 -04:00
Niko Matsakis
2f5e1d15d7
add diagram of derived query reads
...
Created in draw.io, should be editable from there.
2021-11-03 07:49:08 -04:00
Niko Matsakis
072184f486
FetchMaybeChanged.drawio
2021-11-03 04:23:37 -04:00
Niko Matsakis
33d47cc747
throw Cycle value directly
...
Do not wrap in Cancelled.
2021-11-02 12:45:42 -04:00
Niko Matsakis
ff7f5b60b0
first RFC draft
2021-11-02 07:07:22 -04:00
Niko Matsakis
f659e1d2dd
docs: improve diagram, split gen. code and runtime
2021-10-31 04:30:11 -04:00
Matthijs Brobbel
b94a5f166c
Update book workflow
2021-09-28 22:03:05 +02:00
armoha
ec7a3ae3c3
Add bilibili videos links into book
2021-09-10 05:39:10 +09:00
Niko Matsakis
11c55b804d
Update RFC0008-Remove-Garbage-Collection.md
2021-06-15 15:29:42 -04:00
Niko Matsakis
1bf5757255
link RFC to PR
2021-06-06 06:08:45 -04:00
Niko Matsakis
f7dd6b3219
remove tracing garbage collection support
...
It is not widely used and it makes it harder to evolve Salsa.
2021-06-06 06:06:03 -04:00
Niko Matsakis
67207d8d0d
update with links to implementation
2021-05-27 20:24:38 -04:00
Niko Matsakis
08cc09f7e3
nits, sp
2021-05-15 09:35:09 -04:00
Niko Matsakis
be39f5d870
Apply suggestions from code review
...
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
2021-05-15 09:26:28 -04:00
Niko Matsakis
54e092b984
fix title
2021-05-15 06:07:02 -04:00
Niko Matsakis
2b8ee2043d
add RFC: Opinionated cancelation
2021-05-15 05:46:34 -04:00
bors[bot]
9a17f01d1b
Merge #261
...
261: modify RFC template to use FAQ format r=nikomatsakis a=nikomatsakis
Co-authored-by: Niko Matsakis <niko@alum.mit.edu>
2021-05-15 09:28:54 +00:00
Niko Matsakis
ecf693e481
modify RFC template to use FAQ format
2021-05-15 05:28:02 -04:00
Christopher Biscardi
c17778e358
add links
2020-11-01 12:23:17 -08:00
Christopher Biscardi
5c1ebc22af
update on_demand_inputs invalidation
2020-09-13 00:17:39 -07:00
Markus Westerlind
ce6428fbbd
Lift the static restriction on the traits
2020-07-23 11:34:20 +02:00
Niko Matsakis
4974d649ec
mention the plumbing
2020-07-07 10:07:47 +00:00
Niko Matsakis
da7c8b30db
fix mdbook tests
2020-07-07 09:55:04 +00:00
Niko Matsakis
f7071dd137
RFC: remove RFC text about DependencySlot
...
It's simpler to just store a DatabaseKeyIndex. It may be somewhat
slower, we'll have to measure. But we can add back in this other
design later if we want.
2020-07-05 20:13:29 +00:00
Niko Matsakis
8ca3ab56b5
update the mdbook documentation, introducing a diagram
2020-07-05 16:45:07 +00:00
Niko Matsakis
0a8c2038b5
RFC: remove link, linkcheck doesn't like it
2020-07-05 10:52:49 +00:00
Niko Matsakis
b1e3003c1e
RFC: describe new bounds
2020-07-05 10:52:47 +00:00
Niko Matsakis
0b82d24514
RFC: describe 'static requirement
2020-07-05 10:52:43 +00:00
Niko Matsakis
b59dcc9145
RFC: describe in_db
functions
2020-07-05 10:34:15 +00:00
Niko Matsakis
fad97eeb6a
remove the DB
parameter
...
This had two unexpected consequences, one unfortunate, one "medium":
* All `salsa::Database` must be `'static`. This falls out from
`Q::DynDb` not having access to any lifetimes, but also the defaulting
rules for `dyn QueryGroup` that make it `dyn QueryGroup + 'static`. We
don't really support generic databases anyway yet so this isn't a big
deal, and we can add workarounds later (ideally via GATs).
* It is now statically impossible to invoke `snapshot` from a query,
and so we don't need to test that it panics. This is because the
signature of `snapshot` returns a `Snapshot<Self>` and that is not
accessible to a `dyn QueryGroup` type. Similarly, invoking
`Runtime::snapshot` directly is not possible becaues it is
crate-private. So I removed the test. This seems ok, but eventually I
would like to expose ways for queries to do parallel
execution (matklad and I had talked about a "speculation" primitive
for enabling that).
* This commit is 99% boilerplate I did with search-and-replace. I also
rolled in a few other changes I might have preferred to factor out,
most notably removing the `GetQueryTable` plumbing trait in favor of
free-methods, but it was awkward to factor them out and get all the
generics right (so much simpler in this version).
2020-07-04 14:17:11 +00:00
Niko Matsakis
4bf46f5f24
RFC: describe new approach to runtime
2020-07-04 14:16:50 +00:00
Niko Matsakis
6e813441cb
RFC: update to mention that salsa::requires is removed
2020-07-04 14:16:50 +00:00
Niko Matsakis
cc7bc54409
RFC: adjust because DatabaseKeyIndex are not part of public API
2020-07-04 14:16:50 +00:00
Niko Matsakis
0da53151c5
RFC: update to use index triples
2020-07-04 14:16:14 +00:00
Niko Matsakis
d1347d8854
RFC 6: Dynamic databases
...
Update book/src/rfcs/RFC0006-Dynamic-Databases.md
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Update book/src/rfcs/RFC0001-Query-Group-Traits.md
Co-authored-by: bjorn3 <bjorn3@users.noreply.github.com>
Update book/src/rfcs/RFC0006-Dynamic-Databases.md
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
fix lint warnings on RFC
2020-07-04 14:16:14 +00:00
Niko Matsakis
59ec6482e1
update the template and randomly adapt RFC0001 only
2020-07-04 14:16:14 +00:00
Niko Matsakis
b953732981
add RFC 4, 5
2020-06-27 10:25:20 +00:00
Niko Matsakis
baee86bc25
move the accepted RFCs to the book and describe a new process
2020-06-27 01:46:39 +00:00
Niko Matsakis
ebb3769ad2
document the database macro
2020-06-26 22:21:54 +00:00
Niko Matsakis
4b0c8a6368
move query groups to its own chapter
2020-06-26 22:21:53 +00:00
Matthijs Brobbel
a4d05c8c4b
Update plumbing.md
...
Fixed a small typo.
2020-06-26 16:40:32 +02:00
Niko Matsakis
1e33157648
fix mdbook tests
2020-06-24 15:12:02 +00:00
Niko Matsakis
6184b1df54
address matklad's points
2020-06-24 13:41:55 +00:00
Niko Matsakis
550c0c3db6
document the code we generate for a query group
2020-06-24 11:13:39 +00:00
Niko Matsakis
4643beee05
integrate mermaid support into the book
2020-06-24 09:53:33 +00:00
Geoff Shannon
294b12f719
Fix doc typos
2020-05-16 13:41:25 -07:00
Vlad-Shcherbina
fecec6bab2
Fix doc typo
2020-04-11 13:43:00 +02:00
Declan Kelly
564fa155d4
Correct mutability in on demand example, fix doc links
...
Fix query_mut documentation link
Fix more documentation links
More doc links
2019-10-05 18:30:42 -07:00
Niko Matsakis
25b54aa0b3
remove mention of the im
crate
2019-09-24 06:51:17 -04:00
Niko Matsakis
8b2219c1e1
fix weird sentence
2019-09-24 06:29:30 -04:00
Niko Matsakis
2e9b418bbb
rework book a little bit
...
- extend some of the empty sections, add a new common pattern
- also, show how to use anchors and include so we can test the sources
for common patterns
2019-09-24 06:13:51 -04:00
Aleksey Kladov
3616014391
Apply suggestions from code review
...
Co-Authored-By: Niko Matsakis <niko@alum.mit.edu>
2019-09-24 12:08:13 +03:00
Aleksey Kladov
a798f1d918
Update src/runtime.rs
...
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-09-22 18:31:38 +03:00