Stream: t-compiler/wg-learning

Topic: meeting 2019.04.30


Santiago Pastorino (Apr 30 2019 at 19:22, on Zulip):

@WG-learning meeting starting in 10 minutes here

Santiago Pastorino (Apr 30 2019 at 19:31, on Zulip):

@WG-learning :hi: everyone, meeting starting now

Santiago Pastorino (Apr 30 2019 at 19:32, on Zulip):

first of all, but i guess everyone is aware of it, we have this ideas document

Santiago Pastorino (Apr 30 2019 at 19:32, on Zulip):

we have all the released lectures compiled there

Santiago Pastorino (Apr 30 2019 at 19:32, on Zulip):

which we would need to review and transcript to get some stuff to rustc-guides

Santiago Pastorino (Apr 30 2019 at 19:33, on Zulip):

then we have some ideas of new sessions to record

Santiago Pastorino (Apr 30 2019 at 19:33, on Zulip):

there's also a compiler walk-tour idea in section 2

Santiago Pastorino (Apr 30 2019 at 19:33, on Zulip):

some issues

Santiago Pastorino (Apr 30 2019 at 19:33, on Zulip):

and a bigger Rustc university idea

Santiago Pastorino (Apr 30 2019 at 19:34, on Zulip):

I guess what we want to start discussing is about the existing sessions and how to distribute the work there

nikomatsakis (Apr 30 2019 at 19:34, on Zulip):

the plan is to try and pick a few things to do first, right?

Santiago Pastorino (Apr 30 2019 at 19:34, on Zulip):

@nikomatsakis I was going to ask you if you had more ideas

Santiago Pastorino (Apr 30 2019 at 19:35, on Zulip):

the plan is to try and pick a few things to do first, right?

I'd say let's pick something from the existing lectures (?)

Santiago Pastorino (Apr 30 2019 at 19:35, on Zulip):

or is there any other thing which we can tackle?

nikomatsakis (Apr 30 2019 at 19:35, on Zulip):

Not really, I think those cover it :)

Santiago Pastorino (Apr 30 2019 at 19:35, on Zulip):

yeah, let's try to distribute the work that's already there

Santiago Pastorino (Apr 30 2019 at 19:35, on Zulip):

the other thing I was thinking of is ... new lectures sessions

Santiago Pastorino (Apr 30 2019 at 19:36, on Zulip):

that won't give tasks for now but I guess it's a good idea to not stop that

Santiago Pastorino (Apr 30 2019 at 19:36, on Zulip):

because it may take time to get somebody and to have that person preparing something

Santiago Pastorino (Apr 30 2019 at 19:36, on Zulip):

@nikomatsakis what do you think about that?

nikomatsakis (Apr 30 2019 at 19:36, on Zulip):

I think that makes sense, the video content is useful in the meantime,

nikomatsakis (Apr 30 2019 at 19:36, on Zulip):

one thought I had is that

nikomatsakis (Apr 30 2019 at 19:37, on Zulip):

e.g. take the existing Ty lecture we did last

nikomatsakis (Apr 30 2019 at 19:37, on Zulip):

I suspect that if people were trying to produce docs from that

nikomatsakis (Apr 30 2019 at 19:37, on Zulip):

they might encounter things they didn't understand

nikomatsakis (Apr 30 2019 at 19:37, on Zulip):

some of that could perhaps be cleared up over Zulip, but I could imagine that also becoming a source for new topics to discuss

Santiago Pastorino (Apr 30 2019 at 19:37, on Zulip):

:+1:

Santiago Pastorino (Apr 30 2019 at 19:38, on Zulip):

and I think it's very important to not follow what videos say blindly

Santiago Pastorino (Apr 30 2019 at 19:38, on Zulip):

because we could just transcribe stuff

nikomatsakis (Apr 30 2019 at 19:38, on Zulip):

I am thinking back to what this video covered -- it was basically

right?

Iñaki Garay (Apr 30 2019 at 19:38, on Zulip):

Absolutely agreed. I've already started on the Ty transcription, and will definitely have questions

Santiago Pastorino (Apr 30 2019 at 19:38, on Zulip):

but we could use ourselves to prove the content

