Stream: t-compiler/wg-polonius

Topic: meeting 2019.04.30


nikomatsakis (Apr 30 2019 at 18:59, on Zulip):

Hey @WG-polonius

nikomatsakis (Apr 30 2019 at 18:59, on Zulip):

So I realized that I was supposed to write more mentoring instructions for @Albin Stjerna -- I know I started this, but I don't think I finished it

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

Looking at polonius#104 it appears I did not :(

lqd (Apr 30 2019 at 19:02, on Zulip):

would having a meeting every two weeks instead of weekly possibly be helpful for your schedule ?

lqd (Apr 30 2019 at 19:02, on Zulip):

(or even less frequently?)

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

Well, I'm more consumed about keeping people's plates full :)

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

But maybe :)

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

One question is what is needed to best "unblock" people --

lqd (Apr 30 2019 at 19:04, on Zulip):

to check in, I've continued testing the "use the results of LocInsensitive in DatafrogOpt via the Hybrid analysis" to see the impacts on correctness and performance

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

I'm writing some quick notes about liveness, for example, but I suspect it would make sense for @Albin Stjerna and I (and others, of course!) to find some time to sync up and discuss as well

lqd (Apr 30 2019 at 19:05, on Zulip):

and barely started looking at the rustc test suite failures in more detail to try and categorize them

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

OK

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

on my side, still digging through rustc and some other things to get started with the profiling stuff

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

cool

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

are you making progress there? anything that would be helpful? :)

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

are you planning to use the self-profile infrastructure @lokalmatador ?

lqd (Apr 30 2019 at 19:07, on Zulip):

(I was also trying to have an idea of how impactful our unoptimized llvm ir was but that's not polonius related ;)

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

are you making progress there? anything that would be helpful? :)

not at that stage I guess, pretty basic stuff I'm doing, but later on I for sure :)

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

One thing I was thinking about

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

As the liveness work proceds

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

We're going to want to be able to do correctness testing

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

I think you mentioned @lqd that running with compare-mode polonius got a lot of mismatches?

lqd (Apr 30 2019 at 19:09, on Zulip):

yes indeed

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

(I was also trying to have an idea of how impactful our unoptimized llvm ir was but that's not polonius related ;)

yup, that's also one of the things I'm going through, since the docs have recently been updated

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

I think we should consider a work item of trying to "record" the expected results when polonius is enabled

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

i.e., so that we can get clean test runs

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

or at least decide on a reasonable test suite

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

(compare-mode has a way of committing new references, right?)

lqd (Apr 30 2019 at 19:10, on Zulip):

I think so yes

lqd (Apr 30 2019 at 19:10, on Zulip):

I was wondering about this as part of the categorizing work maybe

lqd (Apr 30 2019 at 19:11, on Zulip):

I think compare mode polonius also might behave differently wrt to "// ignore compare mode nll" so some of those failures might be related

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

I think compare mode polonius also might behave differently wrt to "// ignore compare mode nll" so some of those failures might be related

I don't quite understand that

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

I was wondering about this as part of the categorizing work maybe

what categorizing work?

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

(I just wrote up some mentoring instructions for liveness)

lqd (Apr 30 2019 at 19:13, on Zulip):

1) the tests have a way to mention they should be ignored for the nll compare mode, but the polonius compare mode doesn't ignore those by default, which is understandable

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

(I was also trying to have an idea of how impactful our unoptimized llvm ir was but that's not polonius related ;)

yup, that's also one of the things I'm going through, since the docs have recently been updated

ups, wrong quote, sorry...

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

right, so we could add similar annotations for polonius

lqd (Apr 30 2019 at 19:13, on Zulip):

right

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

that makes sense

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

come to think of it

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

(I was also trying to have an idea of how impactful our unoptimized llvm ir was but that's not polonius related ;)

yup, that's also one of the things I'm going through, since the docs have recently been updated

ups, wrong quote, sorry...

was referring to the self-profiling infrastructure...

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

well, I think we should run the results and inspect them, and either add alternate ref files or ignore annot as appropriate

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

was referring to the self-profiling infrastructure...

I figured :)

lqd (Apr 30 2019 at 19:15, on Zulip):

"categorizing work" is just me starting looking at tests failures and seeing whethera failure is "expected" (eg illegal subset relation) and should maybe have its output --blessed or if it's invalid (eg maybe those "ignore compare mode nll" which should also be ignored in the polonius compare mode)

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

I see

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

Personally, I lean towards blessing whenever possible, even if the output isn't what we ultimately want

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

i.e., I see the "stderr" files as tracking the known output of the compiler, not necessarily the correct output :)

