Stream: t-compiler/wg-polonius

Topic: meeting 2019.03.07


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

Hey all! Oh, it seems we lack a WG-polonius User Group!

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

I may be a few minutes late=)

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

give me 5 mins

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

cc @Albin Stjerna, @Matthew Jasper, not sure who else ;)

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

You all around?

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

I'm around

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

OK, I created a @WG-polonius with some initial folks -- you all can add yourselves if you would like

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

Well, what I had hoped to do today was to try to pick up some concrete next steps

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

I seem to be having some connectivity problems with Zulip, but err testing testing check check

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

Hi @Albin Stjerna =)

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

I created this Dropbox Paper document a while back

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

It seems that...traffic to Google, Facebook and a few others work great, but I have essentially NO bandwidth to...anything else

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

oh dear

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

Ok, now Zulip seems to work, finally

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

Might have been a temporary ISP thing or something

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

in that paper I broke out four big categories:

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

I started to download a VPN app in case there was some sort of traffic shaping and the transfer speed was...850 bytes/s

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

Ok, yeah I saw

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

Some of those are not "purely" one thing or the other -- notably, some of the "extending polonius" things probably require tweaking rustc too, to generate the requisite facts

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

I'm not sure how many people are around to work on things right now, but I was thinking a bit about it and I thought it might be good for @Albin Stjerna to start with a kind of "starter issue"--

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

actually, @Matthew Jasper, you might remember, but I think that we currently force you to choose between the "location insensitive" algorithm and the "full" algorithm

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

we don't have a hybrid that uses location insensitive unless there are errors, and then does otherwise, right?

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

Yes, I don't think that a hybrid exists yet. Not even the simplistic kind.

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

Right, I figured we'd start with a very simplistic one

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

(We can do better eventually)

lqd (Mar 07 2019 at 21:16, on Zulip):

we don't have a hybrid indeed

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

So @Albin Stjerna, for context, the Polonius repository currently lets you choose between a few different "algorithms", basically different implementations of the same concept

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

@nikomatsakis Yes please starter issue

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

One of them is called "location insensitive" -- it is basically an approximate analysis that gives strictly more errors than the full analysis, because it ignores location information

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

but for many examples it is "good enough" to rule out errors

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

it's not useful on its own, but it can be used as a "pre-screen" -- basically, first try this, and only if we get errors do we proceed to the heavier, complete analysis

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

Signed, Confused About Everything

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

(the next level is that we could actually use the results of the location insensitive check to make the full check faster, since it gives us some hints about where within a particular function errors might occur)

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

So a starter issue is probably to add a kind of "hybrid" algorithm that does this simple check

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

which I figure would be good at getting your feet wet

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

I...guess this can be done locally to Polonius

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

Ah, Ok, and that would be done in the Polonius repo then, using Datafrog et al?

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

Yes--actually, I wonder, @lqd or @Matthew Jasper do you think one of you could help @Albin Stjerna through that?

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

I suspect both of you know the repo well enough to do so

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

e.g., maybe we create an issue, and you can write up some brief mentoring instructions?

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

and/or just talk over Zulip :)

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

Well, possibly it doesn't even need much datafrog stuff.

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

I'll be away on vacation next week, but other than that, sure

lqd (Mar 07 2019 at 21:21, on Zulip):

unlikely to need datafrog yeah

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

Well, possibly it doesn't even need much datafrog stuff.

yes, I don't think for this first round you would actually have to touch datafrog

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

it's kind of at a level higher

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

Wait, I'm not following what this new algorithm would be a hybrid between, if you already have the location insensitive version?

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

if we then try to go the next step, and actually feed the results from the insensitive analysis to the more sensitive one, you would need datafrog

lqd (Mar 07 2019 at 21:21, on Zulip):

a kind of bridge between this lighter version and the full version, in a single algorithm

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

If someone wants to create an issue and assign it to me I can write up instructions over the weekend.

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

Ah, ok, so it would be the location insensitive plus error export

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

Wait, I'm not following what this new algorithm would be a hybrid between, if you already have the location insensitive version?

basically it would do this (pseudocode):

IF (insensitive algorithm has errors) {
  run sensitive algorithm
} else {
  return no errors
}
Albin Stjerna (Mar 07 2019 at 21:22, on Zulip):