Santiago Pastorino (Apr 30 2019 at 19:38, on Zulip):

if we can't understand the content probably others can't

nikomatsakis (Apr 30 2019 at 19:38, on Zulip):

the reason I ask is that maybe not all of that wants to be in rustc-guide (or maybe it does)

Santiago Pastorino (Apr 30 2019 at 19:38, on Zulip):

well yeah, also true

nikomatsakis (Apr 30 2019 at 19:38, on Zulip):

I think that types/generics/subst probably does

nikomatsakis (Apr 30 2019 at 19:39, on Zulip):

but I could imagine that type-foldable might be better off living as API docs

nikomatsakis (Apr 30 2019 at 19:39, on Zulip):

(not entirely sure)

nikomatsakis (Apr 30 2019 at 19:39, on Zulip):

Absolutely agreed. I've already started on the Ty transcription, and will definitely have questions

great news!

Santiago Pastorino (Apr 30 2019 at 19:39, on Zulip):

so ... other than that I guess we can just try to assign things

nikomatsakis (Apr 30 2019 at 19:39, on Zulip):

if we can't understand the content probably others can't

yeah, this makes sense to me, and I suspect that the best org for rustc-guide won't be the same as videos

nikomatsakis (Apr 30 2019 at 19:40, on Zulip):

how many people do we expect to be participating?

Iñaki Garay (Apr 30 2019 at 19:40, on Zulip):

Perhaps transcription & redaction is one step and then deciding where it goes is another. I feel fine with moving whatever content is best in put in APIs as part of the PR review process.

Santiago Pastorino (Apr 30 2019 at 19:40, on Zulip):

if we can't understand the content probably others can't

yeah, this makes sense to me, and I suspect that the best org for rustc-guide won't be the same as videos

agreed

Santiago Pastorino (Apr 30 2019 at 19:40, on Zulip):

how many people do we expect to be participating?

you meant, in the transcription?

Amanjeev Sethi (Apr 30 2019 at 19:41, on Zulip):

For me, I think I will start with transcription and then only I can see if I can explain that in my own words. I do not see any other way for me to start. Is that a good assumption?

Santiago Pastorino (Apr 30 2019 at 19:41, on Zulip):

Perhaps transcription & redaction is one step and then deciding where it goes is another. I feel fine with moving whatever content is best in put in APIs as part of the PR review process.

I'd also say let's not block because we don't know where to put some stuff, I think it's fine to start with some document that explains something

Santiago Pastorino (Apr 30 2019 at 19:41, on Zulip):

and then we can think on the organization

Santiago Pastorino (Apr 30 2019 at 19:42, on Zulip):

I also guess that the structure in general of the guides is something that could be a different task

Santiago Pastorino (Apr 30 2019 at 19:42, on Zulip):

thinking also in a walk-through example

lokalmatador (Apr 30 2019 at 19:42, on Zulip):

as of anyways digging through rustc I could address this: 2. Compiler walk-through / tour

nikomatsakis (Apr 30 2019 at 19:42, on Zulip):

you meant, in the transcription?

I just meant "overall" -- i.e., I think having a rough idea how many folks are here would be useful for knowing how many "tasks" to create

Santiago Pastorino (Apr 30 2019 at 19:42, on Zulip):

and then different parts of the guides are filled

nikomatsakis (Apr 30 2019 at 19:42, on Zulip):

hmm I have an idea :)

nikomatsakis (Apr 30 2019 at 19:42, on Zulip):

in terms of this "tour" idea

Santiago Pastorino (Apr 30 2019 at 19:42, on Zulip):

For me, I think I will start with transcription and then only I can see if I can explain that in my own words. I do not see any other way for me to start. Is that a good assumption?

I think it is

nikomatsakis (Apr 30 2019 at 19:43, on Zulip):

I think it might be useful to "sketch" the tour in the rustc-guide as a chapter, with links to each chapter

nikomatsakis (Apr 30 2019 at 19:43, on Zulip):

but those links might start by going to "TBD" chapters

Santiago Pastorino (Apr 30 2019 at 19:43, on Zulip):

yeah

Santiago Pastorino (Apr 30 2019 at 19:43, on Zulip):

:+1:

nikomatsakis (Apr 30 2019 at 19:43, on Zulip):

