Stream: t-compiler/wg-meta

Topic: areas of the compiler


Santiago Pastorino (Apr 09 2020 at 19:08, on Zulip):

we have been talking with @nikomatsakis about compiler-team#264

Santiago Pastorino (Apr 09 2020 at 19:09, on Zulip):

I think what we want to start doing is first have a sane list of working groups in the compiler-team website

Santiago Pastorino (Apr 09 2020 at 19:09, on Zulip):

and second document areas and maintainers in a format that's suitable to place in rust-lang/team

Santiago Pastorino (Apr 09 2020 at 19:09, on Zulip):

the working groups part is easy

Santiago Pastorino (Apr 09 2020 at 19:10, on Zulip):

@nikomatsakis already shared this ...

Santiago Pastorino (Apr 09 2020 at 19:10, on Zulip):
maybe start with the categories? I see there as being three useful categories:

* **projects** -- a specific goal people are working on, but where there isn't much desire to get others involved (e.g., #**t-compiler/wg-polymorphization**)
* **project groups** -- a larger group of people working towards specific goals (e.g., #**wg-traits**, which I think should arguably be renamed to `project-chalk`)
* **areas, "birds of a feather"** -- things like llvm, diagnostics, mir opt -- basically a group of people having on a general area of the code


# project groups

* "Async/Await" -- interesting case, but I think still a project group
* "Learning" -- project group, with goal to complete overview and document major areas of the compiler
* "Parallel Rustc" -- project group
* "Polonius" -- project group
* "Polymorphization" -- project
* "RLS 2.0" -- project group, with goal to get rust-analyzer to some state that we should try to describe

# areas

* const-eval (not in list, but true)
* "Diagnostics" -- area, but they could spawn some project groups (e.g., to create external library)
* "LLVM" -- area, no particular goals at present
* "MIR Optimizations" -- area, vague goals at present
* "Self-Profile" -- was project group, but probably now an area

# it's complicated

* "Traits" -- should probably have an area, but *also* a project group for chalk specifically
* "Meta" -- project group? area? Interesting question!
Santiago Pastorino (Apr 09 2020 at 19:10, on Zulip):

so for working groups we need to go to https://rust-lang.github.io/compiler-team/ ...

Santiago Pastorino (Apr 09 2020 at 19:12, on Zulip):

and we would need to remove Diagnostics, LLVM, Mir Optimizations, Self Profile and Traits

Santiago Pastorino (Apr 09 2020 at 19:12, on Zulip):

but at the same time it wouldn't make a lot of sense to do this because I guess we would like some of this groups, in particular Traits and Mir Optimizations to be able to share in our compiler meetings some of the progress they are making

Santiago Pastorino (Apr 09 2020 at 19:13, on Zulip):

so, I guess this is escalating to a different level and I'd just defer this decision until we decide what do we want to do during the meeting

Santiago Pastorino (Apr 09 2020 at 19:14, on Zulip):

basically I think we want groups to share progress but maybe that's unrelated to working groups, maybe some areas should be included some others shouldn't

Santiago Pastorino (Apr 09 2020 at 19:14, on Zulip):

cc @nikomatsakis @pnkfelix

Santiago Pastorino (Apr 09 2020 at 19:16, on Zulip):

continuing with compiler-team#264 but now with the areas implications ...

Santiago Pastorino (Apr 09 2020 at 19:49, on Zulip):

as a starting point I've made this https://hackmd.io/jdF3GQCkQRaR7VsmkigFag?edit

Santiago Pastorino (Apr 09 2020 at 19:49, on Zulip):

based on experts map

Santiago Pastorino (Apr 09 2020 at 19:49, on Zulip):

@nikomatsakis :point_up:

Charles Lew (Apr 12 2020 at 01:20, on Zulip):

Personally I feel there's a small need for platform(arch and os) specific experts, to deal with issues with linking, isa primitives, os-specific part of libstd, and so on.

nikomatsakis (Apr 16 2020 at 18:17, on Zulip):

I agree

Santiago Pastorino (Apr 16 2020 at 18:21, on Zulip):

nikomatsakis said:

I agree

you agree with what exactly?

Santiago Pastorino (Apr 16 2020 at 18:22, on Zulip):

with @Charles Lew ?

Santiago Pastorino (Apr 16 2020 at 18:22, on Zulip):

in that case I agree too :)

Santiago Pastorino (Apr 16 2020 at 18:22, on Zulip):

so ... I think we should push this somewhere so we can all start to collectively edit and then place a PR

Santiago Pastorino (Apr 16 2020 at 18:23, on Zulip):

it's in some way pushed there in the hackmd, but I guess after some important edits and once we have something that feels right, we can send a PR to team repo

Santiago Pastorino (Apr 16 2020 at 18:23, on Zulip):

and then continue the discussion there

nikomatsakis (Apr 16 2020 at 18:29, on Zulip):

@Santiago Pastorino yeah, sorry, having a hard time concentrating right now

