Stream: t-compiler/wg-learning

Topic: meeting 2019.05.14


mark-i-m (May 14 2019 at 19:27, on Zulip):

Hi :)

Santiago Pastorino (May 14 2019 at 19:28, on Zulip):

@WG-learning in 3 minutes the meeting is starting :)

Santiago Pastorino (May 14 2019 at 19:28, on Zulip):

we have the agenda here https://hackmd.io/iamkyR_QTdSIdGjYQX_XjQ

Santiago Pastorino (May 14 2019 at 19:29, on Zulip):

the idea is to start from the first bullet and go from there to where time allows us :)

Santiago Pastorino (May 14 2019 at 19:30, on Zulip):

I hope we are able to finish bullet item number 1 :joy:

Amanjeev Sethi (May 14 2019 at 19:31, on Zulip):

Its :time:

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

I think that one is complex enough to deserve some time, hehe

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

ok let's start then

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

:hi:

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

let's start going over the agenda items

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

- Define what's the walkthrough section we want to add

Santiago Pastorino (May 14 2019 at 19:31, on Zulip):

during last meeting we were talking with @nikomatsakis about this

Santiago Pastorino (May 14 2019 at 19:32, on Zulip):

and if I'm not wrong @lokalmatador was also giving this task a try

Santiago Pastorino (May 14 2019 at 19:32, on Zulip):

@nikomatsakis you around?

nikomatsakis (May 14 2019 at 19:33, on Zulip):

I'm here, sort of

lokalmatador (May 14 2019 at 19:33, on Zulip):

and if I'm not wrong lokalmatador was also giving this task a try

he, just made it! yep, I'm actually giving it a try

Santiago Pastorino (May 14 2019 at 19:33, on Zulip):

if so ... maybe you can comment some of your ideas as a starting point

Santiago Pastorino (May 14 2019 at 19:33, on Zulip):

and then we can all develop on top of that?

lokalmatador (May 14 2019 at 19:33, on Zulip):

me?

Santiago Pastorino (May 14 2019 at 19:33, on Zulip):

you and/or @nikomatsakis yes

nikomatsakis (May 14 2019 at 19:34, on Zulip):

I didn't do anything =)

Santiago Pastorino (May 14 2019 at 19:34, on Zulip):

ok

nikomatsakis (May 14 2019 at 19:34, on Zulip):

If I signed up to do so, that was unwise.

nikomatsakis (May 14 2019 at 19:34, on Zulip):

:)

Santiago Pastorino (May 14 2019 at 19:34, on Zulip):

no no, I was trying to get some ideas from you

lokalmatador (May 14 2019 at 19:34, on Zulip):

so what i actually planned (and partly already did) is trying to give a coarse overview of rustc and the new query framework and the basically have a nice walk through section using a running example

lokalmatador (May 14 2019 at 19:35, on Zulip):

for now I'm using fibonacci, it's not really complex but has recursion...and it's small

Santiago Pastorino (May 14 2019 at 19:35, on Zulip):

:+1:

mark-i-m (May 14 2019 at 19:35, on Zulip):

@lokalmatador could you describe how this differs from the existing queries chapter?

Santiago Pastorino (May 14 2019 at 19:35, on Zulip):

I guess what we want to define is what do we want to walk though?

mark-i-m (May 14 2019 at 19:35, on Zulip):

is it intended to be more of an end to end?

Santiago Pastorino (May 14 2019 at 19:35, on Zulip):

I meant, what parts of the compiler do we want to explain with an example

lokalmatador (May 14 2019 at 19:35, on Zulip):

i planned to discuss each of the 6 compile steps (parsing, ... ) by showing intermediary artifacts as far as possible and also how the new query framework may change

nikomatsakis (May 14 2019 at 19:36, on Zulip):

I think we were saying that the existing chapter is sort of focused on how you can create your own queries etc

lokalmatador (May 14 2019 at 19:36, on Zulip):

lokalmatador could you describe how this differs from the existing queries chapter?

way shorter and in the walkthrough section I plan to also show how it may change the way the compiler works for now and in future

nikomatsakis (May 14 2019 at 19:36, on Zulip):

I think that material is good but there's probably an "intro" that is more "as a user"

lokalmatador (May 14 2019 at 19:36, on Zulip):

ahm yeah, kind of

lokalmatador (May 14 2019 at 19:37, on Zulip):

