Stream: wg-traits

Topic: weekly meeting 2019-02-11


tmandry (Feb 11 2019 at 18:38, on Zulip):

@nikomatsakis are we going to have a traits meeting today?

nikomatsakis (Feb 11 2019 at 18:39, on Zulip):

I figured yes, a short meeting

Sunjay Varma (Feb 11 2019 at 18:52, on Zulip):

:wave:

Alexander Regueiro (Feb 11 2019 at 18:58, on Zulip):

Hi

nikomatsakis (Feb 11 2019 at 19:00, on Zulip):

Gonna be a few minutes late, prior thing running over

Aaron Turon (Feb 11 2019 at 19:01, on Zulip):

:wave:

nikomatsakis (Feb 11 2019 at 19:03, on Zulip):

ok, here

nikomatsakis (Feb 11 2019 at 19:03, on Zulip):

sorry about that

nikomatsakis (Feb 11 2019 at 19:03, on Zulip):

so, I've not had a ton of time to get organized since the Rust All Hands, but I was thinking that a good topic for today

nikomatsakis (Feb 11 2019 at 19:04, on Zulip):

might be to talk a bit about next steps

nikomatsakis (Feb 11 2019 at 19:04, on Zulip):

we didn't really get to that in the meeting in the all hands itself, for better or worse

nikomatsakis (Feb 11 2019 at 19:05, on Zulip):

I had some ideas I wanted to float

nikomatsakis (Feb 11 2019 at 19:05, on Zulip):

first of all, I was thinking about how it might be good for us as a working group to do a bit of "meta analysis" about what the "Priority 1 problems" are that we aim to tackle

nikomatsakis (Feb 11 2019 at 19:05, on Zulip):

i.e., we've been focused a lot on chalk integration etc, which I am of course still committed to

nikomatsakis (Feb 11 2019 at 19:06, on Zulip):

but I was thinking that it's not really a goal in and of itself

nikomatsakis (Feb 11 2019 at 19:06, on Zulip):

I would probably say that the goals are:

nikomatsakis (Feb 11 2019 at 19:06, on Zulip):

maybe other things

nikomatsakis (Feb 11 2019 at 19:06, on Zulip):

my point being that some of those things -- e.g., GAT support -- might be achievable with today's solver too

nikomatsakis (Feb 11 2019 at 19:07, on Zulip):

and it might be .. useful to spend time talking about how the solver works and how that might be achieved

nikomatsakis (Feb 11 2019 at 19:07, on Zulip):

if nothing else it would help everybody learn how the code works, and maybe help us crystallize the challenges

nikomatsakis (Feb 11 2019 at 19:07, on Zulip):

to take a step back, I think what I'm proposing is that before we write any CODE, we should spend a bit of time doing more DESIGN

nikomatsakis (Feb 11 2019 at 19:08, on Zulip):

(related: there are some bugs around the area of the universe code that I landed that need to be fixed, and I think that might be an opportunity for us in a way. e.g., I was contemplating trying to do some zoom calls where we talk over what the universe code does, what the bug is, and what the fixes might look like)

nikomatsakis (Feb 11 2019 at 19:08, on Zulip):

Yeah so I guess concretely what I imagined is basically recorded zoom calls

nikomatsakis (Feb 11 2019 at 19:09, on Zulip):

I have to think a bit about the topics, but basically trying to (a) walk through the problem and (b) sketch out what it would look like in current system.

nikomatsakis (Feb 11 2019 at 19:09, on Zulip):

sort of Q&A periods

nikomatsakis (Feb 11 2019 at 19:09, on Zulip):

I feel like I have a lot of the knowledge, but there is "prep work" to be done, and there might be a way to do some of that prep work collaboratively

nikomatsakis (Feb 11 2019 at 19:09, on Zulip):

anyway i'll stop typing here I'm a bit curious to get some feedback from y'all (also, who's present exactly?)

nikomatsakis (Feb 11 2019 at 19:10, on Zulip):

oh also I think we forgot to cc @WG-compiler-traits

Sunjay Varma (Feb 11 2019 at 19:10, on Zulip):

:wave:

nikomatsakis (Feb 11 2019 at 19:10, on Zulip):

if so, and you're just showing up, um, sorry :)

Aaron Turon (Feb 11 2019 at 19:10, on Zulip):