Aaah ok!

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

ok, let me open up an issue right quick

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

and @Matthew Jasper can leave some notes

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

also, dang it, I'm going to transfer https://github.com/rust-lang-nursery/polonius to the rust-lang GH org

lqd (Mar 07 2019 at 21:23, on Zulip):

(might require fiddling about with cloning the facts, and not adding the universal regions everywhere)

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

yeah, might require some annoyance

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

which reminds me, we should try to refactor some of that stuff

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

Do we have any idea what I might be working on after this, given that you described it as a starter issue? For my abstract/project plan mostly? If not, I can of course just fudge something vague about "improving the borrow checker by integrating context-based analysis" etc

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

Which also has the convenient side-effect of sounding much cooler than "writing a glorified if statement"

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

I was going to propose that, beyond this, we would focus on the "extending Polonius to cover Rust semantics" bit

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

Ah, ok, sounds good!

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

Though I think that focusing on perf might also be a good thing

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

Also, @lqd, we should really land your PR :P

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

I was going to put that as my task of the week :)

lqd (Mar 07 2019 at 21:25, on Zulip):

which one ?

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

Haha, never a good thing when that's the response

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

the one about subset relations

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

well, I want to read it first anyway

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

I think I read it at some point ;)

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

Anyway, that brings me to another question

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

Well, I think that getting as much in Polonius first, then optimising is probably the better way to go. I don't see how we can optimize liveness easily if we do the calculation in rustc but only know if it's needed in polonius.

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

(Well, first of all, for your write-up @Albin Stjerna I think you could crib from the existing roadmap material -- I'm kind of hoping we can do all of that in your time working on Polonius :)

lqd (Mar 07 2019 at 21:27, on Zulip):

I think we need some refactoring, renaming, cleaning up etc

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

Well, I think that getting as much in Polonius first, then optimising is probably the better way to go.

This was precisely my thinking

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

Also, we may find we did some optimization, but then we discover that it doesn't work in the broader context

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

The initial perf runs that @Santiago Pastorino did were kind of "roughly what I expected"

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

that is to say, pretty dang bad ;)

lqd (Mar 07 2019 at 21:28, on Zulip):

Also, we may find we did some optimization, but then we discover that it doesn't work in the broader context

à la CFG compression :) (but we might end up needing it)

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

well, anyway, I mostly mean that I didn't see anything that made me think it'd be better to optimize first

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

It turns out running a borrow check and two half borrow checks is slow. :grinning:

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

heh yes :)

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

so, on the topic o fthe roadmap, what I wanted to add is

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

maybe we can talk a bit about "presentations and context we can give"

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

Here are some ideas I had:

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

I'm finding that giving and recording talks is a lot less overhead to produce than writing docs, so I'm currently inclined that way

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

That all sounds useful!

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

but tell me if you feel like that's a wrong emphasis :)

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

in my ideal world, I'd love to work with someone to write docs, based on the talk, which would also help said person (cough cough) to sharpen their own understanding :P

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

(I still want to try setting loose a constraint solver on the same problem and see how it performs; probably worse)

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

oh definitely, I'd love to know

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

I'll just have to write the solver first since there isn't really one in Rust ;)

lqd (Mar 07 2019 at 21:32, on Zulip):

what kind of solver do you need ?

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

ok ok off topci

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

take it to a separate Zulip topic :P

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

Yes, sorry!

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

I'm wondering what other things might be useful :)

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

Other thoughts I had were:

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

OK, I guess that's a good list

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

For me, I think mainly very basic things would be the most useful; a quick walkthrough of the code I will be working on, that sort of thing

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

Yeah, so, I think what we can do

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

That is not to say that this is the most useful thing for everyone and therefore what you should prioritise

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

When we begin the first "real" task

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

Is we can do a video sort of walking through the relevant bits of code

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

I was thinking a good next task for you @Albin Stjerna might be

Integrating move / overwrite analysis (a la Lark)

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

Yes! I had a question about that!

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

...what is Lark

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

both because I kind of did some of the preliminary work (in Lark) and because it's a big step towards the goal of making Polonius "take charge" of more of the borrow checker

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

And this is after the if statement you described above, right?

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

...what is Lark