wait a sec

Santiago Pastorino (May 14 2019 at 19:37, on Zulip):

is the idea is that we want an example to give kind of an overview and from there point to specific sections where it further develop some concepts?

Santiago Pastorino (May 14 2019 at 19:37, on Zulip):

and also have some concrete artifacts that show up after each phase or something like that?

lokalmatador (May 14 2019 at 19:38, on Zulip):

yeah, that was more or less it so far: coarse overview of rustc and the new query stuff + detailed walkthrough with artifacts using a running example

Santiago Pastorino (May 14 2019 at 19:38, on Zulip):

or what's exactly the idea you all foresee with this walk through?

lokalmatador (May 14 2019 at 19:38, on Zulip):

the idea
you start with your code written in rust
next, the compiler parses it and produces that
....
until you end up with linking

Santiago Pastorino (May 14 2019 at 19:39, on Zulip):

yeah, to me that good

lokalmatador (May 14 2019 at 19:39, on Zulip):

in brief: what does the compiler do with your input

mark-i-m (May 14 2019 at 19:39, on Zulip):

I think @lokalmatador is saying something like "first fibonacci is lexed. This produces a set of tokens. you can read more about that in this chapter <link>. Then it is parsed... ... we now have a bunch of elf objects that we pass to llvm-linker ... "

mark-i-m (May 14 2019 at 19:39, on Zulip):

right?

Santiago Pastorino (May 14 2019 at 19:40, on Zulip):

I think so but with showing concrete intermediate artifacts

lokalmatador (May 14 2019 at 19:40, on Zulip):

I think lokalmatador is saying something like "first fibonacci is lexed. This produces a set of tokens. you can read more about that in this chapter <link>. Then it is parsed... ... we now have a bunch of elf objects that we pass to llvm-linker ... "

yup, we can definitely link to all the other chapters as i do not plan to cover it in detail
that's for the other chapters

mark-i-m (May 14 2019 at 19:40, on Zulip):

:+1:

Santiago Pastorino (May 14 2019 at 19:40, on Zulip):

ok, so, task 1 is done then or do we need to define something else?

mark-i-m (May 14 2019 at 19:40, on Zulip):

I do like that idea, as it is currently hard to see how everything fits together

Santiago Pastorino (May 14 2019 at 19:41, on Zulip):

the first item was Define what's the walkthrough section we want to add

Santiago Pastorino (May 14 2019 at 19:41, on Zulip):

do you consider that done now?

Santiago Pastorino (May 14 2019 at 19:41, on Zulip):

or is it something else to discuss?

lokalmatador (May 14 2019 at 19:42, on Zulip):

not from my side, at least for now :grinning_face_with_smiling_eyes:

mark-i-m (May 14 2019 at 19:42, on Zulip):

@lokalmatador is there anything you need from the WG at this point, or should wait for you to open a PR on the rustc-guide repo at some point?

mark-i-m (May 14 2019 at 19:42, on Zulip):

ok

lokalmatador (May 14 2019 at 19:42, on Zulip):

lokalmatador is there anything you need from the WG at this point, or should wait for you to open a PR on the rustc-guide repo at some point?

as said, for now i'm fine, question or a PR will definitely pop up

Santiago Pastorino (May 14 2019 at 19:42, on Zulip):

@mark-i-m you're taking notes, right?

Santiago Pastorino (May 14 2019 at 19:42, on Zulip):

if so great :)

Santiago Pastorino (May 14 2019 at 19:43, on Zulip):

cool

Santiago Pastorino (May 14 2019 at 19:43, on Zulip):

next item then

Santiago Pastorino (May 14 2019 at 19:43, on Zulip):

- Triage missing rustc-guide chapters

mark-i-m (May 14 2019 at 19:43, on Zulip):

:+1:

mark-i-m (May 14 2019 at 19:43, on Zulip):

I added a list of missing chapters/subchapters/topics to the hackmd doc

Santiago Pastorino (May 14 2019 at 19:43, on Zulip):

@mark-i-m I understand what that is but do you want to elaborate a bit on what's your plan?

mark-i-m (May 14 2019 at 19:44, on Zulip):

I think the biggest two things are that we are completely missing anything on LLVM/codegen/monomorphization

mark-i-m (May 14 2019 at 19:44, on Zulip):

and hygiene/macros

mark-i-m (May 14 2019 at 19:44, on Zulip):