so, i'm obviously new here, but this sounds great to me personally, as a way to start getting acclimated

nikomatsakis (Feb 11 2019 at 19:11, on Zulip):

oh yeah and let's all welcome @Aaron Turon, who wants to get involved :)

Sunjay Varma (Feb 11 2019 at 19:11, on Zulip):

Hi Aaron! :tada: :smile: :heart:

nikomatsakis (Feb 11 2019 at 19:11, on Zulip):

one other related thing: I plan to spin up a "T-lang" working group paired with this one, which would be focused on the lang specification part of chalk

nikomatsakis (Feb 11 2019 at 19:11, on Zulip):

e.g., deciding what the correct lowering rules are

Alexander Regueiro (Feb 11 2019 at 19:11, on Zulip):

welcome!

tmandry (Feb 11 2019 at 19:11, on Zulip):

Welcome Aaron!

nikomatsakis (Feb 11 2019 at 19:11, on Zulip):

since that decides the Rust semantics

nikomatsakis (Feb 11 2019 at 19:11, on Zulip):

e.g., @Sunjay Varma, the way we talked about the specialization lowering

Aaron Turon (Feb 11 2019 at 19:12, on Zulip):

<3 thanks all! i'm so excited to work on this with y'all

nikomatsakis (Feb 11 2019 at 19:12, on Zulip):

