Stream: t-compiler/wg-polonius

Topic: meeting 2019.03.21


nikomatsakis (Mar 21 2019 at 20:02, on Zulip):

Hey @WG-polonius -- sync? I might be a bit afk for new few minutes though

nikomatsakis (Mar 21 2019 at 20:03, on Zulip):

Also, is this time still .. good? Should we change it?

nikomatsakis (Mar 21 2019 at 20:03, on Zulip):

Also, I won't be able to make next week :)

Albin Stjerna (Mar 21 2019 at 20:03, on Zulip):

ACK! It works OK for me!

nikomatsakis (Mar 21 2019 at 20:03, on Zulip):

So you are working on running the benchmarks, I see

Albin Stjerna (Mar 21 2019 at 20:03, on Zulip):

Let's see how I feel about it after DST changes etc though

nikomatsakis (Mar 21 2019 at 20:04, on Zulip):

and I was wondering if you'd done anything with the liveness stuff

nikomatsakis (Mar 21 2019 at 20:04, on Zulip):

(that we did the call about last time)

nikomatsakis (Mar 21 2019 at 20:04, on Zulip):

also, I guess I have to publish something, don't I?

nikomatsakis (Mar 21 2019 at 20:04, on Zulip):

(a new version of polonius)

Albin Stjerna (Mar 21 2019 at 20:04, on Zulip):

Yes, it's incredibly slow going though because I keep running into problems like "I need a Linux VM" or "perf has the wrong permissions", etc; nothing I can't handle, but it just takes time.

Albin Stjerna (Mar 21 2019 at 20:04, on Zulip):

Yes, and accept my PR!

Albin Stjerna (Mar 21 2019 at 20:05, on Zulip):

Then I can submit the rustc PR using the new hybrid Polonius, and start running benchmarks

Albin Stjerna (Mar 21 2019 at 20:06, on Zulip):

I haven't looked at liveness yet, and I'm honestly not really sure where to start (sorry; I feel like I need a lot more hand-holding on this project than I usually do and had expected)

nikomatsakis (Mar 21 2019 at 20:06, on Zulip):

Oh, no worries at all. That's why I'm asking. :)

nikomatsakis (Mar 21 2019 at 20:06, on Zulip):

Let me try to assemble a "bullet list" of steps

Albin Stjerna (Mar 21 2019 at 20:06, on Zulip):

I have a...graph, but it's hand-written and mostly in Swedish

Albin Stjerna (Mar 21 2019 at 20:06, on Zulip):

Fortunately it's not yet cyclic

nikomatsakis (Mar 21 2019 at 20:06, on Zulip):

I'm trying to think where to put that list

nikomatsakis (Mar 21 2019 at 20:06, on Zulip):

A graph?

nikomatsakis (Mar 21 2019 at 20:06, on Zulip):

Of steps you mean? :)

Albin Stjerna (Mar 21 2019 at 20:07, on Zulip):

Yes, or rather "things to investigate"

Albin Stjerna (Mar 21 2019 at 20:07, on Zulip):

Not everything on it is actionable

nikomatsakis (Mar 21 2019 at 20:07, on Zulip):

OK

Albin Stjerna (Mar 21 2019 at 20:07, on Zulip):

However I have read your blog post on kinds; I don't have a great idea for a solution, but I think I understood enough to know what to ask the optimisation/constraint people I know about it and see what they can shake down

nikomatsakis (Mar 21 2019 at 20:07, on Zulip):

I am trying to get this stuff back in my head

nikomatsakis (Mar 21 2019 at 20:08, on Zulip):

I am confused, sorry

nikomatsakis (Mar 21 2019 at 20:08, on Zulip):

what are you talking about ? :)

nikomatsakis (Mar 21 2019 at 20:08, on Zulip):

"kinds"?

Albin Stjerna (Mar 21 2019 at 20:08, on Zulip):

That's ok, we are talking about four different things at the same time

nikomatsakis (Mar 21 2019 at 20:09, on Zulip):

I feel like we're working towards the goal of extending polonius to handle a wider range of errors. And, initially, working on having it do the liveness computation.

nikomatsakis (Mar 21 2019 at 20:09, on Zulip):

Let's just start there

Albin Stjerna (Mar 21 2019 at 20:09, on Zulip):

Correction: I meant trait-matching, sorry, I'm still wrapping my head around the terminology

nikomatsakis (Mar 21 2019 at 20:10, on Zulip):

Oh, I see. I wouldn't worry about that. It's not really a polonius concern.

nikomatsakis (Mar 21 2019 at 20:10, on Zulip):

(You mean the post about higher-ranked region constraints?)

nikomatsakis (Mar 21 2019 at 20:10, on Zulip):

I mean we can talk about it :) but I think ultimately it's more of a trait matching problem, and the tricky bits will be solved by layers atop polonius