this could be the next video

Amanjeev Sethi (Apr 30 2019 at 19:43, on Zulip):

I like that

nikomatsakis (Apr 30 2019 at 19:43, on Zulip):

basically covering the "overall path" a program takes through rustc

Santiago Pastorino (Apr 30 2019 at 19:43, on Zulip):

this could be the next video

can you do a video like that for us?

nikomatsakis (Apr 30 2019 at 19:43, on Zulip):

yes, I could do that

Santiago Pastorino (Apr 30 2019 at 19:44, on Zulip):

I guess I can help you thinking on the content or something

Santiago Pastorino (Apr 30 2019 at 19:44, on Zulip):

or play the rubber duck role :P

nikomatsakis (Apr 30 2019 at 19:44, on Zulip):

so that would make two chapters, basically: we have the ty one already, and then the next job would be transcribing the "tour" video into a rustc-guide chapter

nikomatsakis (Apr 30 2019 at 19:44, on Zulip):

/me wants someone to make a nice graphic with a little path and footsteps :)

nikomatsakis (Apr 30 2019 at 19:44, on Zulip):

I'm actually imagining a bullet list ;)

Santiago Pastorino (Apr 30 2019 at 19:45, on Zulip):

:)

nikomatsakis (Apr 30 2019 at 19:45, on Zulip):

but basically I think this could be helpful, as the existing rustc-guide feels.. a bit disorganized

Santiago Pastorino (Apr 30 2019 at 19:45, on Zulip):

yes

nikomatsakis (Apr 30 2019 at 19:45, on Zulip):

I would like it if the "table of contents" were organized this way

Santiago Pastorino (Apr 30 2019 at 19:45, on Zulip):

and also examples are a great way to understand stuff

Santiago Pastorino (Apr 30 2019 at 19:45, on Zulip):

would be nice I think to show from an example how some internal rustc structures are filled

nikomatsakis (Apr 30 2019 at 19:45, on Zulip):

I think it's probably too ambitious to literally have a single example that we use for all chapters

Santiago Pastorino (Apr 30 2019 at 19:46, on Zulip):

like, what's in Place when there's person.x in code

Santiago Pastorino (Apr 30 2019 at 19:46, on Zulip):

or stuff like that

nikomatsakis (Apr 30 2019 at 19:46, on Zulip):

but we can probably have one we use for most, I guess, and anyway we can write the chapters with a focus on examples

Santiago Pastorino (Apr 30 2019 at 19:46, on Zulip):

yes, that's impossible

Santiago Pastorino (Apr 30 2019 at 19:46, on Zulip):

or the example would need to be huge and then hard to understand

nikomatsakis (Apr 30 2019 at 19:46, on Zulip):

like, what's in Place when there's person.x in code

and yes I think this is the most important thing -- in my experience, the thing people find hardest is connecting "rust source code" with "rustc source code".

Santiago Pastorino (Apr 30 2019 at 19:47, on Zulip):

yes

Santiago Pastorino (Apr 30 2019 at 19:47, on Zulip):

maybe I won't call this one example

Santiago Pastorino (Apr 30 2019 at 19:47, on Zulip):

I mean, one example is probably good to show some things

Santiago Pastorino (Apr 30 2019 at 19:47, on Zulip):

but then in specific areas you need one example per area

Santiago Pastorino (Apr 30 2019 at 19:48, on Zulip):

or something like that

nikomatsakis (Apr 30 2019 at 19:48, on Zulip):

I have a question for folks here

Iñaki Garay (Apr 30 2019 at 19:48, on Zulip):

Perhaps the stdlib could provide some examples?

Santiago Pastorino (Apr 30 2019 at 19:48, on Zulip):

but anyway, the important thing is to say ... at high level we want to connect rust code with rustc code :)

Iñaki Garay (Apr 30 2019 at 19:48, on Zulip):

as it probably uses all language features

nikomatsakis (Apr 30 2019 at 19:48, on Zulip):

have any of you read the existing rustc-guide chapter on queries?

nikomatsakis (Apr 30 2019 at 19:48, on Zulip):

Perhaps the stdlib could provide some examples?

I think it's too complex

