Stream: t-compiler/wg-learning

Topic: meeting 2020.03.17


mark-i-m (Mar 17 2020 at 18:49, on Zulip):

@WG-learning meeting in ~45min (if I'm not mistaken).

Here is the master doc: https://hackmd.io/nr5Ww319TnWM2HL_cg5I-w
Here is the agenda doc: https://hackmd.io/75x4U2e1Qp2f-lg7V09nGA (feel free to add things)
Here is the overview chapter doc as it stands now: https://hackmd.io/j8EsXGI1RiOnjZSiSRf3ng?view

I suppose we can start by giving a status update of where all of our efforts are?

bjorn3 (Mar 17 2020 at 19:21, on Zulip):

I added some comments on "Rustc Overview"

Santiago Pastorino (Mar 17 2020 at 19:29, on Zulip):

@WG-learning meeting time, :wave: if you're participating on this meeting

Santiago Pastorino (Mar 17 2020 at 19:30, on Zulip):

let's try to update the todo section of the master doc with the things done

Santiago Pastorino (Mar 17 2020 at 19:31, on Zulip):

it seems like ...

Santiago Pastorino (Mar 17 2020 at 19:31, on Zulip):
- [x] [@Chris Simpkins] Write a blog post about the Overview chapter effort
    - The idea would be like a call for action, for people to help us shape a good Overview chapter
    - Could be something like ... we are writing an Overview chapter, here is an idea of what could look like, please give your insights on things you would include
    - [Blog post outline / drafts](https://hackmd.io/dXf8Ydq4R4SDrbY1VpPfUA)
- [x] [@spastorino] Changing name to rustc-dev-guide or rust-compiler-dev-guide (rcdg?) as per https://github.com/rust-lang/rustc-guide/issues/470?
- [x] [@mark-i-am] Document our sprint like process
- [x] [@spastorino] Schedule meetings for the next couple of months
- [x] [@spastorino] Schedule a lecture about monomorphization/type memory layout with @oli
    - @oli doesn't have time ATM for this :(
Santiago Pastorino (Mar 17 2020 at 19:31, on Zulip):

that's done

Chris Simpkins (Mar 17 2020 at 19:32, on Zulip):

Have we completed everything in https://github.com/rust-lang/rustc-dev-guide/issues/602?

Chris Simpkins (Mar 17 2020 at 19:32, on Zulip):

Ok to check all and close?

mark-i-m (Mar 17 2020 at 19:32, on Zulip):

@Chris Simpkins I think we still need to fix toolstate and update the submodule

mark-i-m (Mar 17 2020 at 19:33, on Zulip):

And I don't think I ever announced it on internals... should I do that now?

Santiago Pastorino (Mar 17 2020 at 19:33, on Zulip):

yeah, let's do it now

Santiago Pastorino (Mar 17 2020 at 19:33, on Zulip):

what's pending is not very important I think

mark-i-m (Mar 17 2020 at 19:33, on Zulip):

I would very much like to fix toolstate though

Santiago Pastorino (Mar 17 2020 at 19:34, on Zulip):

yep

Santiago Pastorino (Mar 17 2020 at 19:34, on Zulip):

about the pending lectures

Santiago Pastorino (Mar 17 2020 at 19:34, on Zulip):
- [ ] [@mark-i-am] Schedule a lecture about codegen mir -> llvm IR with @nagisa
- [ ] [@spastorino] Schedule a lecture about Parallel with @nikomatsakis, @simulacrum or @Alex Crichton
    - Everyone agreed that would be nice, the working group is a bit on hold for now on the other hand
    - @simulacrum said that he can answer question but can't come up with a general explanation
- [ ] [@spastorino] Schedule a lecture about LLVM with @Alex Crichton
    - Alex can do a lecture with maybe not really up to date content
    - mw can do a Q&A session
    - asked nikic too
Santiago Pastorino (Mar 17 2020 at 19:34, on Zulip):

I think parallel won't happen for now given the current status of it, if it can happen at some point I'm going to bring it up so I'd just close that

Santiago Pastorino (Mar 17 2020 at 19:35, on Zulip):

and about LLVM with Alex, I think I can talk to him and have the not very updated lecture, from there we can update it I think

Santiago Pastorino (Mar 17 2020 at 19:35, on Zulip):

because other people I've pinged doesn't seem to be available

Santiago Pastorino (Mar 17 2020 at 19:36, on Zulip):

do you agree with this?

mark-i-m (Mar 17 2020 at 19:36, on Zulip):

Ok, I just announced the rustc-dev-guide move on internals

Santiago Pastorino (Mar 17 2020 at 19:38, on Zulip):

@mark-i-m about the codegen-mir -> llvm IR with nagisa lecture?

Santiago Pastorino (Mar 17 2020 at 19:38, on Zulip):

should we mark it done?

mark-i-m (Mar 17 2020 at 19:38, on Zulip):

I think parallel won't happen for now given the current status of it, if it can happen at some point I'm going to bring it up so I'd just close that

Santiago Pastorino (Mar 17 2020 at 19:38, on Zulip):

?

mark-i-m (Mar 17 2020 at 19:39, on Zulip):

One thing that might be good is to create a skeleton and note down the little I know:

mark-i-m (Mar 17 2020 at 19:39, on Zulip):
mark-i-m (Mar 17 2020 at 19:39, on Zulip):
mark-i-m (Mar 17 2020 at 19:40, on Zulip):
Santiago Pastorino (Mar 17 2020 at 19:40, on Zulip):

well that may be a good way to tackle it

Santiago Pastorino (Mar 17 2020 at 19:40, on Zulip):

Santiago Pastorino said:

mark-i-m about the codegen-mir -> llvm IR with nagisa lecture?

:point_up:

mark-i-m (Mar 17 2020 at 19:40, on Zulip):

Santiago Pastorino said:

mark-i-m about the codegen-mir -> llvm IR with nagisa lecture?

So, I've finally got around to looking at the notes nagisa sent last time

mark-i-m (Mar 17 2020 at 19:40, on Zulip):

And I compile some rough chapters

mark-i-m (Mar 17 2020 at 19:41, on Zulip):

which got merged last week

Santiago Pastorino (Mar 17 2020 at 19:41, on Zulip):

yeah, I saw that but I meant, I guess a lecture won't happen

Santiago Pastorino (Mar 17 2020 at 19:41, on Zulip):

we may not need it?

mark-i-m (Mar 17 2020 at 19:41, on Zulip):

I think nagisa indicated that they were too busy/not interested in doing a full lecture, but I think

Santiago Pastorino (Mar 17 2020 at 19:41, on Zulip):

yeah

Santiago Pastorino (Mar 17 2020 at 19:41, on Zulip):

so let's close that too, right?

mark-i-m (Mar 17 2020 at 19:41, on Zulip):

we can compile a hackmd with the list of questions/holes and try to incrementally get answers

Santiago Pastorino (Mar 17 2020 at 19:42, on Zulip):

agreed

Santiago Pastorino (Mar 17 2020 at 19:42, on Zulip):

let me close the lecture thing and please add that item to the todo

Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):

alright, closed

Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):