Albin Stjerna (Mar 21 2019 at 20:11, on Zulip):

Yes, the hereditary harrop one (it is kind of fun to say)

nikomatsakis (Mar 21 2019 at 20:11, on Zulip):

Polonius itself (I believe) only needs to worry about the simple case of outlives relations

Albin Stjerna (Mar 21 2019 at 20:11, on Zulip):

Ah, so you pre-solve in Chalk or similar, and then hand the region logic parts to Polonius

nikomatsakis (Mar 21 2019 at 20:11, on Zulip):

more or less yes

nikomatsakis (Mar 21 2019 at 20:11, on Zulip):

that is the plan I have in mind, at least

nikomatsakis (Mar 21 2019 at 20:11, on Zulip):

I've actually built some prototypes of this, but I haven't had time to make them really work

nikomatsakis (Mar 21 2019 at 20:12, on Zulip):

not to say I'm not interested in hearing from people about good solutions :)

Albin Stjerna (Mar 21 2019 at 20:12, on Zulip):

Makes sense, except that there might be some ingenious problem decomposition you could use to accelerate the solving, but I guess that's something to investigate once everything is working and there are benchmarks

nikomatsakis (Mar 21 2019 at 20:12, on Zulip):

yeah

nikomatsakis (Mar 21 2019 at 20:12, on Zulip):

I guess the main point is that there are enough problems to solve

nikomatsakis (Mar 21 2019 at 20:12, on Zulip):

without worrying about those region constraints :)

Albin Stjerna (Mar 21 2019 at 20:12, on Zulip):

err yes

nikomatsakis (Mar 21 2019 at 20:13, on Zulip):

ok, so I will try to write up some step-by-step instructions on liveness

nikomatsakis (Mar 21 2019 at 20:13, on Zulip):

in ~30 minutes :)

nikomatsakis (Mar 21 2019 at 20:13, on Zulip):

also land your PR and publish :)

Albin Stjerna (Mar 21 2019 at 20:13, on Zulip):

I'm going to bed in ~90 minutes anyway so no rush :)

nikomatsakis (Mar 21 2019 at 20:15, on Zulip):

you will continue messing with benchmarks, make the hybrid change (once polonius-engine is published), and hopefully pursue those mentoring instructions a bit

nikomatsakis (Mar 21 2019 at 20:15, on Zulip):

sounds good?

Albin Stjerna (Mar 21 2019 at 20:15, on Zulip):

Sounds good!

nikomatsakis (Mar 21 2019 at 20:15, on Zulip):

w/r/t the benchmarks, we clearly need to pick a subset of interesting ones

Albin Stjerna (Mar 21 2019 at 20:15, on Zulip):

Yes, they take ages

nikomatsakis (Mar 21 2019 at 20:15, on Zulip):

but I guess getting the whole thing up and going is a good first step

nikomatsakis (Mar 21 2019 at 20:16, on Zulip):

I'm trying to thikn of what criteria to use :)

nikomatsakis (Mar 21 2019 at 20:16, on Zulip):

I don't thikn I'll have time to get that good thought this over next week but who knows

nikomatsakis (Mar 21 2019 at 20:16, on Zulip):

ps next week i'm at a conference and likely can't make this time

Albin Stjerna (Mar 21 2019 at 20:17, on Zulip):

With any luck I've started to be reasonably independent on the liveness analysis

nikomatsakis (Mar 21 2019 at 20:17, on Zulip):

cool, i'm gonna run then! I gotta take care of something "afk" here for a bit. i'll be back later and try to get those mentoring instructions up.

Albin Stjerna (Mar 21 2019 at 20:17, on Zulip):

Ok, thanks!

nikomatsakis (Mar 21 2019 at 20:17, on Zulip):

With any luck I've started to be reasonably independent on the liveness analysis

yeah, that's partly what I'm hoping :) I'll be around online anyway earlier in the week, though likely busy

Albin Stjerna (Mar 21 2019 at 20:23, on Zulip):

Yeah don't worry; I can probably find something in the benchmarking section to work on, or continue teaching myself Rust

nikomatsakis (Mar 21 2019 at 21:21, on Zulip):

@Albin Stjerna I created polonius#104 and added some initial mentoring instructions in there

Matthew Jasper (Mar 21 2019 at 21:26, on Zulip):

Since this hasn't been mentioned. I guess I'll just point out that this doesn't quite allow us to have parity with the facts we get from rustc. We also use initializedness to make drop liveness more accurate. This should still be good enough for now.

nikomatsakis (Mar 21 2019 at 21:38, on Zulip):

@Matthew Jasper yeah, good point, we'll work our way there though :)

nikomatsakis (Mar 21 2019 at 21:38, on Zulip):

I forgot about that though

Matthew Jasper (Mar 21 2019 at 21:39, on Zulip):

Indeed, one thing at a time.

Last update: Nov 15 2019 at 20:20UTC