nikomatsakis (Apr 30 2019 at 19:49, on Zulip):

it's easier to just make little bits of standalone code

nikomatsakis (Apr 30 2019 at 19:49, on Zulip):

have any of you read the existing rustc-guide chapter on queries?

the reason I ask is that I think this would sort of want to be part of any "tour" of the compiler

lokalmatador (Apr 30 2019 at 19:49, on Zulip):

have any of you read the existing rustc-guide chapter on queries?

not yet

Santiago Pastorino (Apr 30 2019 at 19:49, on Zulip):

@nikomatsakis I've done that in the past

Iñaki Garay (Apr 30 2019 at 19:49, on Zulip):

I skimmed it but did not fully comprehend

nikomatsakis (Apr 30 2019 at 19:49, on Zulip):

one of the weird things about queries is that you now code up the compiler kind of "backward", at least ideally -- starting with the result you want to produce, and tracing it back to the source (although this transition is not fully done), but I think it's easier to explain "forwards"

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

I skimmed it but did not fully comprehend

ok, so I'll try to explain that as part of it, and maybe we can improve the chapter

Iñaki Garay (Apr 30 2019 at 19:50, on Zulip):

I immediately mapped it to a prolog query

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

the truth is

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

looking at this page

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

it has a lot more details

Iñaki Garay (Apr 30 2019 at 19:50, on Zulip):

my questions pertain as to how accurate that mental model is

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

like, how to define new queries etc

nikomatsakis (Apr 30 2019 at 19:50, on Zulip):

my questions pertain as to how accurate that mental model is

not very ;)

nikomatsakis (Apr 30 2019 at 19:51, on Zulip):

maybe at some sufficiently atmospheric level of abstraction

Santiago Pastorino (Apr 30 2019 at 19:51, on Zulip):

hehe

nikomatsakis (Apr 30 2019 at 19:52, on Zulip):

like, how to define new queries etc

anyway I think these are not the part that is most relevant

nikomatsakis (Apr 30 2019 at 19:52, on Zulip):

like, it's good to document them, but I think I'd start with a different angle to explain how the system "fits together" and how to use it

Santiago Pastorino (Apr 30 2019 at 19:52, on Zulip):

so ... right now we have the idea to cover a high level / walk-through tour that @nikomatsakis was talking about

Santiago Pastorino (Apr 30 2019 at 19:53, on Zulip):

and also we have @Iñaki Garay that was covering the Ty lecture

Iñaki Garay (Apr 30 2019 at 19:53, on Zulip):

I think that overall a key improvement that the rustc guide needs is to present first a high level overview which can then be explored in depth

Amanjeev Sethi (Apr 30 2019 at 19:53, on Zulip):

I agree that page has a ton of stuff that does not seem like "a tour" to me.
The name Rustc University, frankly, painted a picture of courses and some rustc-101 to begin with.

Santiago Pastorino (Apr 30 2019 at 19:53, on Zulip):

I guess it could be nice to have the rest of the people that are willing to go over other parts

nikomatsakis (Apr 30 2019 at 19:53, on Zulip):

and also we have Iñaki Garay that was covering the Ty lecture

I'm wondering if there are "api docs" to be added as a result of that lecture

nikomatsakis (Apr 30 2019 at 19:54, on Zulip):

The name Rustc University, frankly, painted a picture of courses and some rustc-101 to begin with.

hmm, so an interesting place to start here might be adding some debug! into the compiler and showing how to see their output

nikomatsakis (Apr 30 2019 at 19:55, on Zulip):

I'm trying to think what "rustc 101" would be ;)

nikomatsakis (Apr 30 2019 at 19:55, on Zulip):

I am imagining stuff you can do without really modifying rustc deeply

not sure.

nikomatsakis (Apr 30 2019 at 19:56, on Zulip):

once self-profile is working ... profiling ...

Iñaki Garay (Apr 30 2019 at 19:56, on Zulip):

I'm wondering if there are "api docs" to be added as a result of that lecture

I'm still in the process of 'lowering' the spoken content to written form, and expected to review existing API docs as part of that process, especially for linking to datastructure definitions and subst code. If during that process I notice that content would be better located in the lib itself I can just PR there.

