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