Stream: wg-traits

Topic: specialization


nikomatsakis (Jan 14 2019 at 19:37, on Zulip):

OK so we're talking about how to get the ball rolling on specialization. Plan is to have a meeting to kind of survey the "lay of the land". Before that meeting we'll try to make a list of links.

Sunjay Varma (Jan 14 2019 at 19:38, on Zulip):

Thursday because tomorrow is Tuesday and that's not enough time for me read anything :)

Sunjay Varma (Jan 14 2019 at 19:38, on Zulip):

I started a list in the doc

nikomatsakis (Jan 14 2019 at 19:38, on Zulip):

@Sunjay Varma when did you have in mind to do chat? Thursday? would 1 or 2pm UTC-5 work?

nikomatsakis (Jan 14 2019 at 19:38, on Zulip):

(Also this meeting is meant to be open to anyone in @WG-compiler-traits who wants, though the goal is also to produce material + video that can be asynchronously consumed)

Sunjay Varma (Jan 14 2019 at 19:38, on Zulip):

1 pm works

Taylor Cramer (Jan 14 2019 at 19:40, on Zulip):

I'd love to chat / help out however I can

Taylor Cramer (Jan 14 2019 at 19:40, on Zulip):

(though there're currently like 5 conversations happening in this channel and I'm attempting to participate in all of them at the same time XD)

centril (Jan 14 2019 at 19:41, on Zulip):

(getting the ball rolling on specialization I've no opinion about; but getting it to stable will definitely require a new RFC)

Sunjay Varma (Jan 14 2019 at 19:41, on Zulip):

Niko I sent you a meeting invite for Thursday

Sunjay Varma (Jan 14 2019 at 19:41, on Zulip):

I am happy to put anyone else on there too, just tell me your email :)

nikomatsakis (Jan 14 2019 at 19:41, on Zulip):

:+1:

Sunjay Varma (Jan 14 2019 at 19:42, on Zulip):

@nikomatsakis What links would be useful background for this?

Sunjay Varma (Jan 14 2019 at 19:42, on Zulip):

So far I have:

    - Specialization RFC - link?
    - (Optional) Specialization blog posts - yours or Aaron’s?
centril (Jan 14 2019 at 19:42, on Zulip):

(imo Aaron's)

centril (Jan 14 2019 at 19:42, on Zulip):

(cause I think the design is better, sorry @nikomatsakis :P )

centril (Jan 14 2019 at 19:43, on Zulip):

@Sunjay Varma but really I'd include both

Sunjay Varma (Jan 14 2019 at 19:43, on Zulip):

Heh. My impression is also the same as yours, but it's been a while so I'm not sure

Sunjay Varma (Jan 14 2019 at 19:43, on Zulip):

Yes I'll include both :D

nikomatsakis (Jan 14 2019 at 19:45, on Zulip):

(cause I think the design is better, sorry @nikomatsakis :P )

they...are the same thing

nikomatsakis (Jan 14 2019 at 19:45, on Zulip):

I mean, one builds on the other.

nikomatsakis (Jan 14 2019 at 19:46, on Zulip):

at least IIRC

nikomatsakis (Jan 14 2019 at 19:46, on Zulip):

but I don't remember if aturon's stands alone

nikomatsakis (Jan 14 2019 at 19:46, on Zulip):

if so, I agree, it is the refined design :)

centril (Jan 14 2019 at 19:47, on Zulip):

(iirc Aaron's was more flexible and attached to the bound rather than the trait, but I haven't read it for some time)

Sunjay Varma (Jan 14 2019 at 19:47, on Zulip):

I'll put them all on

nikomatsakis (Jan 14 2019 at 19:47, on Zulip):

in any case, I posted links to all of the above

nikomatsakis (Jan 14 2019 at 19:48, on Zulip):

tbh @centril I don't remember either =) but I certainly agree that @Aaron Turon's post was the design we ultimately wanted.

nikomatsakis (Jan 14 2019 at 19:48, on Zulip):

at least thus far :)

nikomatsakis (Jan 14 2019 at 19:48, on Zulip):

but it also built on the ideas in the max-min post

nikomatsakis (Jan 14 2019 at 19:48, on Zulip):

(that's why I wasn't sure if it stood alone or not)

centril (Jan 14 2019 at 19:48, on Zulip):

yeah; I still feel that Aaron's variant incurs significant additional cognitive load

centril (Jan 14 2019 at 19:49, on Zulip):

but... that's specialization for you, a difficult thing :slight_smile:

Sunjay Varma (Jan 14 2019 at 19:49, on Zulip):

Aaron has like 3 recent posts about specialization and one old one

Sunjay Varma (Jan 14 2019 at 19:49, on Zulip):

Are the 3 recent ones all worth reading or just the most recent?

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

re: RFCs, I agree we need one, I also think its' not relevant right now. We should be focusing on the design, we'll worry about when/how to produce RFCs later

Sunjay Varma (Jan 14 2019 at 19:50, on Zulip):

Also Niko you have 2 posts

Sunjay Varma (Jan 14 2019 at 19:50, on Zulip):

one from last year and one from 2016

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

Are the 3 recent ones all worth reading or just the most recent?