(especially proc macros/custom derive)

Santiago Pastorino (May 14 2019 at 19:44, on Zulip):

ok, so basically there are a bunch of things that are missing right now and those are the ones you pointed out in hackmd

mark-i-m (May 14 2019 at 19:44, on Zulip):

yes

Santiago Pastorino (May 14 2019 at 19:44, on Zulip):

do we want to triage something now?

Santiago Pastorino (May 14 2019 at 19:45, on Zulip):

or should we consider that as work to be done at some point?

mark-i-m (May 14 2019 at 19:45, on Zulip):

It would be great if we could formulate a plan for filling in at least these two chapters

Santiago Pastorino (May 14 2019 at 19:45, on Zulip):

:+1:

Santiago Pastorino (May 14 2019 at 19:45, on Zulip):

can we start opening issues?

mark-i-m (May 14 2019 at 19:45, on Zulip):

is it just a matter of waiting for someone like nagisa with the appropriate knowledge?

mark-i-m (May 14 2019 at 19:46, on Zulip):

the issues already exist

Santiago Pastorino (May 14 2019 at 19:46, on Zulip):

ahh ok ok

mark-i-m (May 14 2019 at 19:46, on Zulip):

e.g. https://github.com/rust-lang/rustc-guide/issues/89

Iñaki Garay (May 14 2019 at 19:46, on Zulip):

perhaps first steps would be to define who can do exposition on these topics, schedule a compiler lecture series talk, and create issues for the transcription?

Santiago Pastorino (May 14 2019 at 19:46, on Zulip):

as part of the plan we can try to get somebody to do a lecture and then we transcribe this

mark-i-m (May 14 2019 at 19:46, on Zulip):

it's just a matter of getting someone with the appropriate knowledge

Santiago Pastorino (May 14 2019 at 19:46, on Zulip):

yes

Santiago Pastorino (May 14 2019 at 19:46, on Zulip):

or having them doing a lecture or having them writing the chapter :)

mark-i-m (May 14 2019 at 19:47, on Zulip):

the lecture might be more high-value

Santiago Pastorino (May 14 2019 at 19:47, on Zulip):

agree

nikomatsakis (May 14 2019 at 19:47, on Zulip):

my experience is that a lecture is a LOT less work

mark-i-m (May 14 2019 at 19:47, on Zulip):

we can then transcribe as part of the ongoing effort

nikomatsakis (May 14 2019 at 19:47, on Zulip):

so I'd start there

Santiago Pastorino (May 14 2019 at 19:47, on Zulip):

definitely agree

nikomatsakis (May 14 2019 at 19:47, on Zulip):

(also, we should link to them from the book)

Santiago Pastorino (May 14 2019 at 19:47, on Zulip):

(deleted)

nikomatsakis (May 14 2019 at 19:47, on Zulip):

(not sure if we are doing that already)

mark-i-m (May 14 2019 at 19:47, on Zulip):

@nikomatsakis we are planning to

nikomatsakis (May 14 2019 at 19:47, on Zulip):

i.e., "no chapter yet, but watch \[this video]"

Iñaki Garay (May 14 2019 at 19:47, on Zulip):

@pnkfelix was listed as knowledgable on macros but codegen does not have anyone

Santiago Pastorino (May 14 2019 at 19:48, on Zulip):

I was mentioning this because I've pinged @nnethercote about this and he has said that he's more of a blog person

Santiago Pastorino (May 14 2019 at 19:48, on Zulip):

so for people like him is probably better to just go and write something

Iñaki Garay (May 14 2019 at 19:48, on Zulip):

do we want to create GH issues for the remaining topics?

Santiago Pastorino (May 14 2019 at 19:48, on Zulip):

but yeah lectures are preferred to just having someone writing a guide chapter :)

Santiago Pastorino (May 14 2019 at 19:49, on Zulip):

do we want to create GH issues for the remaining topics?

I'd say that is important to have everything filled up

mark-i-m (May 14 2019 at 19:49, on Zulip):

@Iñaki Garay They already exist on the rustc-guide repo

Santiago Pastorino (May 14 2019 at 19:49, on Zulip):

and also this ties a bit with How do we want to keep track of who is doing what? does github Projects works nice for this?

Santiago Pastorino (May 14 2019 at 19:50, on Zulip):

I think it could be nice to organize things that members of the group are working on

