Skip to content

Commit dcc9ef3

Browse files
authored
Merge pull request #34 from nikomatsakis/polonius-wg-definition
add definition for polonius wg
2 parents 7dbd374 + 585cf57 commit dcc9ef3

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed

working-groups/polonius/FAQ.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Frequently Asked Questions (FAQ)
2+
3+
Looks like no questions have been asked yet! If you have a question,
4+
feel free to file an issue or ask in the working group's Zulip stream.

working-groups/polonius/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Polonius Working Group
2+
![working group status: active][status]
3+
4+
This working group aims to explore the integration of the so-called
5+
["Polonius analysis"][P] into rustc. Polonius is effectively an "NLL
6+
2.0"-like project, that aims to achieve two goals:
7+
8+
- improve upon the borrow checker algorithm so that it can accept more rust programs
9+
than it currently does;
10+
- move the core logic of the borrow checker into an independent crate whose behavior
11+
can be easily tested and specified.
12+
13+
The base Polonius algorithm was first introduced in [this
14+
blogpost][intro]. The [Polonius crate][P] has evolved significantly
15+
since then in terms of its implementation details and efficiency, and
16+
one of the goals of the working group is to extend the scope of the
17+
crate to define the full borrow check analysis.
18+
19+
- **Leads:** [@nikomatsakis][nikomatsakis]
20+
- **Meeting Notes:** [All](NOTES.md)
21+
22+
[status]: https://img.shields.io/badge/status-active-brightgreen.svg?style=for-the-badge
23+
24+
# How can I get involved?
25+
26+
We are still working on defining our roadmap and carving out
27+
independent tasks. If you'd like to get involved, the best idea right
28+
now is to introduce yourself in our Zulip stream -- and perhaps
29+
consider attending on our triage meetings.
30+
31+
- **Desired experience level:** Any
32+
- **Relevant repositories:** [`rust-lang/rust`][repo] (specifically `src/librustc_mir/borrow_check`), [`rust-lang/polonius`][P], and [`rust-lang/datafrog`][DF]
33+
- **Zulip stream:** [`#t-compiler/wg-polonius`][zulip] on Zulip
34+
35+
[repo]: https://github.com/rust-lang/rust
36+
[DF]: https://github.com/rust-lang/datafrog
37+
[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/186049-t-compiler.2Fwg-polonius
38+
[P]: https://github.com/rust-lang/polonius
39+
[intro]: http://smallcultfollowing.com/babysteps/blog/2018/04/27/an-alias-based-formulation-of-the-borrow-checker/
40+
[regionbp]: http://smallcultfollowing.com/babysteps/blog/2019/01/17/polonius-and-region-errors/
41+
[regionhr]: http://smallcultfollowing.com/babysteps/blog/2019/01/21/hereditary-harrop-region-constraints/
42+
43+
## Are there any resources so I can get up to speed?
44+
45+
nikomatsakis's blog posts offer the best written documentation at the moment:
46+
47+
- [An alias-based formulation of the borrow checker][intro]
48+
- [Polonius and region errors][regionbp]
49+
- [Polonius and the case of the hereditary harrop predicate][regionhr]
50+
51+
## Do I need to attend any meetings?
52+
53+
We have a weekly sync meeting. Check the [compiler team meeting
54+
calendar](../README.md#meeting-calendar) for the most up to date
55+
time. Attendance is not mandatory but recommended as this can be a
56+
good opportunity to ask any questions and find new issues to work on.
57+
58+
[nikomatsakis]: https://github.com/nikomatsakis
59+
[pnkfelix]: https://github.com/pnkfelix

0 commit comments

Comments
 (0)