nikomatsakis (Apr 16 2020 at 18:29, on Zulip):

I did want to try and "reduce" the list

nikomatsakis (Apr 16 2020 at 18:29, on Zulip):

but it's always kind of harder than you would think to decide how to do that

nikomatsakis (Apr 16 2020 at 18:29, on Zulip):

I guess, a good question is, can we agree on a vague "number" of things to shoot for?

Santiago Pastorino (Apr 16 2020 at 18:29, on Zulip):

yeah, the problem I have is I don't know what you need to know in a lot of senses to come up with something sane

Santiago Pastorino (Apr 16 2020 at 18:30, on Zulip):

I mean, related also to the people that are around

Santiago Pastorino (Apr 16 2020 at 18:30, on Zulip):

and it's not even easy to make a complete list of all the possible areas

Santiago Pastorino (Apr 16 2020 at 18:30, on Zulip):

nikomatsakis said:

I guess, a good question is, can we agree on a vague "number" of things to shoot for?

yes

Santiago Pastorino (Apr 16 2020 at 18:30, on Zulip):

as everything, we can start with something imperfect and keep improving it

nikomatsakis (Apr 16 2020 at 18:32, on Zulip):

well

nikomatsakis (Apr 16 2020 at 18:32, on Zulip):

another point

nikomatsakis (Apr 16 2020 at 18:32, on Zulip):

I guess it doesn't have to be "exhaustive" necessarily

nikomatsakis (Apr 16 2020 at 18:32, on Zulip):

we should be shooting for the "main areas"

Santiago Pastorino (Apr 16 2020 at 18:32, on Zulip):

yeah

nikomatsakis (Apr 16 2020 at 18:32, on Zulip):

more than anything

Santiago Pastorino (Apr 16 2020 at 18:32, on Zulip):

yes

Santiago Pastorino (Apr 16 2020 at 18:32, on Zulip):

there's some kind of exhaustiveness in the list already

Santiago Pastorino (Apr 16 2020 at 18:33, on Zulip):

but unsure if that would be wrong neither

Santiago Pastorino (Apr 16 2020 at 18:33, on Zulip):

I meant, maybe we shouldn't think to hard to add more exhaustiveness into this

Santiago Pastorino (Apr 16 2020 at 18:33, on Zulip):

but also if we were keeping what we have maybe is worth to do some heararchy

nikomatsakis (Apr 16 2020 at 18:33, on Zulip):

I think maybe it's already more exhaustive than needed

Santiago Pastorino (Apr 16 2020 at 18:34, on Zulip):

like MIR main category and then MIR borrowck, MIR construction, etc

Santiago Pastorino (Apr 16 2020 at 18:34, on Zulip):

nikomatsakis said:

I think maybe it's already more exhaustive than needed

well ... yeah, I guess I'd just add the main areas and not subareas

Santiago Pastorino (Apr 16 2020 at 18:34, on Zulip):

the question is ... what's important about this?

Santiago Pastorino (Apr 16 2020 at 18:35, on Zulip):

to have a set of people that are familiar and a github group for them so we can ping them on github ?

Santiago Pastorino (Apr 16 2020 at 18:35, on Zulip):

so maybe in the cited example I'd stick with MIR and not the rest

Santiago Pastorino (Apr 16 2020 at 18:36, on Zulip):

is that what you want also?

Santiago Pastorino (Apr 16 2020 at 18:36, on Zulip):

and if you do that there's always time to split

Santiago Pastorino (Apr 16 2020 at 18:37, on Zulip):

but if we start with a lot of groups would be harder to join afterwards

Santiago Pastorino (Apr 16 2020 at 18:39, on Zulip):

@nikomatsakis what about a structure like what we have in the rustc-dev-guide?

Santiago Pastorino (Apr 16 2020 at 18:39, on Zulip):

https://github.com/rust-lang/rustc-dev-guide/blob/master/src/SUMMARY.md

Santiago Pastorino (Apr 16 2020 at 18:42, on Zulip):

I was looking at the structure we have in https://github.com/rust-lang/rustc-dev-guide/blob/master/src/SUMMARY.md

Santiago Pastorino (Apr 16 2020 at 18:42, on Zulip):

but unsure how to exactly set something up

Wesley Wiser (Apr 16 2020 at 18:55, on Zulip):

Santiago Pastorino said:

to have a set of people that are familiar and a github group for them so we can ping them on github ?

Kind of related: I think this would also tie in well to the "So you want to do X" guide. When I started contributing, knowing who to ask questions to (and even if it was ok/polite to ping them) was an issue for me.

Santiago Pastorino (Apr 16 2020 at 18:57, on Zulip):

yes

Santiago Pastorino (Apr 16 2020 at 18:57, on Zulip):

it could be all that :)

DPC (Apr 16 2020 at 18:59, on Zulip):

it will also make it easier to get new people to contribute and have better onboarding

Last update: Jan 22 2021 at 13:30UTC