@mark-i-m please add the tasks you're mentioning

Chris Simpkins (Mar 17 2020 at 19:43, on Zulip):

Can we begin to open incremental PR's on the Guide and have expertise fill in details for the structure that we lay out? The open PR approach seems to receive more input/feedback/engagement than hackmd docs.

Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):

yes

Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):

definitely

Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):
- [ ] Collect a set of PRs that help understanding some parts of the compiler
Santiago Pastorino (Mar 17 2020 at 19:43, on Zulip):

about this, I've made zero progress

Santiago Pastorino (Mar 17 2020 at 19:44, on Zulip):

so the last and main thing to discuss is ...

Santiago Pastorino (Mar 17 2020 at 19:44, on Zulip):
- [ ] Write an Overview chapter
    - Overview of the whole picture of the compiler. Main components, what they do and where they live. Main data structures used along and more or less what they are about.
    - [Overview Outline](https://hackmd.io/j8EsXGI1RiOnjZSiSRf3ng?view)
    - Overview blog post (coming soon...)
Chris Simpkins (Mar 17 2020 at 19:44, on Zulip):

re: [@Chris Simpkins] Write a blog post about the Overview chapter effort:

I have a draft but haven't had time to shape it up into something ready for a PR yet. I'm stuck on how we intend to approach the Overview. Do we have a sense about whether this will be organized around source structure vs. compile process stages vs. another approach? Do we want to ask people to weigh in on how it is structured? I've done a quick read through of the entire dev-guide and am not sure about the approach that we will take. There is a good deal of the Guide that indicates that it is outdated or missing information at this stage. Need feedback on this.

mark-i-m (Mar 17 2020 at 19:44, on Zulip):

sorry, I'm a bit slow on my laptop, rather than my nice desktop setup in my office

Santiago Pastorino (Mar 17 2020 at 19:47, on Zulip):

Chris Simpkins said:

re: [@Chris Simpkins] Write a blog post about the Overview chapter effort:

I have a draft but haven't had time to shape it up into something ready for a PR yet. I'm stuck on how we intend to approach the Overview. Do we have a sense about whether this will be organized around source structure vs. compile process stages vs. another approach? Do we want to ask people to weigh in on how it is structured? I've done a quick read through of the entire dev-guide and am not sure about the approach that we will take. There is a good deal of the Guide that indicates that it is outdated or missing information at this stage. Need feedback on this.

yeap

Santiago Pastorino (Mar 17 2020 at 19:47, on Zulip):

does anyone have any other update related to the overview?

Santiago Pastorino (Mar 17 2020 at 19:47, on Zulip):

to be honest I'd need to go through it again

mark-i-m (Mar 17 2020 at 19:49, on Zulip):

Santiago Pastorino said:

- [ ] Collect a set of PRs that help understanding some parts of the compiler

Perhaps the right approach is to create an issue where we can dump things until we have enough?

Santiago Pastorino (Mar 17 2020 at 19:49, on Zulip):

sold!

Santiago Pastorino (Mar 17 2020 at 19:49, on Zulip):

:)