such a deep question :)

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

Lark is a compiler / language that I was working on with a few other folks

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

It was kind of us just messing around

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

and I wish I had time to work on it more :P

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

but regardless it had a borrow-checker like setup

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

Moverwrite analysis

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

The relevant code in Lark

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

Probably not very well documented

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

since I think I wrote it in the wee hours over xmas break before my daughter would wake up :P

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

actually, I'm planning next week to give a talk on the Lark type checker, and I might cover some of this stuff

lqd (Mar 07 2019 at 21:38, on Zulip):

I was wondering if working on the location insensitive analysis would be a worthwhile roadmap item ? to see if we could make it closer to the NLL insensitive analysis and produce less false positives, or would sharing the partial results between the 2 analyses may be enough to still be fast enough, I'm not sure

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

(that is part of the RLS 2.0 effort)

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

I was wondering if working on the location insensitive analysis would be a worthwhile roadmap item ? to see if we could make it closer to the NLL insensitive analysis and produce less false positives, or would sharing the partial results between the 2 analyses may be enough to still be fast enough, I'm not sure

yeah, probably

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

actually, it's already on there

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

ah sorry

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

under Rustc Performance

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

In that sense, this "starter issue" that I proposed isn't really working towards the main goal

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

(if we are going to focus on completeness first)

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

so maybe it's not the best choice

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

but it seemed like it wouldn't be too hard

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

and it would get @Albin Stjerna more familiar with the basic setup

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

I'm open to other ideas :)

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

Do you intend to keep NLL around after Polonius is finished?

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

Also, what is the difference between NLL and Polonius?

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

I thought Polonius was an implementation of the NLL concept so to speak?

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

(this is, now that I think about it, one of the questions I wrote down for future meetings)

lqd (Mar 07 2019 at 21:41, on Zulip):

if completeness is a goal of interesting, maybe move/overwrite analysis then, Lark's is small, it uses datafrog so it's more polonius-y

lqd (Mar 07 2019 at 21:41, on Zulip):

I'll speak for myself but I describe Polonius as NLL 2.0

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

NLL is referring to the current region solver used by the MIR borrow checker

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

I think NLL 2.0 is a good description

lqd (Mar 07 2019 at 21:42, on Zulip):

that is, NLLs, + the use cases we decided to do later, + other extensions

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

though really Polonius doesn't have "lifetimes"

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

in the same sense

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

NLR

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

but more like "provenance" (i.e., it tracks where the pointers could have come from)

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

(credit to @Aaron Weiss for choosing that term ;)

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

if completeness is a goal of interesting, maybe move/overwrite analysis then, Lark's is small, it uses datafrog so it's more polonius-y

hmm, you mean as a "starter goal"? I feel like it's a bit more involved

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

/me thinks

lqd (Mar 07 2019 at 21:43, on Zulip):

maybe yeah

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

I still feel like the hybrid thing is good :)

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

it won't take that long

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

in the meantime, let me think about what would be a good talk to do that tries to get into how move/init might work, because I think that's a good first "real goal"

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

that will be a bit trickier because it will semi-intersect rustc

lqd (Mar 07 2019 at 21:46, on Zulip):

maybe there can be a stepping stone between the 2

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

And the existing code is a pain to understand.

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

@Matthew Jasper do you mean the code in rustc?

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

Yes

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

Music to my ears

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

Yeah, I am wondering -- is there refactorings we can do there?

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

That might be a good "stepping stone" sort of issue

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

It's OK by rustc standards, I guess.

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

Ok, but the move/init code would be done in/on rustc itself?

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

No, the idea is to add some fact generation to rustc, move the checking to polonius and keep the error reporting in rustc.

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

Ah, OK

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

Is this the intended final design as well, to have polonius be sort of a separate component?

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

Or is it just what you are going with for now?

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

that is the intended final design

lqd (Mar 07 2019 at 21:51, on Zulip):

unfortunate that the last polonius blogpost is the more complicated higher rank subregions; there are things I haven't finished for the previous post though, some rustc facts generation to be precise

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

however, I don't know whether the current interface will remain

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

in particular, right now we deliver "big vectors", maybe we'll want to tweak that?

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

but I do want to retain the idea of there being a crate boundary with a defined interface