Santiago Pastorino (May 14 2019 at 19:50, on Zulip):

and what's left

Santiago Pastorino (May 14 2019 at 19:50, on Zulip):

and from where to pick stuff and so on

mark-i-m (May 14 2019 at 19:50, on Zulip):

I've never used it, but it could be worth a try

Iñaki Garay (May 14 2019 at 19:50, on Zulip):

I have no feelings on how to do that.

nikomatsakis (May 14 2019 at 19:50, on Zulip):

something I could imagine

Santiago Pastorino (May 14 2019 at 19:50, on Zulip):

maybe we can start trying Github projects and see

Amanjeev Sethi (May 14 2019 at 19:50, on Zulip):

Is github projects like the kanban kind of thing?

nikomatsakis (May 14 2019 at 19:51, on Zulip):

is creating a few columns, like

nikomatsakis (May 14 2019 at 19:51, on Zulip):

Is github projects like the kanban kind of thing?

yeah

nikomatsakis (May 14 2019 at 19:51, on Zulip):

anyway i'm usually pessimistic about GH projects but this seems like a case that might be a good fit...

Santiago Pastorino (May 14 2019 at 19:52, on Zulip):

yeah, I'm not sure to be honest

Santiago Pastorino (May 14 2019 at 19:52, on Zulip):

maybe the question is ... do we want to organize this in some way?

Santiago Pastorino (May 14 2019 at 19:52, on Zulip):

if so, we can try a couple of options, I guess

mark-i-m (May 14 2019 at 19:52, on Zulip):

so currently, things are all organized as checklists on GH issues

Amanjeev Sethi (May 14 2019 at 19:52, on Zulip):

Having a kanban board with all the todo items listed will really really helpful to me

Santiago Pastorino (May 14 2019 at 19:53, on Zulip):

so currently, things are all organized as checklists on GH issues

well maybe that's enough then

mark-i-m (May 14 2019 at 19:53, on Zulip):

i'm fine if we want to do something else, though

Santiago Pastorino (May 14 2019 at 19:53, on Zulip):

do we have the information that @Amanjeev Sethi is working on debugging and @Iñaki Garay on ty there?

Amanjeev Sethi (May 14 2019 at 19:53, on Zulip):

Oh I thought we were talking about major tasks from the dropbox

Santiago Pastorino (May 14 2019 at 19:54, on Zulip):

I'm talking about everything :)

Iñaki Garay (May 14 2019 at 19:54, on Zulip):

do we have the information that Amanjeev Sethi is working on debugging and Iñaki Garay on ty there?

No.

Santiago Pastorino (May 14 2019 at 19:54, on Zulip):

ok, so the first step is maybe to create issues for that?

mark-i-m (May 14 2019 at 19:54, on Zulip):

do we have the information that Amanjeev Sethi is working on debugging and Iñaki Garay on ty there?

no not ATM

Santiago Pastorino (May 14 2019 at 19:54, on Zulip):

@mark-i-m do you consider ok to create issues for things to be transcribed?

Santiago Pastorino (May 14 2019 at 19:54, on Zulip):

or that's not suitable for rustc-guide?

mark-i-m (May 14 2019 at 19:55, on Zulip):

sure, i don't have strong preferences

mark-i-m (May 14 2019 at 19:55, on Zulip):

although the idea of using projects for that is appealing

Santiago Pastorino (May 14 2019 at 19:55, on Zulip):

ok, let's first create issues and move everything from Dropbox to Github issues

Santiago Pastorino (May 14 2019 at 19:55, on Zulip):

and then from those issues we can organize them into projects

mark-i-m (May 14 2019 at 19:55, on Zulip):

:+1:

Amanjeev Sethi (May 14 2019 at 19:55, on Zulip):

I like this idea

Santiago Pastorino (May 14 2019 at 19:55, on Zulip):

@mark-i-m do you know what kind of access is needed to play with Github Projects or to create things

Santiago Pastorino (May 14 2019 at 19:56, on Zulip):

I think I can't do anything there

mark-i-m (May 14 2019 at 19:56, on Zulip):

hmm... i have access

Santiago Pastorino (May 14 2019 at 19:56, on Zulip):

but I don't have push access or admin access or anything like that so it's obvious why I can't :)

Santiago Pastorino (May 14 2019 at 19:57, on Zulip):

hmm... i have access