just the most recent I think

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

I put a link

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

in the paper

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

I put a link in the paper to mine too :)

Sunjay Varma (Jan 14 2019 at 19:50, on Zulip):

kk

centril (Jan 14 2019 at 19:50, on Zulip):

this one: http://aturon.github.io/2018/04/05/sound-specialization/

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

the older stuff may yet become relevant

nikomatsakis (Jan 14 2019 at 19:50, on Zulip):

but it's kind of an orthogonal concern

Sunjay Varma (Jan 14 2019 at 19:51, on Zulip):

Ok sounds good

centril (Jan 14 2019 at 19:52, on Zulip):

We should be focusing on the design, we'll worry about when/how to produce RFCs later

:+1: -- tho we need some avenue for focusing on the design

Sunjay Varma (Jan 14 2019 at 19:53, on Zulip):

Added links to the relevant code

centril (Jan 14 2019 at 19:55, on Zulip):

Aaron's explicit specialize : Constraint -> Constraint could be quite helpful in making hidden impls work well too

centril (Jan 14 2019 at 19:56, on Zulip):

cause specialization + hidden impls are either unsound or weird right now

nikomatsakis (Jan 17 2019 at 14:15, on Zulip):

btw, I think that we should ignore both my post and aturon's to start

nikomatsakis (Jan 17 2019 at 14:15, on Zulip):

that is, I think we should just start by looking at the narrow form of specialization currently implemented :)

nikomatsakis (Jan 17 2019 at 14:15, on Zulip):

( and then we can talk about how to generalize )

centril (Jan 17 2019 at 14:16, on Zulip):

I thought the current impl was too general?

nikomatsakis (Jan 17 2019 at 14:20, on Zulip):

well, it's unsound, is that what you mean?

centril (Jan 17 2019 at 14:20, on Zulip):

well unsound because it accepts too many things; so ostensibly making it sound will also make it less general :D

nikomatsakis (Jan 17 2019 at 14:21, on Zulip):

I guess you're correct that "generalization" wasn't quite the right word-- I was thinking mostly of things like intersecting impls. Anyway, the point of my post (and which aturon built on) was basically that we can enforce some extra constraints on specializing impls. But I think we have some more basic things to discuss first.

nikomatsakis (Jan 17 2019 at 14:21, on Zulip):

in terms of the chalk modeling

Taylor Cramer (Jan 17 2019 at 17:46, on Zulip):

what are we actually meeting on? hangouts? something else?

Sunjay Varma (Jan 17 2019 at 17:56, on Zulip):

Usually Niko uses appear.in

Sunjay Varma (Jan 17 2019 at 17:57, on Zulip):

His usual link is: http://appear.in/i-heart-rust

Sunjay Varma (Jan 17 2019 at 18:00, on Zulip):

@nikomatsakis allons-y?

nikomatsakis (Jan 17 2019 at 18:01, on Zulip):

yeah, I'm here

nikomatsakis (Jan 17 2019 at 18:01, on Zulip):

appear.in seems good

nikomatsakis (Jan 17 2019 at 18:02, on Zulip):

I'm in https://appear.in/i-heart-rust

nikomatsakis (Jan 17 2019 at 18:02, on Zulip):

I also started preparing a DropBox Paper document: https://paper.dropbox.com/doc/Chalk-and-Specialization--AV30Vxh2GjjUZQ~STKve1DdHAg-urrCptcGmI7PA4pYaF5yn

nikomatsakis (Jan 17 2019 at 18:02, on Zulip):

though I didn't get as far as I hoped

tmandry (Jan 19 2019 at 00:38, on Zulip):

@nikomatsakis did you record a video this time?

Sunjay Varma (Jan 19 2019 at 01:43, on Zulip):

I don't think the recording worked

Sunjay Varma (Jan 19 2019 at 01:43, on Zulip):

There are notes in the doc posted

nikomatsakis (Jan 22 2019 at 17:40, on Zulip):

let me check

nikomatsakis (Jan 22 2019 at 17:40, on Zulip):

I forget

nikomatsakis (Jan 22 2019 at 17:40, on Zulip):

I've just paid for a trial subscription with Zoom, which offers recording, so maybe we'll use that next time

nikomatsakis (Jan 22 2019 at 17:40, on Zulip):

although I see I can pay more to get recording from appear.in too

Sunjay Varma (Sep 23 2019 at 18:22, on Zulip):

Hi @nikomatsakis. Pinging you regarding specialization

Sunjay Varma (Sep 23 2019 at 18:23, on Zulip):

I believe we have an issue comment here describing some of the next steps: https://github.com/rust-lang/chalk/issues/219#issuecomment-507389782

Sunjay Varma (Sep 23 2019 at 18:23, on Zulip):

I have some time (mostly on the weekends) to work on this

Sunjay Varma (Sep 23 2019 at 18:24, on Zulip):

Is there anything you'd like to discuss about this or should I just start by trying to recall everything we started working on several months ago? heh

nikomatsakis (Sep 23 2019 at 20:42, on Zulip):

@Sunjay Varma yeah so the basic plan remains the same

Last update: Nov 12 2019 at 16:10UTC