lqd (Mar 07 2019 at 21:52, on Zulip):

probably

lqd (Mar 07 2019 at 21:52, on Zulip):

maybe somewhat of a 2-staged process if fact generation turns out to be heavy, which we'll know more after the initial perf investigations ?

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

yeah, we'll see

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

ok, so I'm happy with the plan for this week, let me open that issue on the polonius repo

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

I made tasks for each of us in the paper, everybody agree? :)

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

looks good!

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

ah that reminds me, I wanted to ask about this one:

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

Schedule a walkthrough of how polonius code works

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

I think this is a good idea, and i'm happy to give the talk, but it occurred to me that maybe @lqd or @Matthew Jasper you might also enjoy doing so

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

this was the idea of trying to connect the "theory" to the actual code

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

but yeah no pressure :) speaking and being recorded is not everybody's thing

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

and I know @lqd you'll be on vacation anyway

lqd (Mar 07 2019 at 21:56, on Zulip):

:)

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

(though we wouldn't have to do it next week, but it might be good to do so)

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

Starting Wednesday this week (it's Friday for me now), I will be in a more reasonable time zone as well

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

I'm not sure I'm familiar enough with the polonius crate to give a talk on it.

lqd (Mar 07 2019 at 21:58, on Zulip):

I could write docs about the parts I'm familiar with

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

@Albin Stjerna what's your GH user name btw?

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

@Albin Stjerna it would be helpful to me if you made another doodle poll concerning the walk through btw

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

I will make a topic

nikomatsakis (Mar 07 2019 at 22:01, on Zulip):

I could write docs about the parts I'm familiar with

I was going to ask about that -- I suspect polonius itself needs more docs

Albin Stjerna (Mar 07 2019 at 22:01, on Zulip):

@nikomatsakis Will do! And it's albins

lqd (Mar 07 2019 at 22:02, on Zulip):

ok I'll try and write some when I'm back

Albin Stjerna (Mar 07 2019 at 22:03, on Zulip):

(because I'm on Mars or something, I get messages in batches, intermittently)

nikomatsakis (Mar 07 2019 at 22:04, on Zulip):

Oh, one other adminstrative thing

nikomatsakis (Mar 07 2019 at 22:05, on Zulip):

The compiler team has been working on our "crates policy"

nikomatsakis (Mar 07 2019 at 22:05, on Zulip):

and I'm pretty sure polonius doesn't comply

nikomatsakis (Mar 07 2019 at 22:05, on Zulip):

I will open an issue, but we should make a few changes to bring it in sync

nikomatsakis (Mar 07 2019 at 22:05, on Zulip):

Most notably, we should point to the Polonius WG as the maintainers, and point people at the Zulip

nikomatsakis (Mar 07 2019 at 22:05, on Zulip):

and probably align our issue labels

lqd (Mar 07 2019 at 22:05, on Zulip):

and datafrog as well (I think the WG doesn't have write perms on it anymore)

nikomatsakis (Mar 07 2019 at 22:06, on Zulip):

ah yeah

nikomatsakis (Mar 07 2019 at 22:06, on Zulip):

let me fix that stuff up

nikomatsakis (Mar 07 2019 at 22:06, on Zulip):

I'm still feeling uncertain about GH permission setup :/

lqd (Mar 07 2019 at 22:06, on Zulip):

GH's requiring write perms just for issues and such is a bit unfortunate

lqd (Mar 07 2019 at 22:07, on Zulip):

wg-meta and t-infra will figure it out :)

nikomatsakis (Mar 07 2019 at 22:07, on Zulip):

yeah, we need to schedule a meeting for that...

nikomatsakis (Mar 07 2019 at 22:08, on Zulip):

I'll go open a topic on that

Albin Stjerna (Mar 07 2019 at 22:11, on Zulip):

Ok, I sense that the meeting is kind of winding up, so let me check if I have any other questions before everyone else leaves

nikomatsakis (Mar 07 2019 at 22:11, on Zulip):

OK =) (also, @Albin Stjerna, you should accept the invitation to the rust-lang org that I just sent you -- this link may work, but maybe not)

lqd (Mar 07 2019 at 22:12, on Zulip):

on another administrative note, should we open a PR summary of this meeting in the compiler-team repo for this WG ? if so, I can take care of it tomorrow (but I'll need to check the procedure first)

Albin Stjerna (Mar 07 2019 at 22:13, on Zulip):

the "higher-ranked things" entry in the Paper roadmap, what does that mean? Also, what does it mean that it intersects with the traits group?

nikomatsakis (Mar 07 2019 at 22:13, on Zulip):

on another administrative note, should we open a PR summary of this meeting in the compiler-team repo for this WG ? if so, I can take care it tomorrow (but I'll need to check the procedure first)

that would be excellent. My preferred structure is to do

working-groups/wg-polonius/minutes/2019.03.07.md

with a kind of summary of the conclusions and a link to the Zulip thread. No need to get super detailed, people can re-read the thread, but if you want to highlight significant points so they can jump there, that's nice of you :)

nikomatsakis (Mar 07 2019 at 22:13, on Zulip):

the "higher-ranked things" entry in the Paper roadmap, what does that mean? Also, what does it mean that it intersects with the traits group?

read this blog post, @Albin Stjerna :)

lqd (Mar 07 2019 at 22:13, on Zulip):

alright, will do

Albin Stjerna (Mar 07 2019 at 22:13, on Zulip):

Yay, async!

Albin Stjerna (Mar 07 2019 at 22:14, on Zulip):

Ok, so @nikomatsakis's blog is one of the things blessed with loading just fine over the network now

Albin Stjerna (Mar 07 2019 at 22:14, on Zulip):

Github is not

nikomatsakis (Mar 07 2019 at 22:14, on Zulip):

thanks @lqd

nikomatsakis (Mar 07 2019 at 22:15, on Zulip):

I can't find you in the list of users in Dropbox :)

nikomatsakis (Mar 07 2019 at 22:15, on Zulip):

but that doesnt' matter

lqd (Mar 07 2019 at 22:15, on Zulip):

ah it's probably under my name (Rémy R.)

lqd (Mar 07 2019 at 22:16, on Zulip):

(hence my preference for hackmd but it's neither here nor there)

Albin Stjerna (Mar 07 2019 at 22:17, on Zulip):

Yay managed to join the GH team!

Albin Stjerna (Mar 07 2019 at 22:18, on Zulip):

Ok, I think that was all my questions

lqd (Mar 07 2019 at 22:18, on Zulip):

so I think we're all good here ?

nikomatsakis (Mar 07 2019 at 22:19, on Zulip):

Yep, thanks everyone, awesome meeting.

Albin Stjerna (Mar 07 2019 at 22:19, on Zulip):

So the next step is waiting for @Matthew Jasper's intro, then doing the hybrid thing and collecting more questions, plus doing my homework reading the blog post about higher-ranked things and Polonius. That's definitely work for a week at least!

lqd (Mar 07 2019 at 22:19, on Zulip):

if so good evening everyone :) and welcome @Albin Stjerna do not hesitate to ping if you need any help (I myself am in an European TZ)

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

I'm currently on Melbourne time, but I'll be back inSweden mid-next week

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

(if anyone wants kangaroo pictures just ask)

nikomatsakis (Mar 07 2019 at 22:22, on Zulip):

So the next step is waiting for Matthew Jasper's intro, then doing the hybrid thing and collecting more questions, plus doing my homework reading the blog post about higher-ranked things and Polonius. That's definitely work for a week at least!

obviously feel free to ask questions anytime @Albin Stjerna :)

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

So the next step is waiting for Matthew Jasper's intro, then doing the hybrid thing and collecting more questions, plus doing my homework reading the blog post about higher-ranked things and Polonius. That's definitely work for a week at least!

obviously feel free to ask questions anytime Albin Stjerna :)

Oh I will, but thanks for telling me :)

lqd (Mar 08 2019 at 13:36, on Zulip):

@nikomatsakis here is the PR for the yesterday's meeting minutes

lqd (Mar 08 2019 at 22:07, on Zulip):

oh dang I added a link to Lark's initialization analysis but forgot to reference it in the text, I'll fix it when I'm back

lqd (Mar 08 2019 at 22:09, on Zulip):

I'll also fix the missing word and misspellings :scream:

Last update: Nov 15 2019 at 20:00UTC