do you want to do it? I'm all for helping or even doing it but unless I have some kind of access is impossible for me to do so :smile:

mark-i-m (May 14 2019 at 19:58, on Zulip):

spastorino on github, right?

Santiago Pastorino (May 14 2019 at 19:58, on Zulip):

yes

Santiago Pastorino (May 14 2019 at 19:59, on Zulip):

so we have 3 more minutes but I guess it's not wise to jump into a new item of the agenda :)

Santiago Pastorino (May 14 2019 at 19:59, on Zulip):

does someone wants to transcribe this meeting to our wg directory?

mark-i-m (May 14 2019 at 19:59, on Zulip):

@nikomatsakis before we close, would it be possible to schedule lectures on monomorphization/codegen/LLVM and macros/hygiene?

Iñaki Garay (May 14 2019 at 19:59, on Zulip):

I can do it rn and learn the process while I'm doing it

Santiago Pastorino (May 14 2019 at 19:59, on Zulip):

given that @mark-i-m took some notes, I guess it's mainly copying the text from hackmd

Santiago Pastorino (May 14 2019 at 20:00, on Zulip):

I can do it rn and learn the process while I'm doing it

:+1:

Santiago Pastorino (May 14 2019 at 20:00, on Zulip):

remove from the agenda what we didn't discuss

Santiago Pastorino (May 14 2019 at 20:00, on Zulip):

maybe the items that were not discussed worth storing in the wg directory too in some way

Amanjeev Sethi (May 14 2019 at 20:00, on Zulip):

I too added some notes, hopefully did not interfere with @mark-i-m

Santiago Pastorino (May 14 2019 at 20:00, on Zulip):

give it a try and we can discuss

Iñaki Garay (May 14 2019 at 20:00, on Zulip):

roger!

Santiago Pastorino (May 14 2019 at 20:01, on Zulip):

@Iñaki Garay can take that and the chat and come up with something beautiful :heart:

nikomatsakis (May 14 2019 at 20:01, on Zulip):

re: scheduling, if somebody else can drive it, I can create the Zoom meeting etc

nikomatsakis (May 14 2019 at 20:01, on Zulip):

but we'd have to find times etc

Santiago Pastorino (May 14 2019 at 20:01, on Zulip):

@nikomatsakis I can organize everything if that's what you're asking for

nikomatsakis (May 14 2019 at 20:02, on Zulip):

right

Santiago Pastorino (May 14 2019 at 20:02, on Zulip):

I can do that

Santiago Pastorino (May 14 2019 at 20:02, on Zulip):

do you have any candidate for those lectures?

Santiago Pastorino (May 14 2019 at 20:02, on Zulip):

I can give experts a look :)

Santiago Pastorino (May 14 2019 at 20:02, on Zulip):

that's what experts map is for, right? :smile:

Santiago Pastorino (May 14 2019 at 20:04, on Zulip):

ok, I guess that's all for today :hi:

mark-i-m (May 14 2019 at 20:04, on Zulip):

I too added some notes, hopefully did not interfere with mark-i-m

where? in hackmd? i don't see them

Santiago Pastorino (May 14 2019 at 20:05, on Zulip):

@nikomatsakis @mark-i-m if you have candidates who I should ping let me know

mark-i-m (May 14 2019 at 20:05, on Zulip):

for LLVM/codegen, I think nagisa or alexchricton

mark-i-m (May 14 2019 at 20:06, on Zulip):

for macros/hygiene, I believe petrochenkov

Amanjeev Sethi (May 14 2019 at 21:28, on Zulip):

@mark-i-m I saw you were adding the same stuff at the bottom so I deleted my points. no worries.

mark-i-m (May 14 2019 at 22:30, on Zulip):

Oh sorry

mark-i-m (May 14 2019 at 22:30, on Zulip):

I created https://github.com/rust-lang/rustc-guide/issues/320 and https://github.com/rust-lang/rustc-guide/issues/319

mark-i-m (May 14 2019 at 22:32, on Zulip):

Are there any other issues to be created?

Iñaki Garay (May 14 2019 at 22:47, on Zulip):

I think that covers it. We'll get #319 done in no time :joy:

mark-i-m (May 22 2019 at 18:25, on Zulip):

Just a heads up: I won't be around next week, so if I'm needed for anything, please let me know

Last update: Nov 15 2019 at 21:00UTC