|
1 | 1 | # An Overview of Chalk
|
2 | 2 |
|
3 | 3 | > Chalk is under heavy development, so if any of these links are broken or if
|
4 |
| -> any of the information is inconsistent with the code or outdated, please open |
5 |
| -> an issue so we can fix it. If you are able to fix the issue yourself, we would |
| 4 | +> any of the information is inconsistent with the code or outdated, please |
| 5 | +> [open an issue][rustc-issues] so we can fix it. If you are able to fix the issue yourself, we would |
6 | 6 | > love your contribution!
|
7 | 7 |
|
8 | 8 | [Chalk][chalk] recasts Rust's trait system explicitly in terms of logic
|
9 | 9 | programming by "lowering" Rust code into a kind of logic program we can then
|
10 |
| -execute queries against. Its goal is to be an executable, highly readable |
11 |
| -specification of the Rust trait system.[^negativechalk] |
| 10 | +execute queries against. (See [*Lowering to Logic*][lowering-to-logic] and |
| 11 | +[*Lowering Rules*][lowering-rules]) Its goal is to be an executable, highly |
| 12 | +readable specification of the Rust trait system. |
12 | 13 |
|
13 | 14 | There are many expected benefits from this work. It will consolidate our
|
14 | 15 | existing, somewhat ad-hoc implementation into something far more principled and
|
15 | 16 | expressive, which should behave better in corner cases, and be much easier to
|
16 |
| -extend.[^negativechalk] |
| 17 | +extend. |
17 | 18 |
|
18 | 19 | ## Resources
|
19 | 20 |
|
@@ -124,9 +125,10 @@ is the function that is ultimately called.
|
124 | 125 |
|
125 | 126 | See [The SLG Solver][slg].
|
126 | 127 |
|
127 |
| -[^negativechalk]: [*Negative reasoning in Chalk* by Aaron Turon](http://aturon.github.io/blog/2017/04/24/negative-chalk/) |
128 |
| - |
| 128 | +[rustc-issues]: https://github.com/rust-lang-nursery/rustc-guide/issues |
129 | 129 | [chalk]: https://github.com/rust-lang-nursery/chalk
|
| 130 | +[lowering-to-logic]: traits-lowering-to-logic.html |
| 131 | +[lowering-rules]: traits-lowering-rules.html |
130 | 132 | [ast]: https://en.wikipedia.org/wiki/Abstract_syntax_tree
|
131 | 133 | [chalk-ast]: https://github.com/rust-lang-nursery/chalk/blob/master/chalk-parse/src/ast.rs
|
132 | 134 | [universal quantification]: https://en.wikipedia.org/wiki/Universal_quantification
|
|
0 commit comments