nikomatsakis (Apr 30 2019 at 19:56, on Zulip):

seems reasonable, I just thought it might be an area to "parallelize" as well

Santiago Pastorino (Apr 30 2019 at 19:58, on Zulip):

I am imagining stuff you can do without really modifying rustc deeply

not sure.

I think it would be nice to start with things like that

Amanjeev Sethi (Apr 30 2019 at 19:58, on Zulip):

I like @Iñaki Garay 's idea. Also when @Iñaki Garay said

Iñaki Garay: I think that overall a key improvement that the rustc guide needs is to present first a high level overview which can then be explored in depth

Santiago Pastorino (Apr 30 2019 at 19:58, on Zulip):

first step, let's build and be able to play with rustc

Iñaki Garay (Apr 30 2019 at 19:58, on Zulip):

Yes, this is a fundamental requirement

Santiago Pastorino (Apr 30 2019 at 19:59, on Zulip):

the meeting is finishing in 3 minutes :)

Iñaki Garay (Apr 30 2019 at 19:59, on Zulip):

I've built it but haven't played with the build output yet

Santiago Pastorino (Apr 30 2019 at 19:59, on Zulip):

so ... next steps?

Amanjeev Sethi (Apr 30 2019 at 19:59, on Zulip):

We can perhaps decide from the list of videos to start creating documents from them?

Santiago Pastorino (Apr 30 2019 at 19:59, on Zulip):

yes

Santiago Pastorino (Apr 30 2019 at 20:00, on Zulip):

from that I'd say, let's add your name next to the lecture

lokalmatador (Apr 30 2019 at 20:00, on Zulip):

as of anyways digging through rustc I could address this: 2. Compiler walk-through / tour

that be ok?

Amanjeev Sethi (Apr 30 2019 at 20:00, on Zulip):

(deleted)

Santiago Pastorino (Apr 30 2019 at 20:00, on Zulip):

and start working on them and ask questions

Iñaki Garay (Apr 30 2019 at 20:00, on Zulip):

One more issue I'd like to briefly mention: https://github.com/rust-lang/rustc-guide/issues/312
This is very easy to do

nikomatsakis (Apr 30 2019 at 20:00, on Zulip):

I forget, do we have some shared document listing the plan?

Santiago Pastorino (Apr 30 2019 at 20:00, on Zulip):

as of anyways digging through rustc I could address this: 2. Compiler walk-through / tour

that be ok?

do you have an specific idea there?

nikomatsakis (Apr 30 2019 at 20:00, on Zulip):

Anyway, I guess my job is to try and prep for that second lecture :)

Santiago Pastorino (Apr 30 2019 at 20:01, on Zulip):

@nikomatsakis https://paper.dropbox.com/doc/Learning-Working-Group-Ideas--AcO93hQNYKtFpznGOhn~VvuKAg-2R49k1GWZFojHIQ5x1fuB

nikomatsakis (Apr 30 2019 at 20:01, on Zulip):

(And somebody else can presumably volunteer to try and "transcribe" it)

Santiago Pastorino (Apr 30 2019 at 20:01, on Zulip):

it's not exactly a plan

lokalmatador (Apr 30 2019 at 20:01, on Zulip):

well, as it says - expanding what's there

nikomatsakis (Apr 30 2019 at 20:01, on Zulip):

OK, I was thinking we should make a "sprint doc" or something

nikomatsakis (Apr 30 2019 at 20:01, on Zulip):

kind of detailing out the steps we're taking now, though we could use issues too

nikomatsakis (Apr 30 2019 at 20:01, on Zulip):

(or just add a header to the top of that "ideas" doc)

Santiago Pastorino (Apr 30 2019 at 20:01, on Zulip):

@lokalmatador maybe sync about that with @nikomatsakis

lokalmatador (Apr 30 2019 at 20:02, on Zulip):

well, as it says - expanding what's there

my own walkthrough should probably allow me to do that

Santiago Pastorino (Apr 30 2019 at 20:02, on Zulip):

ahh ok ok

Santiago Pastorino (Apr 30 2019 at 20:02, on Zulip):

then go for it I'd say :)

nikomatsakis (Apr 30 2019 at 20:02, on Zulip):

sounds good to me