Tshepang Lekhonkhobe (Mar 17 2020 at 19:49, on Zulip):

did you make notes of the outdated stuff

Santiago Pastorino (Mar 17 2020 at 19:50, on Zulip):

mark-i-m said:

Santiago Pastorino said:

- [ ] Collect a set of PRs that help understanding some parts of the compiler

Perhaps the right approach is to create an issue where we can dump things until we have enough?

https://github.com/rust-lang/rustc-dev-guide/issues/619

Chris Simpkins (Mar 17 2020 at 19:50, on Zulip):

Tshepang Lekhonkhobe said:

did you make notes of the outdated stuff

Unfortunately not, but I can do so on another run through. Some issues that come immediately to mind are the sections on the overview of the structure of the compiler source that has an out of date diagram after recent refactor

mark-i-m (Mar 17 2020 at 19:51, on Zulip):

Chris Simpkins said:

re: [@Chris Simpkins] Write a blog post about the Overview chapter effort:

I have a draft but haven't had time to shape it up into something ready for a PR yet. I'm stuck on how we intend to approach the Overview. Do we have a sense about whether this will be organized around source structure vs. compile process stages vs. another approach? Do we want to ask people to weigh in on how it is structured? I've done a quick read through of the entire dev-guide and am not sure about the approach that we will take. There is a good deal of the Guide that indicates that it is outdated or missing information at this stage. Need feedback on this.

@Chris Simpkins I suspect that it will be some mix of all of those...

mark-i-m (Mar 17 2020 at 19:51, on Zulip):

It's a good question though

mark-i-m (Mar 17 2020 at 19:51, on Zulip):

I need to go through our notes and read it again

mark-i-m (Mar 17 2020 at 19:52, on Zulip):

Unfortunately not, but I can do so on another run through. Some issues that come immediately to mind are the sections on the overview of the structure of the compiler source that has an out of date diagram after recent refactor

Yeah, there is _a lot_ of refactoring going on these days, and I suspect there will always be some part of the guide out of date

Chris Simpkins (Mar 17 2020 at 19:52, on Zulip):

Worth pulling together our Overview outline and then publishing the blog post with a link that points to the outline? Could be a WIP document that readers can weigh in on. I initially thought that we could point to a Zulip thread, but perhaps that is a better approach.

mark-i-m (Mar 17 2020 at 19:52, on Zulip):

But somehow, I think it still manages to be in-of-date _enough_ to be helpful

Santiago Pastorino (Mar 17 2020 at 19:53, on Zulip):

mark-i-m said:

Unfortunately not, but I can do so on another run through. Some issues that come immediately to mind are the sections on the overview of the structure of the compiler source that has an out of date diagram after recent refactor

Yeah, there is _a lot_ of refactoring going on these days, and I suspect there will always be some part of the guide out of date

well maybe we will start having less given the major changes proposal idea

Tshepang Lekhonkhobe (Mar 17 2020 at 19:54, on Zulip):

does that idea encourage less refactoring

Chris Simpkins (Mar 17 2020 at 19:54, on Zulip):

mark-i-m said:

But somehow, I think it still manages to be in-of-date _enough_ to be helpful

It definitely wasn't intended to be a criticism. That is the nature of manually updated documentation and IIUC the rationale for this WG's existence! :slight_smile: I am just thinking through what structure makes sense for an overview.