lqd (Apr 30 2019 at 19:16, on Zulip):

well, I think we should run the results and inspect them, and either add alternate ref files or ignore annot as appropriate

pretty much this :)

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

it's useful to know when that changes

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

well, I think that'd be very useful work to do

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

it will pay off as we pursue moving more things into polonius

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

because there is basically no way to test for correctness apart from running rustc tests

lqd (Apr 30 2019 at 19:17, on Zulip):

I will continue to work on this in the following weeks

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

seems like @Albin Stjerna is not here today :(

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

tomorrow is May 1, so I guess all of you Europeans will be on holiday

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

yup

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

/me searches for an appropriate emoji, fails to find one

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

I guess :fist: will do

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

well not holidays, but at least day off - results in two mondays in one week somehow...

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

@lqd regarding the overall plan, I am feeling pretty good about this ordering:

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

but it woudl probably behoove me to try and "get ahead" of the plans

lqd (Apr 30 2019 at 19:19, on Zulip):

do you think you'd have time to read the illegal subset relations questions "some time soon" ?

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

and write out thoughts about moves etc

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

oh, right .. urg :) yes!

lqd (Apr 30 2019 at 19:19, on Zulip):

the ordering looks good

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

re: the region stuff, I expect to be trying to write out thoughts on this from the chalk perpsective

lqd (Apr 30 2019 at 19:20, on Zulip):

ah yes

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

I think I mentioned that the TL;DR is that I want chalk to basically translate the complex constraints into the simpler ones

lqd (Apr 30 2019 at 19:20, on Zulip):

right, and that work seems to be required sooni-ish

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

so I am hopeful that polonius will be able to make do with the simple concepts I introducd in the first blog post, which probably means that your PR is roughly right, modulo I guess that topic of error handling and maybe some details

lqd (Apr 30 2019 at 19:21, on Zulip):

(or at least a viable plan, for chalk/rustc integration)

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

one thing I also remember is that we never got very far in the "polonius explainer" videos

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

(I'd still like to try and dig into why polonius's rules are the way they are, and some of the complex tests.)

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

but I guess we can put that off for now perhaps

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

yeah I was wondering

lqd (Apr 30 2019 at 19:23, on Zulip):

it's super helpful and interesting but you might not have a lot of time

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

ok, so, in short term I will work with albin-s on the liveness primarily; next priority woudl be talking about how lark did moves, and trying to decide if that will work for rustc :)

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

it's super helpful and interesting but you might not have a lot of time

well it's also for me :) I'd like to remember... :P

lqd (Apr 30 2019 at 19:23, on Zulip):

sounds good

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

but yeah I dont' want to overcommit ( :laughter_tears:)

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

(more than I already have, that is ;)

lqd (Apr 30 2019 at 19:23, on Zulip):

we tend to need to re-remember why the rules are the way they are :)

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

all right y'all, later? :wave:

lqd (Apr 30 2019 at 19:25, on Zulip):

the plan sounds good, keep on working on liveness with Albin, check on regions thingies as part of wg-traits and rustc/chalk integration, and look into the moves plan (and focusing on correctness with the rustc test suite)

lqd (Apr 30 2019 at 19:25, on Zulip):

cheers everyone :) :wave:

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

bye!

Albin Stjerna (Apr 30 2019 at 19:47, on Zulip):

Oh no, I missed the meeting! I'm so sorry!

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

tomorrow is May 1, so I guess all of you Europeans will be on holiday

It's also worth mentioning that today is Walpurgis night in Sweden, and it's a Big Thing in my hometown. Which means that everyone has been drunk since Friday, there are probably people out burning furniture in the parks, and the city hospital has literally put out disaster tents to deal with all the alcohol poisoning and stitching people together from falling over, cutting themselves on broken glass, etc. This, and finishing up a PhD application is why I forgot about the meeting today

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

it's super helpful and interesting but you might not have a lot of time

I think this probably needs to or at least should happen for my thesis at some point, so I can be a driver in getting this work done! :)

Last update: Nov 15 2019 at 21:30UTC