lokalmatador (Apr 30 2019 at 20:02, on Zulip):

lokalmatador maybe sync about that with nikomatsakis

I thought so when you were talking about the high level overview that allows exploring deeper...

Santiago Pastorino (Apr 30 2019 at 20:03, on Zulip):

great then :), the ones that want to transcribe something add your name next to the thing you will be working on

Santiago Pastorino (Apr 30 2019 at 20:03, on Zulip):

@lokalmatador in your case even next to the title or whatever you find it that is clear so we don't lose track of who is doing who

Santiago Pastorino (Apr 30 2019 at 20:03, on Zulip):

mainly to avoid two persons doing the same thing :)

Santiago Pastorino (Apr 30 2019 at 20:03, on Zulip):

I guess at some point we should migrate or organize this document better

lokalmatador (Apr 30 2019 at 20:04, on Zulip):

one thing, when studying (at university - years ago) this thing here helped me a lot: http://www.makelinux.net/kernel_map/

Santiago Pastorino (Apr 30 2019 at 20:04, on Zulip):

ok ,I guess this is all?

lokalmatador (Apr 30 2019 at 20:04, on Zulip):

would be cool for rust also I guess

lokalmatador (Apr 30 2019 at 20:04, on Zulip):

but maybe that's something for later

Santiago Pastorino (Apr 30 2019 at 20:05, on Zulip):

sounds good :)

Amanjeev Sethi (Apr 30 2019 at 20:05, on Zulip):

So we add our name to the lecture we want to transcribe.

The document to be created should be on Dropbox Paper?

Santiago Pastorino (Apr 30 2019 at 20:06, on Zulip):

@Amanjeev Sethi I guess the document created should probably be a PR to rustc-guides :)

Santiago Pastorino (Apr 30 2019 at 20:06, on Zulip):

so meanwhile I guess do whatever you want

Santiago Pastorino (Apr 30 2019 at 20:06, on Zulip):

@Iñaki Garay what are you specifically doing?

Amanjeev Sethi (Apr 30 2019 at 20:06, on Zulip):

ah! I see thanks for that clarification

Iñaki Garay (Apr 30 2019 at 20:07, on Zulip):

I'm expanding https://github.com/rust-lang/rustc-guide/blob/master/src/ty.md

Iñaki Garay (Apr 30 2019 at 20:07, on Zulip):

i.e. I'm adding the content to that chapter in particular. If it gets too long I was going to make subsections

Amanjeev Sethi (Apr 30 2019 at 20:07, on Zulip):

ok I will work in the rustc-guide as well then.

Amanjeev Sethi (Apr 30 2019 at 20:08, on Zulip):

and forked :slight_smile:

Santiago Pastorino (Apr 30 2019 at 20:08, on Zulip):

:+1:

Santiago Pastorino (Apr 30 2019 at 20:08, on Zulip):

well see you everyone :hi:

Amanjeev Sethi (Apr 30 2019 at 20:08, on Zulip):

alright folks, gotta run. nice meeting you all!

Iñaki Garay (Apr 30 2019 at 20:08, on Zulip):

thanks @Santiago Pastorino

Santiago Pastorino (Apr 30 2019 at 20:08, on Zulip):

let's keep asking questions around :)

nikomatsakis (Apr 30 2019 at 20:09, on Zulip):

one thing, when studying (at university - years ago) this thing here helped me a lot: http://www.makelinux.net/kernel_map/

this is the sort of graphic I was fantasizing about =)

nikomatsakis (Apr 30 2019 at 20:09, on Zulip):

(although a bit different, but maybe better)

lokalmatador (Apr 30 2019 at 20:09, on Zulip):

well, I guess it's more than 15 years old or so...

lokalmatador (Apr 30 2019 at 20:10, on Zulip):

and still looks the same as back then :grinning_face_with_smiling_eyes:

Amanjeev Sethi (Apr 30 2019 at 20:11, on Zulip):

Thanks @Santiago Pastorino and @nikomatsakis and the rest of the team. Really excited!

Amanjeev Sethi (May 02 2019 at 11:16, on Zulip):

@Julien you could go through some of the messages in this kick off meeting we had.

Last update: Nov 15 2019 at 21:20UTC