Santiago Pastorino (Mar 17 2020 at 19:54, on Zulip):

Tshepang Lekhonkhobe said:

does that idea encourage less refactoring

nope

mark-i-m (Mar 17 2020 at 19:54, on Zulip):

@Tshepang Lekhonkhobe It basically requires that major compiler changes are accompanies by rustc-dev-guide changes

mark-i-m (Mar 17 2020 at 19:55, on Zulip):

ok 5 minutes left

Santiago Pastorino (Mar 17 2020 at 19:55, on Zulip):

I guess we should talk about what to do during this next sprint!

mark-i-m (Mar 17 2020 at 19:55, on Zulip):

I think we should focus on overview doc

Tshepang Lekhonkhobe (Mar 17 2020 at 19:55, on Zulip):

mark-i-m said:

Tshepang Lekhonkhobe It basically requires that major compiler changes are accompanies by rustc-dev-guide changes

oh, I see... it was more about being up-to-date than about refactoring

Santiago Pastorino (Mar 17 2020 at 19:55, on Zulip):

which other than the tasking we already have layed out is how to move forward the overview chapter

Tshepang Lekhonkhobe (Mar 17 2020 at 19:56, on Zulip):

sprint is how long

Santiago Pastorino (Mar 17 2020 at 19:56, on Zulip):

thoughts?

Santiago Pastorino (Mar 17 2020 at 19:57, on Zulip):

Tshepang Lekhonkhobe said:

sprint is how long

2 weeks

mark-i-m (Mar 17 2020 at 19:57, on Zulip):

I will make a doc for the "holes" in backend that we can try to fill in gradually

Tshepang Lekhonkhobe (Mar 17 2020 at 19:58, on Zulip):

would be happy to help with overview chapter too

mark-i-m (Mar 17 2020 at 19:58, on Zulip):

Also, we should open an issue to collect PRs that are good examples of things

mark-i-m (Mar 17 2020 at 19:58, on Zulip):

and publicize that issue for t-compiler people to add their own examples

mark-i-m (Mar 17 2020 at 19:59, on Zulip):

Thoughts?

Santiago Pastorino (Mar 17 2020 at 19:59, on Zulip):

mark-i-m said:

Also, we should open an issue to collect PRs that are good examples of things

I've already done that

Santiago Pastorino (Mar 17 2020 at 20:00, on Zulip):

https://github.com/rust-lang/rustc-dev-guide/issues/619

Tshepang Lekhonkhobe (Mar 17 2020 at 20:00, on Zulip):

risk with that approach is that PRs quickly become outdated, making changes to code that may be already be moved around by the time the PR is read

Tshepang Lekhonkhobe (Mar 17 2020 at 20:00, on Zulip):

is that ok?

mark-i-m (Mar 17 2020 at 20:01, on Zulip):

I guess it's probably better than nothing... mostly the PRs will be bit-rotty, but I think things don't usually change enough that they would be unhelpful

Santiago Pastorino (Mar 17 2020 at 20:01, on Zulip):

agreed with @mark-i-m

Santiago Pastorino (Mar 17 2020 at 20:02, on Zulip):

time is up, unsure if we have reached an idea about what to focus on related to overview exactly

mark-i-m (Mar 17 2020 at 20:04, on Zulip):

Let's create a thread on zulip and aim to have something to publish on the blog by next meeting

Santiago Pastorino (Mar 17 2020 at 20:04, on Zulip):

:+1:

mark-i-m (Mar 17 2020 at 20:04, on Zulip):

We can discuss on zulip about what the status

mark-i-m (Mar 17 2020 at 20:06, on Zulip):

Oh, also here is the backend holes doc: https://hackmd.io/@ux-jKBcgRTSHsH042VF3BA/S1Q6hoCB8/edit

mark-i-m (Mar 17 2020 at 20:07, on Zulip):

Ok thanks everyone! :wave:

mark-i-m (Mar 17 2020 at 20:07, on Zulip):

I think that was a productive meeting

Chris Simpkins (Mar 17 2020 at 20:20, on Zulip):

mark-i-m said:

Let's create a thread on zulip and aim to have something to publish on the blog by next meeting

Here is the blog post thread: https://rust-lang.zulipchat.com/#narrow/stream/196385-t-compiler.2Fwg-learning/topic/The.20Rustc.20Overview.3A.20blog.20post

Will update the blog post based on the conversation today. I should be able to do it this week. If anyone has additional feedback, please let me know

Last update: Apr 03 2020 at 16:25UTC