(though I sort of think the two things might "co-meet"? organizationally it's a bit unclear)

tmandry (Feb 11 2019 at 19:12, on Zulip):

the zoom calls sound great to me as well

Sunjay Varma (Feb 11 2019 at 19:12, on Zulip):

Yes good idea! I've actually got some time to work on specialization this week :)

nikomatsakis (Feb 11 2019 at 19:13, on Zulip):

/me ponders ponders ponders

Alexander Regueiro (Feb 11 2019 at 19:13, on Zulip):

@nikomatsakis so what's the best way for us to learn how Chalk works at a higher level and also the details of the code, you think? read the rustc section first, then do zoom calls? anything else?

nikomatsakis (Feb 11 2019 at 19:13, on Zulip):

@Alexander Regueiro an interesting question. I feel like hopefully one learn how chalk works in isolation

nikomatsakis (Feb 11 2019 at 19:14, on Zulip):

but this is sort of one of the things I'm wrestling with a bit

Alexander Regueiro (Feb 11 2019 at 19:14, on Zulip):

mmh

nikomatsakis (Feb 11 2019 at 19:14, on Zulip):

specifically, how much energy to invest in chalk

nikomatsakis (Feb 11 2019 at 19:14, on Zulip):

at this exact moment

nikomatsakis (Feb 11 2019 at 19:14, on Zulip):

e.g., we had started a bit introducing salsa to chalk etc

nikomatsakis (Feb 11 2019 at 19:14, on Zulip):

I still think those are useful things

tmandry (Feb 11 2019 at 19:14, on Zulip):

^ FWIW I really liked the chalk intro doc you started to write for the all-hands @nikomatsakis

scalexm (Feb 11 2019 at 19:14, on Zulip):

I’m ok with trying to implement said features within the existing trait solver

nikomatsakis (Feb 11 2019 at 19:15, on Zulip):

but I'm worried about spreading ourselves a bit thin? and thinking maybe it makes sense to start looking a bit at the rustc side first, if for no other reason then

nikomatsakis (Feb 11 2019 at 19:15, on Zulip):

maybe we can implement initial versions

nikomatsakis (Feb 11 2019 at 19:15, on Zulip):

and lower the "pressure"

scalexm (Feb 11 2019 at 19:15, on Zulip):

Although I’d rather use the time I have to push on chalk integration

nikomatsakis (Feb 11 2019 at 19:15, on Zulip):

it's not exactly exclusive eitehr

Alexander Regueiro (Feb 11 2019 at 19:15, on Zulip):

yeah, spreading ourselves thin is definitely a risk. my TODO list is long enough already (about half of it is trait-related)

Sunjay Varma (Feb 11 2019 at 19:15, on Zulip):

Niko is there a priority list of big things that need to be done? Maybe we can focus our work that way

nikomatsakis (Feb 11 2019 at 19:15, on Zulip):

@Sunjay Varma not exactly but I think drawing up such a thing is a good idea

tmandry (Feb 11 2019 at 19:16, on Zulip):

I find the existing solver confusing, but maybe it's just a lack of docs and calls over how it works

nikomatsakis (Feb 11 2019 at 19:16, on Zulip):

this is what I meant by P1 problems

Alexander Regueiro (Feb 11 2019 at 19:16, on Zulip):

@scalexm are you still focusing on bounds collection in the integration code?

nikomatsakis (Feb 11 2019 at 19:16, on Zulip):

I find the existing solver confusing, but maybe it's just a lack of docs and calls over how it works

don't get me wrong, I still want to replace it

nikomatsakis (Feb 11 2019 at 19:16, on Zulip):

I would probably say that the goals are:

that was my initial sort of list of "big problems today"

Sunjay Varma (Feb 11 2019 at 19:16, on Zulip):

@tmandry are you talking about these docs? https://github.com/rust-lang-nursery/chalk/blob/master/chalk-engine/src/README.md

Sunjay Varma (Feb 11 2019 at 19:16, on Zulip):

(I found them confusing too!)

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

No, I think @tmandry was talking about rustc's trait solver

Sunjay Varma (Feb 11 2019 at 19:17, on Zulip):

ohhh

Alexander Regueiro (Feb 11 2019 at 19:17, on Zulip):

@tmandry it is a bit. I've mainly fumbled my way around to get things done, but I don't think I understand the whole thing.

Aaron Turon (Feb 11 2019 at 19:17, on Zulip):

@nikomatsakis i might add to that list: there's at least one HRTB-related issue that's a big headache for async/await. i'm not sure whether it's also something that can be tackled prior to moving fully to chalk

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

yes!

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

so I feel like it would be good for us

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

to dig into the existing problems

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

and convince ourselves whether they can be solved another way

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

basically I think we should avoid the "everything is blocked on chalk" syndrome

nikomatsakis (Feb 11 2019 at 19:17, on Zulip):

unless of course it's really needed

nikomatsakis (Feb 11 2019 at 19:18, on Zulip):

let me start putting things into a paper doc

tmandry (Feb 11 2019 at 19:18, on Zulip):

sounds good. my main worry is that learning how two systems work is a lot of overhead for the WG, but not sure how true that is

nikomatsakis (Feb 11 2019 at 19:18, on Zulip):

then I think the way to proceed would be to kind of dig into those problems 1 by 1 interactively

Sunjay Varma (Feb 11 2019 at 19:18, on Zulip):

So which of these is top priority? Maybe we can focus on just one or two things instead of all of it?

tmandry (Feb 11 2019 at 19:18, on Zulip):

OTOH, maybe learning how the old one system works is also helpful as we work on implementation of the new one

Aaron Turon (Feb 11 2019 at 19:18, on Zulip):

@tmandry i wonder whether it might make sense on a person-by-person basis to "specialize" in one or the other, unsure

nikomatsakis (Feb 11 2019 at 19:19, on Zulip):

ok, this is our WG-traits paper document

nikomatsakis (Feb 11 2019 at 19:19, on Zulip):

OTOH, maybe learning how the old one system works is also helpful as we work on implementation of the new one

I think it will be

nikomatsakis (Feb 11 2019 at 19:19, on Zulip):

that said

Alexander Regueiro (Feb 11 2019 at 19:19, on Zulip):

@tmandry it may really delay things though... I think a minimal understanding of the old system necessary to do stuff in Chalk is the way to go, personally.

nikomatsakis (Feb 11 2019 at 19:19, on Zulip):

I think that the idea should be -- we should dig into the problems first, but as we setup a plan, and more people get involved, they don't necessarily have to do all the things

tmandry (Feb 11 2019 at 19:20, on Zulip):

@tmandry i wonder whether it might make sense on a person-by-person basis to "specialize" in one or the other, unsure

yes, my feeling is this will happen naturally

nikomatsakis (Feb 11 2019 at 19:20, on Zulip):

I'm going to have to leave sharply at 2:30 today but

nikomatsakis (Feb 11 2019 at 19:20, on Zulip):

I think we should work by nominating actual bugs

nikomatsakis (Feb 11 2019 at 19:20, on Zulip):

and/or problems

nikomatsakis (Feb 11 2019 at 19:20, on Zulip):

and at least spend some time digging into them

Aaron Turon (Feb 11 2019 at 19:21, on Zulip):

here's the async-related issue, https://github.com/rust-lang/rust/issues/51004

nikomatsakis (Feb 11 2019 at 19:22, on Zulip):

@Aaron Turon can you add it into the paper

nikomatsakis (Feb 11 2019 at 19:22, on Zulip):

one specific bug I am thinking of starting with is

nikomatsakis (Feb 11 2019 at 19:23, on Zulip):

https://github.com/rust-lang/rust/issues/57639

nikomatsakis (Feb 11 2019 at 19:23, on Zulip):

because it is a regression

nikomatsakis (Feb 11 2019 at 19:23, on Zulip):

and because it's assigned to me to fix :P

nikomatsakis (Feb 11 2019 at 19:23, on Zulip):

the idea would be to start by explaining the change I made that caused it

nikomatsakis (Feb 11 2019 at 19:23, on Zulip):

cover a bit the solver etc

nikomatsakis (Feb 11 2019 at 19:24, on Zulip):

let's just try that out and see how it goes, and then we'll proceed to other things?

Aaron Turon (Feb 11 2019 at 19:24, on Zulip):

sounds great!

nikomatsakis (Feb 11 2019 at 19:24, on Zulip):

if so, let's do the recorded video thing... hmm .. probably tomorrow?

nikomatsakis (Feb 11 2019 at 19:24, on Zulip):

or wednesday

Aaron Turon (Feb 11 2019 at 19:24, on Zulip):

either works for me

nikomatsakis (Feb 11 2019 at 19:25, on Zulip):

I'd like to get going sooner rather than later

tmandry (Feb 11 2019 at 19:25, on Zulip):

my schedule is pretty open as well

nikomatsakis (Feb 11 2019 at 19:25, on Zulip):

I could do tomorrow at noon UTC-5 (Boston time)

Sunjay Varma (Feb 11 2019 at 19:26, on Zulip):

I probably won't be able to make it but I'll watch the recording :smiley:

Alexander Regueiro (Feb 11 2019 at 19:26, on Zulip):

same

Sunjay Varma (Feb 11 2019 at 19:27, on Zulip):

I could do 1:30 pm if you can make it then (no problem if that doesn't work)

nikomatsakis (Feb 11 2019 at 19:27, on Zulip):

I can't do that tomorrow

nikomatsakis (Feb 11 2019 at 19:27, on Zulip):

I could do later today maybe (15:30 UTC-5 -- i.e., in ~1 hour)

nikomatsakis (Feb 11 2019 at 19:27, on Zulip):

but I'm wondering if I'm going to want some time to prepare a bit and/or have other things I have to do

nikomatsakis (Feb 11 2019 at 19:27, on Zulip):

so prob better to do tomorrow

nikomatsakis (Feb 11 2019 at 19:27, on Zulip):

ok, I will add a calendar invite, anybody who wants on ping me

nikomatsakis (Feb 11 2019 at 19:28, on Zulip):

I have to figure out some way to do a more subscribable calendar sometime

nikomatsakis (Feb 11 2019 at 19:28, on Zulip):

(I guess there are ways to make calendars one can subscribe to...)

Aaron Turon (Feb 11 2019 at 19:28, on Zulip):

yeah, google calendar makes this reasonably easy

Sunjay Varma (Feb 11 2019 at 19:28, on Zulip):

varma.sunjay@gmail.com

tmandry (Feb 11 2019 at 19:29, on Zulip):

you can invite me as well

tmandry (Feb 11 2019 at 19:29, on Zulip):

also, maybe it would be good to start linking to the uploaded videos in the paper doc, so people can find them easily

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

ok, so, invite is sent

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

I will at a later point figure out how public calendars work :)

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

oh, regarding videos

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

I plan to create a repository for this working group

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

and have all the links there

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

well, and/or maybe a subdirectory of the the https://github.com/rust-lang/compiler-team repository?

nikomatsakis (Feb 11 2019 at 19:32, on Zulip):

it's been on my to do list for a while, either way

nikomatsakis (Feb 11 2019 at 19:33, on Zulip):

so I hope to get that done asap

Alexander Regueiro (Feb 11 2019 at 19:36, on Zulip):

should work yeah

Sunjay Varma (Feb 12 2019 at 15:56, on Zulip):

Good news! I'll be there for the meeting today. :smile: There's a snowstorm here today, so everything I had scheduled got cancelled! :snowstorm:

Last update: Nov 18 2019 at 01:20UTC