Date: Fri, 14 May 2021 10:11:08 -0400
Attendees:
Michael Wong
Richard Dosselmann
Will Wray
Oleksandr Koval
Scott Moe
Scott McMillan
René Ferdinand Rivera Morell
Larry Lewis
Phil Ratzloff
Joe Sachs
Luke D'Alessandro
Andrew Lumsdaine
Ritwik Dubey
Johan Lundberg
Guy Davidson
jonan lundberg (desktop)
Marco Foco
Notes:
14:01:47 Hi everybody. Can you guys hear me.
14:01:53 Alright, sounds good.
14:01:57 Let me see if I can get him, he could hear something here well.
14:02:08 Okay,
14:02:15 looks like this version of zoom now is doing automatic
transcription for us. Yes, I'm experimenting with this, I enabled it so
that I can see how it works and see if this is something we want in a cell
meetings.
14:02:29 I tried it yesterday with sg 14.
14:02:41 And it worked really, I mean the word translated was really good
and I actually went back and started cleaning up words, although I don't
believe it understand anything other than English.
14:02:45 Bonjour.
14:02:46 It shouldn't.
14:02:46 It shouldn't go me of mine here as to me allied Nicole my Yeah.
14:02:53 No, it doesn't understand Chinese German or French any other
language.
14:02:58 Language.
14:03:05 We all have to store smells
14:03:05 bad.
14:03:09 bad. I can try Spanish if you want. Yeah, Go for it.
14:03:14 All at all those sucky
14:03:20 piano.
14:03:22 I cannot stand a student doesn't seem to get it so
14:03:29 so much fun we have, we can have with an automatic translator.
14:03:37 Oh, my God.
14:03:40 Hey guys, I'm, I'm going to be in a little bit of trouble chairing
this call. And I wonder if I can prevail on somebody to chair it for me.
And maybe guy, because he's had a little bit of experience yes actually a
lot of experience yesterday with 27 people.
14:03:57 Would you be able to do another cheering for me. I'm afraid I'm
having my dinner right now.
14:04:06 I ordinarily I would actually be charged by.
14:04:09 I'm absolutely styling.
14:04:14 I could take over in half an hour. No, no it's okay I don't look
at other people maybe Renee on, or Larry, I unfortunately have to work at
the same time.
14:04:24 Okay, let's see I think I'll Richard he's been doing this for a
while.
14:04:29 I would love to but sadly I actually have another meeting starting
in an hour and a half.
14:04:34 Fortunate reality the online world. Understood.
14:04:37 Anyone else Larry, would you be interested.
14:04:47 I'd be, can you hear me. Yeah. Okay, I'd be happy to do it but I
have no idea what to do.
14:04:47 This that there is an agenda that I put out and all you have to do
is share screen on it and then drive it along the way.
14:04:55 Well that may be harder than you think.
14:04:57 This. There's always time to learn so I'm going to tell you what
I'll do this first of all make your calls and see if that'll enable a whole
bunch of new buttons for you.
14:05:09 This is Larry is going to be presenting some, some stuff to you
right, of course, yes, he will have to, you know, definitely have to have
to do that so actually I'm going to enable share screen for everybody so
that they can do that.
14:05:21 so I think today's main agenda is we got some really valuable
feedback from a couple of people Alexander's on, I think. And who else was
giving feedback to, to, to your document on stats.
14:05:39 So stats has not been reported yet so oh I should actually go
through the normal process while Larry is setting up.
14:05:58 Yeah, I'm gonna go find my, please go find my agenda document that
I sent out the agenda email I sent out yesterday was Tuesday. It will be in
your email somewhere.
14:06:00 Yeah I forwarded that on to you learn.
14:06:03 Okay, hold on.
14:06:04 Okay, so.
14:06:08 Okay. It starts out with roll call participants adopted Jen Yeah,
yeah. So you shared screen on that try sharing screen on that document on
your computer.
14:06:16 Wait, wait a second, I'm looking at that.
14:06:26 Okay, so what I'll do is I'll do the roll call. Now since we are
already keeping track of roll call on the zoom report. I don't actually
have to write anybody's names down but I will call them out I see Larry
lewis i see guy Davison I see Joe Sachs, I
14:06:35 see Johan Lindbergh I see Alexander Coble I see Phil rats LA I see
Renee Rivera, I see Richard awesome and I see Scott McMillan, I see.
14:06:44 Scott Moore, I see will Ray and Michael long, and this is the May
13 sG 19 call.
14:06:55 So there's also a list of ISO code of conduct guidelines at the
top, that people are instructed to read and to acquaint themselves,
basically all it says is be nice, be decent to each other.
14:07:10 and then we'll all get along.
14:07:16 I think for today's call. We are mostly going to be going through
the feedback for Richard Dawson in some stats paper which, which was
published on a cell and but it has not been scheduled yet for LEWG, but
they know about it, they have a lot of things
14:07:32 on their plate so they're just waiting to schedule it. But in the
meantime, there's actual feedback from people read the paper, which is
great, is we don't, we can actually make some adjustments on the fly
already, and that's fine.
14:07:46 Sorry wasn't to the reinforcement learning.
14:07:48 And there's also reinforcement learning Yep, that's right, I'm
going to get to that. And so, but I don't know if Larry and these guys have
prepared anything yet.
14:07:59 But something, actually, which I have, which is, is a work in
progress, but which I definitely want to discuss a little bit. So, I'll do
that at the end after we get through all of those.
14:08:11 So I think it's more important to get through the feedbacks right
away. Be from Johan Lindbergh and from Alexandra Kobo.
14:08:20 And then we can end up, go I suspect this meeting might be short,
it'll probably be an hour anyway. So, and then after that we will do the
reinforcement learning.
14:08:28 If the schedule is good with you guys, if that's good with you,
Larry.
14:08:32 Yeah.
14:08:35 So, I have up the wonderful application known as Notepad.
14:08:41 Got it.
14:08:43 She wanted me to give you a shot of taking the screen here.
14:08:47 Well, you probably don't need to now because I think, Richard will
probably bring up was paper. And then he can he can listen to the
feedbacks, and then you just have to take notes.
14:08:59 Go, Richard. Are you ready to, to bring up the paper.
14:09:05 I can, can I just have a couple of months grab some blank paper
notes, taking the lead myself I'll come back in about five minutes. Yeah,
go ahead and explain the corner the procedure to everything here then.
14:09:10 Okay, so I will do that now.
14:09:18 So guys, um, we got feedback from Johan, and from Alexander,
Alexander I don't think you've been on this call before Would you like to
introduce yourself.
14:09:31 Yeah, I'm just developer who tried to implement those steps
proposal so I am actually I'm not familiar with the whole process of like
how committed works.
14:09:43 Okay.
14:09:44 Thank you very much uu, the bread and butter of how committee
works is, is based depending on people like you who can do these kinds of
things.
14:09:54 And Johan also gave feedback as well too. So I'll explain a little
bit.
14:10:00 This is actually a little bit of an unusual group sg 19 machine
learning is a outreach group, because we don't have the expertise in the
committee in meaning, there is only a very few machine learning, experts
are that kind in the committee.
14:10:15 We are permitted to outreach to other people who are available,
much more specialist in that domain. So as a result, whereas normally you
would need to do jump through all kinds of hoops to get into the committee
be a member, your national body member.
14:10:30 This is all dispense with and.
14:10:33 And now since we have this pandemic thing, we can definitely do a
lot of things live. I mean sorry not live but on zoom call, which means
that you don't have to pay money now even better because in the past you
might have to have to pay money for a trip
14:10:44 to got to show up and all that stuff, or the very least, talk to
somebody who goes there, and then have them proxy you while you can't
attend because you have a job and on and you know I'm totally
understandable.
14:10:57 So, having said that, this is actually the perfect time to do
something like this where we can just get the feedback, look at it and then
see what we can do to adjust that.
14:11:06 Having said that, though, you could definitely join your own
national committee.
14:11:11 I'll quickly explain how that works because actually, I just
answered a question from from, Kate.
14:11:20 On one of guys books I think about how committees work so let me
just explain the committee's that ISO committees work like the United
Nations, they are, they have their national delegations except get sent to
them.
14:11:34 So each country has its own delegation.
14:11:38 And there's a head of delegation. So Canada is called Standards
Council of Canada, the UK is called British Standards Institute, the Asana.
14:11:48 The American is called insights, or used to be called and see if
there's some standards is still quite antsy.
14:11:59 But each country has its own, but not every country belongs to the
ISO standard has not every country has a standard development organization.
Most do.
14:12:06 And even if they haven't a standard development organization or an
organization that sto might not have joined the c++ part. They might have
joined what other things like elevators and and railroads, but they didn't
join the c++ part.
14:12:18 So, depending on how deep you want to dive into this rabbit hole,
you could go through and try to figure out, you know, which country it is
that you belong to, and can do do they have an SEO, and they have an SEO
does that as do.
14:12:35 That is still join the group that's relevant for c++.
14:12:40 You can do that, but I can also just tell you right now by just
going to displace.
14:12:44 Okay, I'll quickly share my screen here.
14:12:49 Okay. If you go to I did you just search for a sales.
14:12:54 sc 22, which is our parent body, you'll find all the parts that
belongs to the all the working groups that belongs to this, and under this
thing that says participating members if you click on that you'll find all
the countries that have participation
14:13:08 status and the name of the acronym of countries SPL.
14:13:13 And you'll see that these guys are participating which means they
vote. And these guys are observing, which means they don't get to vote but
they can show up.
14:13:22 If your country is not on any of these. That means you don't
either you don't have an SEO, or your SEO never bothered to join c++, which
means either way it means a huge amount of work for you to try to get
involved, unless you can talk to somebody who
14:13:37 was a friendly country or something like someone like us and just
go directly in. So we're trying to make those things a lot easier. Okay.
14:13:47 guy Davidson Davison Go ahead.
14:13:50 Guy Davison Go ahead. Yeah, so it might be worth mentioning that
whilst it might seem like a huge amount of work.
14:13:58 It can happen quite smoothly and we only have to look at how to
discover who turned up at CVP con in 2000 and right now I think it was an
interesting paper on CTR and then two years later she formed and is now
chairing the Czech national body.
14:14:14 Yeah, but some countries, it's not a huge amount of work for some
countries, it can be a huge amount of work. and lately it's getting a lot
easier. So, all Xander depending on which country you're from.
14:14:26 If you see any of these countries on your list, then you could
actually join. Now having said that they are also more conditions, being
part of a delegation.
14:14:35 As far as I can tell, is not doesn't necessarily mean your country
of birth. I've been particularly permissive in terms of my definition I for
Canada, it's basically if you.
14:14:59 We have you live here.
14:14:50 You were born, or you were born here, or your home or your company
is here.
14:15:01 So those are three ways you could actually belong to Canada.
14:15:05 So I don't know which, which country are you in Alexandra.
14:15:09 Yeah, I'm in the Ukraine, it's actually in the list, and I wanted
to clarify that these countries from the left side, they actually
participants in the c++ so Commedia.
14:15:21 OK, so the participating countries are participating at all level
of sc 22.
14:15:30 So, we don't talk about the working group levels so you can join
any of these working groups within se 22 So yes, the answer is as c++ says
yes, but you can also do C, or cobalt.
14:15:43 Okay.
14:15:47 And the difference between the countries on the left is that they
get to vote and the countries on the right don't get to vote yet.
14:15:53 Okay.
14:15:59 Alright.
14:15:58 All right, so let's say with that Richard, are you ready to, to,
to start. I am Yes. Okay, go ahead, please.
14:16:09 So it's good probably if you can bring up your the documents so
that when people talk to it, they can sort of.
14:16:18 Yeah, there we go. Thank you.
14:16:20 Hey, so we had made some revisions following I believe that was in
April was last time we looked at it, Johan there from Sweden has some great
feedback, they were some minor revisions, we went ahead and made those.
14:16:36 and they have now appeared in the mailing list.
14:16:40 So in the last little bit, Alexander has been so great to contact
us and provide some additional feedback here that will help better this
proposal.
14:17:02 And as Michael said, this thing has not been reviewed by the
committee yet, which means we have the option now of making changes before
they see it. So this is definitely the time to make those changes as on a
separate screen here the feedback from Alexandre,
14:17:12 I believe everyone has that email.
14:17:14 I've been going through it a little bit on my own.
14:17:17 And I believe most of these are very reasonable and very logical
changes to be made.
14:17:24 First one here talks about the updated constraint for the
execution policy, changing the Remove CV a ref type to the decay type. No
problem. Absolutely.
14:17:36 We can change that kind of thing.
14:17:39 second item on the list at any point if you need to stop and
interrupt that's good.
14:17:44 The second point here the stats error should have a constructor
that allows you to pass a string to it. Obviously to carry the information
about the error.
14:17:57 Absolutely.
14:17:57 Not one fear would be right inside of the stats here will just
improve.
14:18:01 You know just. This is our, this is your hands or Alexander's
feedback. This is Alexander's exclusively today. Okay.
14:18:13 So I suggested that we have an overloaded constructor here, it
takes a string, in order to pass the information of the what function here,
describing what the error is, of course, we should have that.
14:18:25 Yeah, so that was overlooked can absolutely be added immediately.
14:18:33 A few of the other issues here let's take care of the easy ones
first and then we'll come back because most of the challenging ones are all
part of a common theme here, they're all unified.
14:18:45 First of all here.
14:18:47 The use of the naming convention underscore T.
14:18:53 Is that not c++ standard when you define a new type to post fix it
with underscore te was I making a mistake with that
14:19:06 looks like guy has a response for that.
14:19:10 There's no.
14:19:11 The only naming convention that we have regarding underscores is
that symbols of symbols, beginning with two or one underscore reserved.
14:19:22 There is a habit on some proposal writers to create types with
underscore T.
14:19:28 It's useful but it's not mandated and it certainly wouldn't
require it wouldn't be sent back.
14:19:33 Luke is responsible for evolution working group is responsible for
naming and they might have words to say but over the past year or so I've
noticed that we're not quite so
14:19:47 intent on making sure all new types of an underscore te.
14:19:50 It's a hangover from see it's quite useful.
14:19:57 The only place I can think about that has on this party. Now, if
this short tense, or using shorthand for the traits.
14:20:12 You know, I mean like, Yeah, I agree with it.
14:20:18 I don't think it's anywhere else.
14:20:21 Currently,
14:20:27 I think more importantly also, I wouldn't worry too much about the
names because they will be extensively litigated by library evolution.
14:20:37 So, you know your names of suggestions like revolution will will
say yes or no to them and offer alternatives.
14:20:45 So, so don't.
14:20:47 Don't worry too much about the precise detail of names.
14:20:52 Okay. Without then at the moment I guess I'll just drop the
underscore key, since it seems to be out of fashion and like you said, the
library team is going to have a look at that anybody minor point
fortunately.
14:21:06 Let's see if there's any other related simple questions here
before we proceed to the challenging ones, another one here with
interpolation underscore te no problem to change that.
14:21:35 Okay, all the modes function here or the quantum files.
14:21:28 There is the discussion and the suggestion here that rather than
returning.
14:21:35 An interpolated value, such as in the case of a quantum file. What
if we instead returned interpreters to the values and allow the user then
to have access to them inside of the data structure.
14:21:49 I believe I originally had done this in the first version of the
paper, and yen's Mauer spoke up and thought that was a poor idea, we should
return values rather than each Raiders, even though for example the max
element returns an iterator, I believe
14:22:04 it was the ends who suggested know we should return values,
instead of iterating hours.
14:22:12 Anyone have a comment about that I was following a yen's advice
believing him to be more experienced in this than myself doing me in the
projected values for the raw values.
14:22:26 I think it was just the raw value, just the entire structure
itself, whatever it is,
14:22:36 but it can be actually quiet enough in efficient I mean, like in
the actual role Hello can be pretty big
14:22:52 that's definitely true. It looks like I had a comment about this.
14:22:58 I was only going to affirm that yes it's certainly worth listening
to.
14:23:05 before you make any changes to the paper.
14:23:05 If you said something then Dublin, Ireland, and make the point,
otherwise so somebody come back and tell you well no I said this.
14:23:14 And he does turn up at all the wording groups that core groups and
the library wording groups, so he does carry considerable way because he is
extraordinarily experienced and a very accomplished at wording.
14:23:30 Actually, so my, my take on this.
14:23:34 I started to write stuff about these but that just turned out to
be too much I hate cut it out from my other comments paper, and maybe I'll
write something about that I think this.
14:23:45 I think the chron tiles and mediums are actually so complicated,
compared to the rest of the rest that they really
14:23:58 mean the expectations and use
14:24:02 may differ a lot, but if we want to provide something that looks
like. What does in other languages like Python or statistical tools, then
it has to return to some kind of value.
14:24:18 And I would, I would feel that it could be very surprising it but
it's not a projected value.
14:24:25 And I think it costs a little bit against this pattern to have to
return the values in some cases for this other one is optional, and all of
that. So, my, my summary of the comments I haven't written yet would
probably be that we should pick either either
14:24:50 be really a mass like function where you get an answer that you
can use, or like the proposal I started to write for like a generalized
element instead, where you actually get full access to everything and then
you can do whatever you want but it's super
14:25:09 complicated to use.
14:25:12 I don't agree that we don't want to use work with iterate iterate
there's us out here because you want to. We want to have a mean and median
and quintiles have the same output the kind of interface.
14:25:33 Wouldn't it also mean that,
14:25:37 you know, because we need to order the containers at times. Now,
to get, like, mode.
14:25:48 We would we be exposing an iterator for an internal container.
14:25:56 And so that adds additional complications.
14:25:59 I that's actually where I started with my critique and the ideas
are regarding this this paper that I thought like, why isn't it done.
14:26:11 This completely other way, but I don't think that it's the way to
go because and also no other.
14:26:18 No user would expect something like that either you'd have to have
a very complicated.
14:26:24 You would have to return, like where to where which points, all of
the points you interpolated from what interest rates did they have what
weight, do they have.
14:26:37 You would have to return, like big structure with information for
someone to actually be able to use it.
14:26:45 So I think it's better to just make it a black box.
14:26:50 And then you can have an algorithm, like a generic algorithm that
does generic things, but they can do that is not this.
14:26:59 And they could work on whatever they thought you have, you don't
have, you can.
14:27:07 Yeah.
14:27:08 Right, so we're kind of wanting to work with a scalar value and if
you've got a writers then, now you're talking about dealing with ranges and
multiple values and it just doesn't feel quite the right thing.
14:27:29 I help him.
14:27:32 So, as far as I understand we agreed to return value returned
values and not the directors and not expose the useful, possibly useful
things shuffling that happened because it could be too complicated you
expose it.
14:27:51 Yeah.
14:27:54 Okay, so it seems like we still have consensus that we want to
return a value. I agree, perhaps now we should probably return the
projected value, rather than the whole structure.
14:28:04 If it is like a structure that has five integers let's return the
integer inside in question, rather than the whole structure that change
could be made.
14:28:13 Yes.
14:28:15 I think I should write down my thought about updates about these
things because I thought about what happens with you. you want to.
14:28:27 If you want to keep this by your return an optional for like the
right
14:28:36 like one of the two. In case of median. I'm not, I don't think
that's.
14:28:45 It would be nice if we could just avoid that, and instead just
return a interpolated value, always.
14:28:52 Yeah, I think the first version we did that and somebody corrected
me and thought, No, you should give the option of both.
14:29:03 Yeah, but then you have to, this is like a super special case
where are you now.
14:29:13 That's the syntax around it becomes pretty annoying I think
because do, and and you can only, only do it for media and not for the
others because then you would need, like the remainder.
14:29:26 Wait, parts of it.
14:29:29 That's right and you always have to have an F test er there two
values yeah and then you have to write your own averaging or interpolation
all the time.
14:29:39 Yeah. So So all of this now on hijacking this whole discussion,
sorry. But, so, so after like trying to argue in my head that we should
this proposal to change to allow arbitrary iterator stuff.
14:29:52 I concluded, no, this this definitely not the right thing because
you want to just use it as mean, or whatever.
14:30:00 So, So that's, I wrote.
14:30:03 It works exactly like elements, but you put in a range of me
instead.
14:30:22 So, if you want to do stuff like partition and interpolate
arbitrary things like records with whatever. And maybe you don't want to
interpolate using floating point or anything you want.
14:30:38 and you can use generic algorithm instead.
14:30:42 OK, OK, OK, that's an alternative Yes.
14:30:46 I think we can all agree that quintiles and the median is perhaps
the most difficult one here along with the mode, or maybe not but
definitely those Quantel suppose a lot of problem, right from the beginning.
14:31:02 I have a question.
14:31:04 So,
14:31:07 The median and quintiles to me are fundamentally a little bit
different. Okay, that's, that's absolutely the case yes yeah I mean, the
media is mostly one or two and, you know, most of the time, you know, it
goes back to you want to make the common things
14:31:24 and the easy things easy, right. Yeah, anything worse than that.
14:31:30 And the default.
14:31:32 You know, and anything more than, non common cases, you know, you
want to make it an A possible do but it can be a little bit harder and
almost feel like
14:31:43 different functions. But quintiles are going to return multiple
values all the time.
14:31:50 So, you know that that's kind of a different case to be it's going
to be a vector right i mean that's the way it's going to be or, you know.
14:32:02 So to me, those are those are kind of two different cases.
14:32:07 The way I deal with media and separately from Quantel I guess.
14:32:13 Our.
14:32:14 No. Yeah,
14:32:17 go ahead.
14:32:19 I'm just thinking about the case when the user for example has a
large collection of the items, and tier one get item with the medium price
for example.
14:32:30 And when we if we turn on a projected file if he can answer this
question, he would need one more pass to find this item with the medium of
the meat and actually.
14:32:42 Yeah, that's actually, if you want to do that. Yeah, you have to
pretty much use elements.
14:32:51 I think because because you need otherwise you need to get the
weights, and that depends on, depending on how we designed this on the like
this scheme.
14:33:05 Like the quantum scheme, there are all of these different versions
of contacts that people use, and actually could even, it's even the case I
think yeah so in some cases you don't actually need to calculate all the
14:33:24 same, like partition points depending on which one the schemes you
use, so it's not only a question about waiting.
14:33:32 But, and also the way you would wait, like, if you want to like
actually get access to the records.
14:33:43 And that's not something you can do while interpolating really
than you would think.
14:33:51 I would say use yeah their algorithm system.
14:33:55 This stuff looks like math to me.
14:34:02 Do have existing generic algorithms that can do that.
14:34:07 This is my other. This is my proposal.
14:34:16 It's called 20 375.
14:34:22 It's just I'm just writing it right now but you can you can find
it.
14:34:26 It's just a generalization of elements.
14:34:30 That's all it is.
14:34:32 But that's but if you want to do things like that, then you have
to do it.
14:34:47 You have to decide how do you interpolate strings, I'll do
interpolate time duration so I'll do interpolate post addresses.
14:34:48 You can't really solve that.
14:34:51 I think in this setting.
14:34:57 But I think that we have like a projections for arithmetic values
for doing that so we don't need to interpolate the whole strings, at least
for now, as a retargeting only arithmetic types when this proposal.
14:35:12 Yeah, but then why do you need the records.
14:35:19 Well, that's just one of the use case I can't imagine like we have
some records, and they all have prices, and we want to find record. For
example, with the median price.
14:35:32 But that's, that's an element.
14:35:37 Actually, so that's an element that the only difference between
elements.
14:35:42 And these contacts, is that you get help in calculating like how
many things are in the collection, and you get how wasting them together.
14:35:56 Okay, now, Now I got to find. Okay, thank you.
14:36:03 Okay, that's actually a very nice answer suggests that if you want
access to the element you should be using something like an element, or
your hands new proposal this 2035 2375 instead.
14:36:15 And we should make this a math pay proposal where we just give you
that value that you're looking for.
14:36:22 In which case, maybe we do want to start interpolating or
averaging them together, get rid of that optional and just return one
value, just like you would expect in mathematics.
14:36:35 I guess we were trying to provide both a mathematical median or
quantum style, and we were allowing you to get access to these elements,
when these should be separated into two different procedures.
14:36:51 The amp element ID and then the mathematical medium or Quantock
keep them separate.
14:36:54 This, this took me a month of involuntary thinking to realize it's
it's really two quite different things, possibly, that we want to do.
14:37:06 Okay, well that would definitely clear it up, we would focus on
the mathematics hear them and give the user what they expect like quantum
or a medium, not get a Raiders or multiple values just a single medium or
Quantel that they expect
14:37:24 that could definitely simplify a lot here, I think.
14:37:29 Hey, looking at some of the other points here some of the weights,
being larger than one week definitely can relax that restriction and allow
for that.
14:37:40 Just a brief note again and Quantel is about the sorted versus
unsorted versions that was originally ends Mauer idea to separate them into
the sorted and unsorted.
14:37:52 If they're unsorted you only need to make one pass across it, or
you need. If it's sorted you only need to make one pass. If it's unsorted
you needed this special random iterator random access range, so that you
could swap things around as need be.
14:38:10 So, it was decided that those would be broken into two different
things sorted and unsorted for sure.
14:38:18 The quantities for a moment and come back to them here after since
there and, again, the most contentious part here
14:38:27 with other minor issues that are just technical matters to clear
up and not not too difficult.
14:38:34 Again with the namings the underscore keys, we can drop that
rather using a Boolean for ketosis rather than are using a parameter,
rather than a Boolean sure that'll be consistent everything will be a
parameter.
14:38:48 The name variants here var as a statistics person I always saw on
university that variants and in textbooks was always written var anyone
like the full name variants instead of var
14:39:10 mathematics.
14:39:12 So cause Did you say var.
14:39:14 Yeah, which also means, you know the difference between
Mathematics and Computer Science right computer science var is variable.
14:39:24 I'm.
14:39:33 mentioned like that vs but just open civic the reference and he
found the name function calls about what would he expect. I mean, the
standard library is not only for mathematicians, it's for a wide range.
14:40:06 I like to longer name so suffer for so this is quite specific.
Also, one could. It's. There are not that many three letter.
14:40:10 things that we
14:40:14 three that's right so far is quite a land grab.
14:40:18 And whilst far does indeed, you're correct. I also a novelist
intuition, and when I see vault. That's what I see. However, the context of
c++ is such that we have a lot, a lot, that identifies and var only leaves
hamsters.
14:40:34 Because we're mathematicians look at the mathematical.
14:40:38 I think it was paid to assume as little as possible, of the
audience.
14:40:46 Okay, okay fair enough again I was coming from the bias side of
having a math background like all of us, sure we can change that to
variants yeah yeah and there is a good point that yes that looks like
variable as Larry says, and someone looking at the
14:40:58 standard library might think this is a variable or some sort of
sure we could change that to bear needs. Yeah.
14:41:06 All of the other names are spelled out in full as well so that
would be consistent then sure we can change that.
14:41:13 What do you use for standard deviation.
14:41:16 St DEVB enough for them.
14:41:21 If anybody confuse that with anything else.
14:41:26 Do we want to do a standard underscore deviation.
14:41:34 Yes. Well,
14:41:34 actually, all the, this so called special math functions are very
long names, they are released.
14:41:44 I don't know info. I don't think we should be scared of long
names, really, you know, lexicographical comparison. That's hardly.
14:41:52 You know that doesn't roll off the time, but don't say it means
there's also the scope if you as a programmer, absolutely sick of topic and
parents, you can always alias these names yourself.
14:42:05 I think the smart thing to do, sorry that's an awful thing to say
no I don't mean this.
14:42:11 I think the kind thing to do, to all the consumers of C plus
classes to be as an ambiguous as possible with our names.
14:42:29 Looking at the special, special mouth ones right now Riemann
underscore zeta SPH underscore vessel function. Yeah, we could go ahead and
say, standard underscore variants, or standard underscore TV and give the
full name there.
14:42:39 Again, we're coming from the perspective of mathematicians it's
clear to us but others, they might not. So, yeah, we can definitely do we
could make sure.
14:42:51 A couple of other minor points here about rolling exceptions and
things like that that's maybe a little bit more detail will come back to
that.
14:43:00 Let's look at this big overarching idea of this execution policy
something that I realized I might have overlooked.
14:43:08 If we are going to be working with an input range.
14:43:14 We're assuming you have maybe just one scan over the data.
14:43:23 If we start talking about ideas and parallel processing and things
like that when you only have potentially one look at the data, there might
be issues and concerns with that and that's what Alexander found when he
was implementing, maybe he could speak
14:43:36 a little bit more to what he found.
14:43:40 Well, I haven't implemented thorough version of the app.
14:43:43 But at least as far as I know, like all existing algorithms.
14:43:50 With execution policy they all use for what it razors, because how
you can paralyze things. When you can know the size. When, when you can
read multiple writers like multiple times.
14:44:07 I mean, how can you split this range, with only inputted razors.
That's true. Yeah, we haven't seen the full data we don't know the size we
don't know how to carve it out.
14:44:17 You'd have to scan it once and then you can't scan it again, you'd
have to save it in storage you'd have like you said an old van linear
storage problem.
14:44:27 So what I was thinking about earlier today was what if we had a
version here where we had two versions and input iterator if you just going
to scan over something once, and there's no parallel version.
14:44:40 And then we had forward random moderators and those have
overloaded execution policy versions.
14:44:49 So if you're only making one scan, you don't need execution
policy, we won't allow that. But we would have overloaded versions that
take input or far sorry forward it or writers and those ones could have
execution policy control.
14:45:09 Just to clarify, you do.
14:45:14 Do you need random access for competition policies that would, I
would have assumed that I believe only for the quintiles would be unsorted
where we have to move things around the other ones I think we can get away
with a forward iterator like for the
14:45:28 mean.
14:45:35 Okay, so let's talk to you need to know what you need to know.
Okay, so you can.
14:45:42 Okay.
14:45:45 And, can anyone please clarify for me How can you iterate salted
quanta with only input iterate or when you don't know the size of the range
ahead.
14:46:05 I mean that you need to know the Quantel you need first know
besides convenient to go back and pick up the right element.
14:46:14 And with the impotent writers, you can do that, and leave until
you copy the whole range. This is obviously unreasonable.
14:46:24 Yes, yes, yes, that's a mistake that one really should be a
forward iterator so that you can have at least one scan over at first.
14:46:34 To determine the length and then come back to the center or
wherever you're looking for. Yes.
14:46:42 Looks like guy has something he can add for this.
14:46:46 Um, I wonder if the I'm embarrassing the unfamiliar with the
execution policies, I appreciate how they were but are they guarantees or
are they can.
14:46:58 I think we maybe could ask Michael that he would probably be the
best answer that.
14:47:07 I originally did not have paralyzed version, I believe it was
Michael suggested I did that it seems this year or not.
14:47:17 That's right, Mike was involved with another meeting. Okay, I know
that. As far as I understand the pilot, the execution policy stuff, I mean
you could you can never say that this implementation is not standard
compliance because it's not the panel and
14:47:29 licensing, or anything like that you can't really prove that
within the language.
14:47:34 It's not done observable, that's not observable right so, so, so
quantity of connotations. As we said many times last meeting. But
14:47:47 I, I am a little bit concerned with.
14:47:53 even having a method that has to scan.
14:48:20 I mean, okay quintile is order, and, but I i would i would assume
most users would not expect it to scan twice but. So, yeah. The reason why
I was asking if it's a hint or a guarantee is, is this you know if these,
these raise capital category is known
14:48:27 at compile time.
14:48:29 And if the parallel. If the execution policy isn't is incompatible
with the Israeli category, then you know that that that could solve the
problem of being pastor forward iterator.
14:48:43 When a random access iterator is needed to satisfy the execution
policy.
14:49:02 Looks like Luke has something you can definitely go ahead and
14:49:10 got a wild animal there that's, that's the reality the online, we
got we got a chance to wait for you, not a child but a dog, those, those
are just constraints as to what is correct, right so your algorithm is
correct if
14:49:26 you can, you know, the implementation is is able to do things
based on
14:49:36 requirements. So it's sequential
14:49:48 also was trying to implement it I found that my implementation
would completely rely on the existing existing algorithms, because all we
basically need is the foremost algorithms, is just the way to combine into
separately, calculated.
14:50:12 Statistics information and the mathematical formulas for this, and
it should not be pretty hard. So, the final implementation at this mine
condition would mostly rely on the existing algorithms.
14:50:37 I also want to bring one interesting moment, found that in this
proposal execution policy diversions also are marked context for. So is
this a typo or is this intentional because in theory we can use like stood
his content evaluated and to completely
14:50:59 ignore any execution policy and execute and calculate everything
at compile time, but no existing standard algorithm does that.
14:51:17 Okay, yes I, but I believe that is a table that is a mistake there.
14:51:20 I'm sorry. Could you clarify that mistake again.
14:51:25 That constant expression on the execution policy outside of the
standard.
14:51:32 Okay, got it.
14:51:37 Question. Again, or something like
14:51:42 Or something like in here in execution policy.
14:51:48 Forward range,
14:51:52 potentially could be a problem since you only have one scan the
data.
14:51:58 Like this. Did we want to have just a non execution policy.
14:52:04 Input iterator, and then a separate version with a forward
iterator and execution policy.
14:52:29 Yes, I think, that's fine. Let's like most algorithms are
implemented.
14:52:23 Okay, okay, that's what I was thinking. Earlier today when you
pointed out the mistake area.
14:52:39 If, however, you have like a vector or a list and you want to do
parallelization, then we would have another forward iterator for that case.
14:52:50 Okay, okay, divide those into separate cases then.
14:52:56 Okay, so that actually gives us quite a nice solution to that
problem. That's good.
14:53:03 Returning again to the major discussions here, the quantum miles,
and the, the medium or indirectly, right from the outset, this was the most
difficult problem.
14:53:15 Yes.
14:53:17 It looks like what we've decided here today is we want to move
away from an element and allowing the user to access elements and parts of
the data structure.
14:53:30 We want this to be more mathematical in nature, like Mumbai, or
Python statistics.
14:53:36 So it looks like we're more interested in returning the value,
rather than giving deep access to the elements kind of thing.
14:53:44 So we kind of want to merge it into one value if we can.
14:53:50 And we don't want to provide iterator access.
14:53:54 Since that would be non mathematical and you could do that with an
element instead.
14:54:01 And we're still going to continue to have this idea I believe of
assorted median and assorted quantum and unsorted distorted one would
definitely have to have some notion of like a forward iterator so you can I
get the size of it, maybe go over it again,
14:54:18 even though that's kind of an ugly thing.
14:54:21 The unsorted one definitely, I believe, is going to meet the
random access iterator.
14:54:34 We definitely have to move elements around. So this one I believe
needs to be the random access.
14:54:40 And we want to keep the sorted and unsorted separately. The sorted
is a little bit less restrictive because it's just the middle point.
14:54:49 The unsorted has to be more restrictive. Since we're going to be
using an element to swap things around.
14:54:57 I'm sorry. Within sort of version you're actually sorting the, the
original container.
14:55:09 Yes.
14:55:12 Nobody ever seemed to have an objection to that I think there was
a problem though some suggested that duplicating and copying was a problem
so I think we agree that we would allow it to be switched around.
14:55:23 Anyone have any change of heart about that now.
14:55:29 Sorry doing mean like complete, or just like an element, sort of
elements just a partial change, but it would change would change it would
not leave the original unmodified it would possibly change it.
14:55:45 Okay, so let me be clear here you talked about starting the
original underlying data in response to a function called sorted quintiles
no sorry the unsorted the unsorted one here would be moving things around
in the original data structure,
14:56:05 believe we saw another function that did something similar maybe
and that's where we got the precedents for that.
14:56:13 If I can find that while Luke speaks here, and guy answers.
14:56:19 I don't know, suggest and this may not be appropriate, but a lot
of times if you can allow people to move you a container or copy you a
container. If they want, you know to preserve their initial container, it
would be a cost, right, not move but past
14:56:35 past your reference or move you move you a container so if they if
they really don't want you to modify their data. They're going to accept
the cost of a copy.
14:56:46 Otherwise, they'll just give you a reference and sort of up to
them how they would like to use it now that can be surprising to some users.
14:56:54 So might not be appropriate here but it's an option.
14:57:01 Okay, with that perhaps the Boolean type decision choose if you
want to copy it or just go ahead and mix it up it. Well, I guess what I'm
saying is you're taking the range here by forwarding reference for the
unsorted one note that's a random access or
14:57:19 no I'm just saying sorry I'm saying that are parameter is a
forwarding reference. Yep.
14:57:24 So, if I.
14:57:29 It would be nice if there was a way for me as a color to pass you
a copy.
14:57:36 If I need to and that may be what's going on here like I find know
that this may modify my container.
14:57:41 I will need to make a copy of it.
14:57:44 Otherwise I'm happy to pass your reference.
14:57:46 And that may just be on a user's, it may be on the user to do that.
14:57:52 Okay, giving them a little bit of choice there.
14:57:54 Well, they already have the choice. They can make a copy, and give
it to you.
14:57:59 Okay, okay. So I guess what I'm saying is I think it's appropriate
to, if it's, you know, if it to give this efficient version to someone who
doesn't care if you're if you're manipulating their container with the
understanding that if they do care they
14:58:13 can make a copy.
14:58:14 Okay, just make that clear in the documentation then
14:58:19 just to verify something, my brain here I maybe I need more coffee
this afternoon.
14:58:25 undistorted quintile refers to the fact that your underlying data
is unsorted correct. That's right.
14:58:34 Sure don't like that name.
14:58:39 Watch I'll sell me what you're returning is inserted.
14:58:42 I would much prefer something like Quantel underscore unsorted,
but that's just me.
14:58:48 Okay Quantel over unsorted data, something okay I understand what
you're seeing yeah it's it's also the mutating contest.
14:58:59 Yes, yes.
14:59:01 I,
14:59:10 I was actually going to address this point that mutating and we do
have things like stable partition and partition stable source and source,
is there an appropriate prefix.
14:59:21 You know, unsorted content, I'm sure we can do, we can have a much
longer than that if we like, really
14:59:28 good for the moon.
14:59:29 We need to use Greek letters like the mathematicians
14:59:36 SG 16th feedback. But yes, Yes we do.
14:59:41 I'm actually looking at that stage on on stage so great now in
there. Yeah, that would be a good kind of naming something about Yeah.
14:59:54 Actually Python has pi has both mutating and non mutating there
it's absolutely not clear, which one is which one lives in empty array in
non pie and the other one lives just in line, non pie.
15:00:09 So because empty array of quantum venues, get mutated in place.
Yeah, so I feel like mutated better, and when I see stable.
15:00:23 I think of an understand unstable I think of an unstable algorithm
which doesn't.
15:00:28 It just means something completely different to me.
15:00:30 It has nothing to do with mutation mutation is mutation the
stability is the ability it's algorithmic.
15:00:38 You can always use an exclamation point right as a second language
does that Julia or somebody.
15:00:52 Seriously, I prefer mute. Me either. Some reference to mutation
15:00:59 indicate that yes we are changing the elements that are around in
your data structure.
15:01:08 Okay. I'm sure we can agree again once more that quantum miles in
the media year, the load the quantity was a really proven to be the most
challenging, they're the most.
15:01:17 Unlike the other ones.
15:01:23 There's actually there's one question about them that I that
remains, somehow, for me, then that is this
15:01:34 open close baseball thing with.
15:01:38 Does this allow people to do what what they expect to do.
15:01:44 And for median.
15:01:47 Median medium is interesting because it's just, it's not really
quantity 0.5, it's integer division.
15:01:55 And there's, there's also percentiles and whatever up titles,
there's all these integers integer defined.
15:02:23 Quantum tiles. And that is the thing, and if you, if you look at
Wikipedia on percentile you'll find many ways, even for percentiles that
are not the same as all these special.
15:02:38 floating point Q from zero to one. So, so I would, I would like to
understand. First of all, I found just I think yesterday that in the site
pie. There is stats m stats m compiles, which actually has parameters
enough to be able to specify with to floats
15:03:05 all them, and nine times of standard kinds of floating point
compliance describe that Wikipedia and this comments paper from Poland, I
think, as far as I understand, you can't get those currently with compile
with a compile some Indian functions in the
15:03:30 paper.
15:03:33 Okay, you're referring to your lamp those paper there yes and we
spoke with her.
15:03:39 And I think we decided on this reduce set of functions.
15:03:49 I think what originally I was doing I'm looking at Python simple
statistics library now I think I'm meeting the base requirements of just
what Python does here not the non pie or any other library I think this was
just the basic Python library meeting
15:04:08 its standard
15:04:11 01 well accepted mathematical name for the quantum file that you
are calculating
15:04:22 look it up here on the Python library just says quantum divide the
normal distribution and and continuous intervals with equal probability.
15:04:31 It seems Quantel seems to be that standard definition and
everything else is that an extended term or specialized term for anything
else.
15:04:47 Well, I'm not sure I agree with that. Right.
15:04:44 If you look at paper or Wikipedia on compile.
15:04:52 I think the, the way, non paid assets.
15:05:05 There's many many choices on, like if you want to divide by n or n
minus one, or if you want to interpolate like from. I mean, there's so many
kind of weird arbitrary choices you can do when you interpolate your data
like do you want to consider each
15:05:19 kind of been as starting from the left. And the last been update,
starting from the rights and then you kind of interpolate from the edges or
dissenters or there's um there's the one that the Python does by default is
actually quite.
15:05:39 I like it, but it's actually quite different from all of the
others.
15:05:45 And it's not the default in most other packages like side pie and
maple and hard, and they most of them actually support all of these
different ways to do things.
15:05:57 And then we have with an accepted, then people would know right.
15:06:03 I don't think it really has one it's, it's kind of it's like,
yeah, Wikipedia.
15:06:11 Number seven or something like that.
15:06:14 Wanting to become a columnist
15:06:19 economists are very good at corralling terms together for each
other, maybe they have a, they actually use this stuff lots maybe they have
a better glossary.
15:06:31 That's true.
15:06:32 But the interesting thing I think was was his this.
15:06:36 I mean, if you think about being able to generalize this and
actually make people, allow people to do what they do to push their current
route, so sorry route, are or non pie or whatever they used to c++, if we,
if we had something like what site by us.
15:06:58 us. It's two floating point values, and they, depending on what
you set these two.
15:07:11 I mean this is, then you get all of these variants variations,
described Wikipedia.
15:07:14 And this is still only for floating point.
15:07:19 Kind of interpolation. If you also go to.
15:07:23 If you look at percentiles which is very.
15:07:29 Those kinds of integer based fractions.
15:07:32 That's actually in a way, quite different, because then you can
start to interpolate things that don't necessarily require flopping points
multiplication.
15:07:44 So you could you could do model.
15:07:50 Some types of maybe not doesn't support dropping points.
15:07:54 You can actually interpolate in in a much broader set of corrected
things then flows.
15:08:07 But maybe that's, that's something else but but I find it a little
bit
15:08:16 annoying that
15:08:19 we can't. Usually we have too much almost flexibility in c++
library, libraries, but
15:08:33 I like to have this, this possibility to specify this all family
today call it in, in the rooms in their site by Johann, are you referring
to percentiles as divided equally into 101 100 groups.
15:08:53 Yes, but if you look at Wikipedia on how people do that there's
also many ways.
15:09:01 And that's only 4% five and then there's also the divide by four
and all kinds of include groups that. And if you actually read only
40,000%. Yeah, exactly and that's not the same as 25%.
15:09:18 I really would take Wikipedia with a pinch of salt when it comes
to naming things of course much. Yeah, yeah, yeah but but still.
15:09:30 I mean, it allows us to discover that there is a concept of
integer compiles that are actually not the same from, from a P.
15:09:40 That is defined by floating point.
15:09:48 What did we do for standard deviation. I mean there's population
and sample.
15:09:54 That one we have a parameter there to pass.
15:09:57 I'm thinking with what Johan said if we were able to meet the base
requirement or the base standard here set by side pie that might be all
right. We would allow you to pass to floating point values, give you all of
these variations here.
15:10:12 It leaves open the question but percentiles but at least we could
match everything that sci fi is doing with the basic quantum miles is I
believe that's enough flexibility.
15:10:24 I prefer. In this case you have any new
15:10:29 rather than infer from two floating point values if we've got nine
types we should have an email with nine types of, same with me essentially
the same did the same with any of these things will have alternative
calculations standard deviation Quantel,
15:10:45 you know, percentile.
15:10:48 That's my.
15:11:05 half of 1.5.
15:11:03 So we started opening it up to making it more generic like that. I
know it breaks mystical justification to that.
15:11:11 Historical justification to that.
15:11:22 Yeah, I would.
15:11:17 Yeah.
15:11:22 I find I find it a little bit. I mean,
15:11:31 one could have names for these. I mean one that could be, it could
be one argument that has a default value, but there's no reason that
because implementation is going to use these two values, there's no reason
to not expose that to the user because they,
15:11:47 their values have a meaning, that's how you round up and down and
how you divide the range of stuff.
15:11:57 You could, it could have some of the sign that lists these default
things as I'm not sure they have names in them, they, they are really our
type four or 569.
15:12:15 I'm not sure we want to refer to our.
15:12:21 The standard either. Yeah, they don't have names and then we have
to ensure that we cover all the cases. Yeah.
15:12:28 Well if those two floating point values.
15:12:32 Let me ask.
15:12:35 Could a user specify, I don't know what those are. Did you just
specify two values which would make sense, which would not make sense.
15:12:43 Yes.
15:12:47 I hate giving people rope to hang themselves.
15:12:54 Bye.
15:13:07 Here it is in the comments there the link to this thing, see what
this thing officially looks like, really, all the, all the statistics,
utilities, support these, at least.
15:13:30 And
15:13:30 that means ones like SAS SPS and Sr. Yeah, all of them had this.
15:13:38 That kind of sets a precedent or a bit of a standard then to
follow.
15:13:51 Except Excel.
15:14:06 No, it's a little bit of a struggle for the visa I can definitely
see that if we follow the standard set by all these other packages were at
least in line with what everyone else is thinking, and it does provide the
flexibility here although Yes, it's
15:14:19 not going to be an enumerated value it's going to break our
standard.
15:14:24 But we can appeal to the fact that we're doing what everybody else
is doing the de facto standard here.
15:14:42 Just as a really off the wall remark here, does anyone think that
it is possible, or realistic that this proposal should perhaps so mid Kwan
tiles in the median here for the first iteration and allow that to come in
the second after there's been a lot
15:14:57 more time to think about it, given the trials and difficulties
with this.
15:15:03 Or do we want to try to ship something that has that in there.
15:15:11 Is there a most common one you think.
15:15:16 I guess kind of what we're seeing in like sci fi here.
15:15:20 And then if we want to add on the added percentiles and more
flexible features leaked later, but just have this first incarnation.
15:15:29 Looks like guy has something he could say, yes, suddenly, smaller
papers get through a lot more easily than large papers.
15:15:38 One approach, you could take, which we took with linear algebra
was to first of all, prepare a presentation in a position paper that says
there's a whole pile of special functions that we want to add.
15:15:52 Here's a list of them. Here's the all that we're going to attack
this in. We're putting the easy ones first, so that we can think about the
harder ones whilst we're going through the easy ones, we're much more
likely to get time in front of lobby working
15:16:06 group with a 10 page paper than with a 40 page paper. So, unless
they're unless there is any, you know, direct relationship between them
that requires any of these functions to be pulled together, then there's a
there's a lot of benefits and pulling the
15:16:29 partners into smaller papers.
15:16:27 Okay, along with kind of the indirect or promise here that they
are coming, so they don't give the impression that permitting that major
feature. Make it clear in this this first paper that those are coming.
15:16:38 But there's going to be a little bit more thought about the first.
This is what we did within your algebra, but when I first came out the
linear algebra paper people said oh need solvers.
15:16:48 How's the game, gave god no doubt, you know, we've never get a
favor out if we did that. So we have this layered approach we we start with
the matrix class and then we build on that and the same way you start with
fundamentals and say Don't worry more
15:17:01 is coming. It'll be fine. reassure people.
15:17:03 Okay, so this one then would look at the mean, standard deviation
and variance. And then the mode, the mode I think is easy enough to get in
here that one's not too much of a problem, but the quantum files here, and
we can appeal to this fact that we
15:17:18 have inconsistent definitions of even what quantity is.
15:17:24 There's this de facto standard that most of the statistical
libraries follow but Wikipedia says something else so it's not advisable to
push through the quantum at this point since there's just too much debate.
15:17:36 But we are looking at it, we're not forgetting about it. You're
not leaving out this major feature that's coming in the future.
15:17:47 I can deal with that.
15:17:50 So it's the idea to spit it out.
15:17:54 The content and media from this paper, or is it to make it.
15:18:00 Did you say remove mediums well.
15:18:06 Medium perhaps if there's not too much debate about that at least
in for for almost for sure in this sort of case, because we know it's just
immediately in the center their average them together, We decided we give
you one value back.
15:18:21 It's the quantum file here and the definitions associated with
them that's really posing the problem.
15:18:27 So you would at least for the time being have the ability to
compute compute a median quantum while we would say as forthcoming just
given the difficulties will give you a medium at least as a start.
15:18:41 One could argue that if we're not ready to decide on the design
interface and
15:18:50 requirements contracts on contracts that could influence our
thinking about. We can also buy things that we're talking about now like,
what should be returned to be the prediction should it be the value
15:19:09 or not. Yeah, yeah.
15:19:11 So it looks like I would I would like to tie them together.
Actually, I, I'm really interested in these I think they should come in as
soon as possible but not sooner, and not the price of the other things I
think, okay, so it seems like we're kind of
15:19:29 in agreement that we should take out this section, it's just we
want to take out both Quantel and medium,
15:19:39 or just leave a partial media in here like for assorted case where
it's very easy return an average value user has something to work with
until the quantities comes.
15:19:51 Go ahead. Go.
15:19:54 This is more of a meta point I noticed the top we've been here for
an hour and 20 minutes, and there is another paper that's we're expected to
review here.
15:20:03 We should probably Larry your chair, which we do show a meeting
coming up soon so I think I'm.
15:20:12 Since I'm giving the paper, it's not really a paper first of all,
I mean it's it's really a PowerPoint when I'm not even close to a paper on
this.
15:20:23 Was it was gonna say always, always do is make sure is make sure
that if we continue with this we're continuing. As a matter of choice,
rather than by default.
15:20:32 Right. So, at this point, I don't know what how do you should we
take a vote, I guess the proposals are.
15:20:44 So, First of all the proposal to remove Quantel.
15:20:49 Let's just.
15:20:51 Can we take a vote. I'm not sure how to take a vote, so.
15:20:56 So, this is Michael sorry I've been monitoring I've been listening
to the call, but now I'm back.
15:21:02 I think, I don't know of a vote is needed. I think it's Richard
has taken all the feedback, he will go off and and make the adjustments,
according to what he picks out.
15:21:13 Is that the case, I'll definitely be in correspondence with
everyone through email and mailing list I'll make Yeah, we have some input
for sure. Yeah, yeah.
15:21:22 Yeah, yeah. So I don't think we need a boat here. Unless you want
one, but that's fine that that goes ahead I'll send the email but it looks
like at minimum, we're going to pull the quantum miles out, just give me an
it's not ready.
15:21:26 No, no, be careful as you make the changes to the paper, because
you're, you're making change to a published paper, paper, you should make
the change to a new up the paper, a D, whatever this this one is.
15:21:48 Okay, the same number, but the new revision up one, and then we'll
review that one. And here's the problem. When you get to LEWG which paper
Do you review.
15:21:55 Okay.
15:21:57 If there's a lot of changes here.
15:22:00 Or there's only a sorry it's if there's only minor changes here,
then you could potentially post that paper to the group, so that they can
see that oh we have some, we had some late updates and we can, we would
rather that you review the newly updated
15:22:16 paper. Okay, so hopefully that's probably the best best thing if
you can do it like that, if there are a lot of changes then we're going to
have to probably, if we can get it out in on the 15th of this month, or the
next month, then, then, then publish
15:22:31 another paper, and that way they can always have the latest paper.
15:22:34 Okay, okay, okay, it's not going to be too terribly much it's
going to be segmenting the other algorithms into. Okay, and the iterative,
or input iterator and a forward iterative version, and then pulling out
these quantum miles here is going to be the
15:22:48 big chain guys know Be careful though. Are you sure that these
changes are blessed by everyone and everyone will like it always, always
thinks that like this is what I'm changing going to increase the consensus
of the paper.
15:23:02 Meaning, more people are going to like a more people going to love
it.
15:23:06 If it's not clear that more people are going to love it. You don't
have to make the change what you can do is put it as an alternative and
say, oh by the way some people would like it like this.
15:23:17 Okay. You can do it as a new addition as an additional attendance
section. So, you make the choice but be careful you don't want to decrease
the consensus on this paper.
15:23:28 Okay, some of the issues don't like with that execution policy is
going to be a problem if it's just an input and radio so that exactly if
you think something is going to get even slightly controversial don't, you
don't have to.
15:23:40 Don't you don't have to throw away but put it in as an attendee.
15:23:43 Okay, okay. I think some of those are kind of almost mistakes that
need to be corrected. Okay, if there's a clear mistakes, go for it. Yeah.
15:23:52 Okay. So, as I understand that. I mean, this is, it's not this
group that writes this paper.
15:23:59 It's, we are discussing feedback on the paper. Yeah, it's so we're
not voting on how the paper should look or anything like that.
15:24:10 We still have to vote to exit the paper we did that already is.
Exactly. It's already done. Oh, this is just back. Yeah, yeah so and that's
the same so I we're not going to go through this today, I think, at least,
we don't have time and I don't think
15:24:24 anyone has prepared for it. I have written this other feedback
paper. Also, which talks about the exceptions and things like that. Right.
But, but that is also I mean, that is that is input.
15:24:53 So, whatever happened to it will happen.
15:24:46 So Michael has his hand up but I will answer your question first.
You have published a paper about exceptions, is that a piece of paper
that's published.
15:25:02 Now, right, it's going to be P paper tomorrow or whenever the
mailing is. OK, so it's going to be published this month. Right.
15:25:06 Yeah, it's the 15th I think the team. Yeah, yeah it's currently in
SP. You want to review it here in this group.
15:25:18 I don't know what what the best way is that we don't have time for
today I think when no no we have time.
15:25:25 Okay.
15:25:27 People about to publish is much more urgent than anything else we
have on the left. Okay, so if you have a paper that's about to go public.
We that that trumps everything else on the agenda.
15:25:39 So, in that case we would look at that paper immediately.
15:25:44 Okay.
15:25:45 And that way you can get feedback from this group, and then you
then you can decide whether you want to go through with publishing or not.
15:25:52 Okay.
15:25:53 Michael, go ahead.
15:25:54 Yeah, it's more of a personal preference, maybe, but the the idea
of having choices in the paper is good, in my opinion, but the idea of
having too many choices.
15:26:07 I think it might be detrimental to the, to the paper so it, I, I
suggest a weighted so for very important decisions to to have the options
in the paper but not for every detail because that might result in
confusion, at least when I read the paper that
15:26:24 has too many decisions to take. I find it confusing that I cannot.
15:26:32 Understood. Yeah. Yeah.
15:26:36 Yeah.
15:26:36 I can't believe it won't be too many choices but I just want to
tell which had all the options he has. But, but you're right. Don't don't
don't put so many choices that it becomes very confusing I find it
confusing to to so many choices.
15:26:49 Okay, so, um, so let's take a sorry I'm just going to I'm going to
join back in and help chair, because I'm back.
15:26:58 Thank you very much to Larry for driving us to choose.
15:27:02 It was great job, absolutely fantastic given that you really well
you've been with us for over six months now so it's up to you. You've seen
enough of these.
15:27:12 So I think we have a couple of things in front of us just to take
stock, we have the Johan paper on exceptions. We have guy Davidson was
going to give an update on linear algebra, I believe, and we also have the
reinforcement learning feedback or approach
15:27:30 of these, I want to make sure we get the exception paper looked at
and reviewed and then whatever time we have we can do the feedback and
feedback or the, all the linear algebra look but if we don't have time, I
would relegate those to the next meeting.
15:27:45 Okay, with that, would that work.
15:27:50 Okay. is that okay all right guys okay Larry Are you okay with
that.
15:27:56 Sure.
15:27:57 Okay, thank you. Just high, it's just time time time time
management here. So with that, I would say I would like to see if I can get
them, Johan to show his paper and discuss it.
15:28:11 Yeah.
15:28:12 Let's see.
15:28:16 segments.
15:28:41 alright.
15:28:57 Right.
15:28:59 Yeah. So,
15:29:02 After last time when the call I, I thought, I have trouble making
myself.
15:29:12 Understood. So, I started to write down my thoughts instead. And
that went out of hand into this part too long text.
15:29:27 So, it's mostly a lot of References Footnotes disguised as a paper.
15:29:32 But what I what I do in this paper if I, I think I can go through
all the cases where, where exceptions are thrown stats are exception, and I
compare it to other things that currently exists in.
15:29:50 In, c++, and other libraries, like, especially math functions and
the existing math functions. And you even like mid range cases.
15:30:03 For example for in their products and transform and all of those
we gracefully deal with empty ranges, and pretty much all the main
15:30:16 means mainstream tools for statistics, either house, have a
special mechanism to deal with kind of missing values empty ranges, norms,
or things like that.
15:30:29 And it's far too long to really go through, but I can, I can try
to to outline, why I come to the conclusions they come to in that, if you
looked at for example mean there's special casing on empty on some on sizes.
15:30:55 There's
15:30:59 Sierra weights, and so on. And all of these, I think fall into
categories of special types of error conditions that we already have in the
standard library.
15:31:15 Like, whole errors, the main errors. Yes, that's we have for long,
and even division by zero.
15:31:25 And so,
15:31:31 if you look at
15:31:35 this case of missing data that shows up in many cases like
precocious and standard deviation all of these.
15:31:45 They are also, I find it much better to extend kind of input
domain to love them.
15:31:53 And that's what most of the commercial tools and libraries do not
the commercial tools, and various libraries do.
15:32:03 So for example, love, and stop by and all of these have some way
to return, but it always get the value back.
15:32:14 And there's no exceptions or problems, usually in any of these
kinds of cases,
15:32:25 Even then C sharp, those libraries use, not as a way of returning
15:32:33 problematic conditions, so.
15:32:48 Yeah.
15:32:48 Yeah.
15:32:50 And then also, if you think of
15:32:55 how these things.
15:32:59 If we are going to use these functions as cornerstones to or
building blocks for more advanced algorithms like machine learning stuff
for image processing or whatever.
15:33:14 And there's going to be like higher order functions operating on
them.
15:33:19 And usually mass is not expected to throw exceptions, so that that
is probably going to annoy a lot of people. There's also a large fraction
of c++ developers that don't have, except just like enabled, and I.
15:33:39 There's some statistics on that, but I would assume or.
15:33:46 I'm pretty sure that the people who are really doing the miracle
computations, have a much larger fractional.
15:33:57 We probably need to disable exceptions.
15:33:59 So, in addition to that, if you think about the freestanding
stuff, as in this, the freestanding limitation stuff.
15:34:12 You don't have exceptions. And if we completely avoid exceptions
and do us the other libraries to return, like, Mom, or another mechanism to
the return missing values.
15:34:26 That also allows it to be used on Google Docs or.
15:34:32 Most of these kinds of things are done on GPUs.
15:34:37 Now we're soon.
15:34:42 Yeah, that's kind of the.
15:34:49 There's one like side notes that it's interesting that many come
to the same conclusion us, as this paper does, which is reassuring
regarding how to deal with integer inputs like even like
15:35:10 ups, or.
15:35:14 Let's see what else I think like, even the pythons, much like
shows they convert into your inputs expected double what floats are kept us
blows.
15:35:27 And I find it interesting because that's the same the same as
proposed in the paper.
15:35:35 That's, I think the only way to kind of actually make it work. But
it's interesting because kind of makes it not a generic kind of thing.
15:35:59 It's really kind of a special case in there extolled the work
within yourself.
15:36:01 Yeah so
15:36:04 conclusion is basically try to return. Mom, or in exactly us
existing math functions to go through each of the functions of specify what
is the safest hetero value to return in each case, for example, if you're
if you return, like.
15:36:31 So the most common is to return nom or sample, the causes of the
few values and that is really.
15:36:43 I mean, for example at my company we're always right, we have our
search, have a special rules relating to how you write your research you
always have to be with the possibility of Norman and the search.
15:36:56 If you, If you keep things.
15:37:00 You understand how to work with non, then this is extremely
powerful.
15:37:08 Since we are only actually only working with really supporting
talking points.
15:37:16 I think this really makes sense.
15:37:24 Yeah.
15:37:24 I think that's the summary of
15:37:28 the paper.
15:37:31 All right, questions from people.
15:37:39 One of the things that we've we, in fact, A lot of things in SaaS
we've.
15:37:49 And I've been the one to introduce c++ at the core of where SAS
has a lot of their analytics.
15:37:59 And in fact that a part of this they do turn on the exceptions,
the frying pan exceptions to catch these things and it's been something
that we've had, you know, we're kind of in process of dealing with, I
think, in fact, one of the things that we've
15:38:14 had to deal with is the difference between what the existing C
code does vs GPU code, which is just to evaluate some of these things. Some
of the things as a Nan within GPU because it doesn't have the concept of
floating point exceptions and Larry is
15:38:42 not pushing on this one, a fair amount.
15:38:48 pushing on this one, a fair amount. And to be able to essentially,
turn off the, the floating point exceptions because within the seat code,
what they'll do is they'll, they'll catch that and then try to do something
with it.
15:39:02 And so I think what I'm doing is I'm
15:39:08 endorsing what you're saying that we shouldn't be. And there's
also a little bit of a confusion between c++ exceptions and and hardware
exceptions. And I tend to refer to the hardware exceptions as more dealing
like signals or hardware signals to help
15:39:31 separate the terminology between those two.
15:39:39 And I don't know.
15:39:42 I don't have a sense of how other companies are or what other
companies might do in terms of turning on the hardware exceptions to catch
these things.
15:39:57 Do what and what are their.
15:40:01 The,
15:40:07 the stats exception being used, I don't recall in what cases are
those expecting to be thrown.
15:40:17 Yeah, I can share ideas share again.
15:40:22 It's really these categories, it's empty or to label data
15:40:31 or coal, other kinds of it's kind of the same thing as division by
zero so I just clump that up as a poll error because eventually leads to
division by zero.
15:40:45 So the sum of the weights, is equal to zero. That could either be
a precondition and would deal with it as other preconditions like contract
and that contract.
15:40:58 I mean, we don't show except shows up on contracts. Usually, and.
15:41:11 And then,
15:41:10 yeah, so this is the domain error, like, square root of minus
three.
15:41:17 It's matching sizes of two inputs like rates and values that is
also contract violation in other algorithms, I don't think it should be an
exception here.
15:41:33 Okay.
15:41:41 Yeah, go ahead. Look. Now that's it.
15:41:39 I just wanted to clarify I heard two different two different
things.
15:41:43 Phil was talking about hardware exceptions. I think the original
comment about not having exceptions available was with respect to compiling
with F no exceptions.
15:41:53 Not anything At the hardware level.
15:41:57 Am I right,
15:42:04 there are
15:42:08 there are different things.
15:42:14 queued up for example. Currently there's no GPU that supports a
hardware exceptions. Then there. Then we have the people who turn off c++
exceptions but they may still have like floating point tracking stuff going
on, or on Windows you can turn on c++
15:42:28 exceptions but still have the same mechanism similar kinds of
exceptions that signal out of bounds reads in the stack and stuff like
that. But, and then you have these, which is called.
15:42:46 I mean, this math error signaling, which is math error handling.
15:42:54 It's actually when describe that to see that the reference.
15:42:58 Bottom well described it lists all these different kinds of
conditions, and you can in your implementation, decide if you want to have
like signaling, and how we want to possibly catch that somehow, but yeah.
15:43:17 No, I understand all of that what I was referring to is your
original statement was that there are statistics that show that people,
people do not have exceptions available I thought that was in reference to
people using c++ exceptions not hardware level
15:43:30 signal later yeah yeah that's turning off the exceptions from
there.
15:43:34 Okay. And I don't think that's what Phil was referring to you're
not trying to run exceptions on the GPU or anything so, Yeah, I think we're
in agreement
15:43:47 and guide Davidson, please.
15:43:51 I'm just thinking a bit of clarification here about half no
exceptions. And I've been meaning to ask this for some time now. When I'm a
visual studio user I used to the marks official C compiler, visual c++
compiler.
15:44:04 And when we turn off exceptions what we're actually turning off is
exception handling. So exceptions are thrown but they can't be caught is is
F no exceptions, which I presume is climate GCC difference in that way does
it actually forbid throwing because
15:44:18 for example, all my current exception me is turned off I can still
throw it just caught by the.
15:44:27 If the translation unit you're using has a throw it will copy it
will not compile.
15:44:32 Right. Okay, so if you link to something that has throws, then it
will just, it will just terminate.
15:44:40 Right, so it sort of depends on which point you're in but yes it
will prevent you from using throw in a translation unit where it's enabled,
and it will cause unexpected results Hey them to something that had.
15:44:53 Okay, thanks for lunch.
15:45:00 Okay.
15:45:02 More questions.
15:45:09 I. Are you, are we comfortable with publishing this paper so is it
just to make sure I understand. Let's say you're, you're adding exceptions
to the error handling.
15:45:22 In this paper it's a friendly amendment really to the stats paper.
15:45:30 You could say that it's a hostile amendment, because I'm trying to
remove exceptions from. I'm trying to completely remove the stats that are
exceptional from the paper and replace it with specify the return values in
all cases, I think that makes a lot
15:45:48 of sense. I think it would make it much more compostable you would
be able to write log of
15:45:59 ketosis. And you don't care if it's the log or if Potosi starts
with us.
15:46:12 That gives you some by Sierra or you will just get step number if
no matter what.
15:46:14 So, so that I would not say it's a, it's, it's up to you to
decide, but it's not family, I think, Okay.
15:46:25 Has Richard looks at this
15:46:29 person doesn't
15:46:33 or doesn't mean it's it's just off the press, so it's Yes, I
haven't heard any feedback and I don't think right no one else read it's
really.
15:46:43 So what's going to happen is if we publish this, they're going to
basically asked for feedback from Richard, because this is really against
his paper.
15:46:54 I think that
15:46:58 if you can hold off another month, and have Richard, give feedback
on this.
15:47:05 That would, I mean I can't stop you from publishing I think it's
fine but it's if you can hold off another month and wait until the next 15
which would be June 15, then that means that we'll have another cycle, and
look at this and get riches feedback,
15:47:19 then we might be able to
15:47:24 say that this should go. This, this, because with that then we can
add his feedback to the paper as well you can you can summarize this
feedback and the feedback from the group and add it to the paper.
15:47:38 I got it totally wrong. I originally thought this was a met
friendly amendment, but because it's a it's a hostile amendment. Well
that's going to happen is they're going to come back to us and ask what did
you, what did you think of this.
15:47:50 And if we say well we haven't had time to look at it, then we'll
look like we haven't done our job.
15:47:56 So, I think, I mean I have, I have joined this very late so that's
okay yeah that's just how it is. I mean, that's just how it is. But I
would, I would really like to just to put it out there, because I think I'm
kind of done with it, and I'm not sure
15:48:17 if I can practice. I mean now I have some energy and time.
15:48:30 I'm not sure what happens like what right. Okay, if you put it out
there. I'm SG six will look at it, or while they don't actually look at it
because they don't have any online meetings, so they will look at it, it
will come back to SG 19 which is fine
15:48:40 you can go ahead and publish it, which means that we will look at
it again next month. And with Richard here and get feedback, and there's
nothing there that's that's progressing to the next stage, which is also
fine so I think I'm fine if you want to
15:48:54 publish it. I'm just saying that if you want to hold up that's
also fine so I want to see what guy says Go ahead.
15:49:02 I just want to speak and supportive, your hands favor.
15:49:06 I agree that's Richard I think Richard is is overusing exceptions
and the sort of way that has cancelled against in 0709.
15:49:18 Setting exceptions. I think that exceptions maybe being used as as
yet your ancestors were pre and post conditions would be more appropriate
contract violation to be more appropriate, or simply undefined behavior if
the if the user supplies the wrong
15:49:31 inputs, then we should be throwing exceptions, we should be just
saying that's that's on you.
15:49:37 Okay, good feedback.
15:49:41 I think in that case and.
15:49:44 Are there any other feedback so in that case I'm going to ask for
vote then on this paper to go out and.
15:49:52 And if it goes out that's fine because the heading says, Come to
SG 19. So that means that next month you have to come back anyway you're.
Hopefully you can, yeah.
15:50:04 i.
15:50:03 Yeah. To be honest, I didn't expect to be able to have it all, I
thought, okay, I'll maybe I'll get it off to the 15th and just have it out,
and then we'll see what happens.
15:50:22 So, so, having the possibility to discuss it here. Let's save us
some time but I still actually don't know that I have written.
15:50:24 Okay, good. All right.
15:50:25 Mike only. Yeah, go ahead.
15:50:29 Wouldn't be recycled.
15:50:34 Yes, absolutely. We can start it right away. And, and it could be
it could be ongoing publishing this does not mean that this is a done deal.
It's just first iteration.
15:50:47 So you've already got a number it's three p 2376 or zero, and
that's fine. And since you're targeting only these two groups, it means
that library evolution won't grab ahold of it yet, and that's that's that's
good, that's that's what I want.
15:51:04 That's that's what I want. Exactly. That's what I want to, I just
want them to grab ahold of paper that that's that's, you know, so, until we
say that okay yeah this, we can say what are we integrated with Richard
style or not that's fine.
15:51:15 Okay. So, are there any other discussions and questions on this,
we actually only got about nine minutes left so we definitely won't have
time to get to anything else I think I would like to just, I mean, I
assume, no one in here actually read it.
15:51:40 Really yet, because it's just came out, maybe someone did that. But
15:51:53 I think I explained myself better text them dumbing
15:51:45 them in a foreign language.
15:51:50 So, so it's easier. Yeah, so, yeah.
15:51:52 Okay, no you, you did a great job, no worries that there's some
procedural things that I was just trying to enlighten so.
15:52:00 So what is this paper number it's p.
15:52:06 272376760.
15:52:13 He published
15:52:16 for sg 1966 right.
15:52:25 Okay.
15:52:32 I just want to ask a question.
15:52:36 Yeah, go ahead. Go ahead, ask your question, we are insofar as how
this paper affects the stats paper we aren't actually therefore suggesting
any changes in the stats paper at this point.
15:52:47 No, no.
15:52:51 But there might be changes that's going to be negotiated if we
after our review next month.
15:52:56 Okay. Yeah.
15:52:58 Because that until we enact it and accept this paper we won't
obviously yeah yeah hmm. If I I'm I'll chat with Richard, on occasion. So
do you have any problem with me just giving him a heads up on this.
15:53:16 Just let him know that you've got this in process, no no that's.
15:53:23 It is this on mentioned on the mailing list and it's okay.
15:53:30 Okay, so this is mostly.
15:53:35 I'm not entirely sure this is the, we don't even if you're going
to, I mean we don't probably don't even need to really pull but maybe to
useful for you though, I think you'll find is, whether you think, I think,
Okay, you know what I don't have a better
15:53:47 point I was going to say, move that this paper be published but
you know what we don't need that Paul. I think you want to get a poll how
many people feel that this is a good direction.
15:53:57 That's that would be nice. Yeah, yeah, yeah, definitely. I mean,
because I'm.
15:54:03 I mean, just to clarify, I mean, I don't expect to write anything
like updates on this paper. I mean, so it's not, it's it's the stats paper
that promotes this old stuff right so so feedback is eventually going to be.
15:54:22 To do that, but I would of course want to know what you think that
is.
15:54:27 Yes.
15:54:28 So let me see if this work.
15:54:35 Did you see the pole.
15:54:37 Does everyone see the pole.
15:54:53 I don't
15:54:45 know I don't
15:54:48 know you will pull away I have to do this at the launch the poll.
How about now. Yeah.
15:55:02 It's happening.
15:55:09 People are changing choices. It's cool.
15:55:12 Wait, wait, I got it. Can I feel like I don't see where I vote.
I'm sorry.
15:55:18 Oh, because no you can't vote because your hose I'm gonna make you
a non host, I believe.
15:55:24 Okay.
15:55:25 How about now can you see it. Yes. Okay, as a host I cannot vote.
This is the job back on this system, but I'll just add just add myself in
that one of the numbering system.
15:55:36 so I got five out of 12 strongly for.
15:55:39 Oh, is everything done, I think I can publish the results right.
15:55:43 Is everybody done voting.
15:55:46 Well I see the pole but when I, the submit button is grayed out.
Oh well, I was I voted I voted 100,000% strongly yes, even the strike guy.
15:56:01 Um, are you able to show us. I'm not from mom and dad and honestly
Michael but I'm wondering if you're able to show us the results of the
poll. I'm going to try this is all an experiment you know I love experiment.
15:56:14 So, this is absolutely fabulous but, you know, follow me say Oh,
these are the results and support.
15:56:19 Thank you very much. All right now going ahead and pulling and
let's see what happens okay guys.
15:56:28 You guys see anything.
15:56:31 Well, there it is. What happened, what do you see, I don't want to
tell me what you guys see results, 46%, probably for 38% or 15% mutual, not
simply begins no concern strongly against, that's what we see.
15:56:47 All right.
15:56:48 Get tested century.
15:56:54 No more racing and no one knows what.
15:57:00 Okay, so do we have to add any, any votes that wasn't cast.
15:57:03 Larry said you didn't you didn't cast your vote right.
15:57:07 Yes, my Submit button was great out I can't.
15:57:11 Oh, it probably was because you were a co host so you casting
strongly for.
15:57:16 I was like in the category right above strongly for okay so yeah
so that makes it seven out of 13.
15:57:24 Yeah, we don't get to see the numbers here doing, how do how do we
assess consensus with numbers.
15:57:36 well we don't see how many people have stained was a massive post
and he was absolutely you'd have tracked it right because six people votes.
Well seven people to strongly for five weekly for, we didn't, we didn't see
those numbers and you see the numbers
15:57:46 what we said you don't see them. Okay, we only see this, I don't I
do see the numbers, and I'm going to download the results and see what
happens. I want to see what happens like download the results.
15:57:59 We obviously can't handle the actual raw data.
15:58:05 This is thrilling thrilling thrilling.
15:58:08 So what I saw. How about this, I'll do this I'll do this, I'll do
this guy's I'll do. I'm going to I'm going to share screen.
15:58:16 And this.
15:58:17 That's, yes.
15:58:19 Okay, this is what I see on my screen.
15:58:22 You guys see this.
15:58:26 No.
15:58:27 Do you see the pole. No, no.
15:58:31 I see that you have many tabs open.
15:58:39 He's trying to read the entire internet.
15:58:45 You guys and I'm not trying to impress you with the amount.
15:58:51 But I think Michael, you know, probably has special ramp just for
the tabs.
15:58:58 All right. We can't see the Paul Michael I'm sorry okay so you
use, somehow it's only.
15:59:08 Um, yeah, so you guys only see the percentages you don't see the
actual numbers. Okay. That's right. Alright, that's fine. I will tell you
what the actual number that is I see that there's no way I can actually say
it so I'll put it in the chat I got
15:59:18 six out of 13 but plus Larry that's seven out of 13 for strongly
for so the gradation is strongly for weekly for neutral strongly against
sorry weekly against strongly against.
15:59:36 Okay.
15:59:37 and the number I got was 75200. And that's out of 13 people on the
call. So that means how many people abstains.
15:59:52 That's up to 14.
15:59:54 Oh sorry that's out of 14 people yeah so everybody voted nobody
abstained.
16:00:00 Well you'll have look Berg is here twice. Yes, I only wanted once
16:00:07 that Paul was taken. Yes. Yeah.
16:00:09 Okay. So, Nevertheless, this is a very strongly.
16:00:14 A strong indication that a lot of people like your paper.
16:00:19 Okay, it's pretty good for our first paper going good.
16:00:23 Thanks.
16:00:26 Well you tackled a really like graphics.
16:00:35 For instance what linear algebra does because we're not the only
numerical algorithms in the world here right.
16:00:39 So what else, What else we got any exceptions.
16:00:42 It's full up. If you get it. If you get that data, it's, it's on
your head.
16:00:48 You know so so the standard will give you as much information as
it possibly can about what the acceptable range of data, and what to expect
it, you know we we really go the extra mile.
16:00:57 But if we throw exceptions, then you know that you're effectively
saying, Do not use this library.
16:01:05 It's, you know, and I would be very sad if that happened.
16:01:10 Alright guys, I think we should stop but thank you, you guys. You
guys have been great experimental subjects for all my little experiments.
16:01:23 All right, next week next week, I mean next month. We'll see you
guys, same place. And I think we might be back to graphs, but looks like
we're going to have put some, some reinforcement learning there and maybe
this time we can do an update, but looks
16:01:38 like this, people will have.
16:01:41 Well, actually we could probably wait until the time slot for
stats to review this paper, which will probably be the month after that so
I'll get all the scheduling straight.
On Tue, May 11, 2021 at 11:04 AM Michael Wong <fraggamuffin_at_[hidden]>
wrote:
> SG19 Machine Learning 2 hours. This session will focus on Reinforcement
> Learning and a review of Stats feedback.
>
> Hi,
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG19 monthly Dec 2020-Feb 2021
> Time: 02:00 PM Eastern Time (US and Canada) 1800 UTC Stats
> Every month on the Second Thu,
> May 13, 2021 02:00 PM ET 1800 UTC Reinformaent Learning and Diff
> Calculus
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
>
> Join from PC, Mac, Linux, iOS or Android:
> https://iso.zoom.us/j/93084591725?pwd=K3QxZjJlcnljaE13ZWU5cTlLNkx0Zz09
> Password: 035530
>
> Or iPhone one-tap :
> US: +13017158592,,93084591725# or +13126266799,,93084591725#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 301 715 8592 or +1 312 626 6799 or +1 346 248 7799 or +1
> 408 638 0968 or +1 646 876 9923 or +1 669 900 6833 or +1 253 215 8782
> or 877 853 5247 (Toll Free)
> Meeting ID: 930 8459 1725
> Password: 035530
> International numbers available: https://iso.zoom.us/u/agewu4X97
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93084591725
>
> Agenda:
>
> 1. Opening and introductions
>
> The ISO Code of conduct:
> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf
> The IEC Code of Conduct:
>
> https://basecamp.iec.ch/download/iec-code-of-conduct-for-delegates-and-experts/
>
> ISO patent policy.
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> The WG21 Practices and Procedures and Code of Conduct:
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
> Meeting plan, focus on one paper per meeting but does not preclude other
> paper updates:
>
> May 13, 2021 02:00 PM ET 1800 UTC Reinformaent Learning and Diff
> Calculus
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
> ISO meeting status
>
> future C++ Std meetings
>
> 2.2 Paper reviews
>
> 2.2.1: ML topics
>
> 2.2.1.1 Graph Proposal Phil Ratsloff et al
>
> P1709R1: Graph Proposal for Machine Learning
>
> P1709R3:
>
> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing
>
>
> https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/edit?usp=sharing
>
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>
>
> <
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
> >
>
> 2.2.1.2 Reinforcement Learning Larry Lewis Jorge Silva
>
> Reinforcement Learning proposal:
>
> 2.2.1.3 Differential Calculs:
>
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
>
> 2.2.1.4: Stats paper
>
> Current github
>
> https://github.com/cplusplus/papers/issues/475
>
> https://github.com/cplusplus/papers/issues/979
>
> Stats review Richard Dosselman et al
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1708r4.pdf
>
> Feedback from Johan Lundberg and Oleksandr Korval
>
> https://isocpp.org/files/papers/D2376R0.pdf
>
>
>
> P1708R3: Math proposal for Machine Learning: 3rd review
>
> PXXXX: combinatorics: 1st Review
>
> > std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2
> > above is the stats paper that was reviewed in Prague
> > http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
> >
> > Review Jolanta Polish feedback.
> > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
>
> 2.2.3 any other proposal for reviews?
>
> 2.3 Other Papers and proposals
>
> P1416R1: SG19 - Linear Algebra for Data Science and Machine Learning
>
> https://docs.google.com/document/d/1IKUNiUhBgRURW-UkspK7fAAyIhfXuMxjk7xKikK4Yp8/edit#heading=h.tj9hitg7dbtr
>
> P1415: Machine Learning Layered list
>
> https://docs.google.com/document/d/1elNFdIXWoetbxjO1OKol_Wj8fyi4Z4hogfj5tLVSj64/edit#heading=h.tj9hitg7dbtr
>
> 2.2.2 SG14 Linear Algebra progress:
> Different layers of proposal
>
> https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> None
>
> 3. Any other business
>
> New reflector
>
> http://lists.isocpp.org/mailman/listinfo.cgi/sg19
>
> Old Reflector
> https://groups.google.com/a/isocpp.org/forum/#!newtopic/sg19
> <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14>
>
> Code and proposal Staging area
>
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
> TBD
>
> 5.2 Future meeting
>
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
Michael Wong
Richard Dosselmann
Will Wray
Oleksandr Koval
Scott Moe
Scott McMillan
René Ferdinand Rivera Morell
Larry Lewis
Phil Ratzloff
Joe Sachs
Luke D'Alessandro
Andrew Lumsdaine
Ritwik Dubey
Johan Lundberg
Guy Davidson
jonan lundberg (desktop)
Marco Foco
Notes:
14:01:47 Hi everybody. Can you guys hear me.
14:01:53 Alright, sounds good.
14:01:57 Let me see if I can get him, he could hear something here well.
14:02:08 Okay,
14:02:15 looks like this version of zoom now is doing automatic
transcription for us. Yes, I'm experimenting with this, I enabled it so
that I can see how it works and see if this is something we want in a cell
meetings.
14:02:29 I tried it yesterday with sg 14.
14:02:41 And it worked really, I mean the word translated was really good
and I actually went back and started cleaning up words, although I don't
believe it understand anything other than English.
14:02:45 Bonjour.
14:02:46 It shouldn't.
14:02:46 It shouldn't go me of mine here as to me allied Nicole my Yeah.
14:02:53 No, it doesn't understand Chinese German or French any other
language.
14:02:58 Language.
14:03:05 We all have to store smells
14:03:05 bad.
14:03:09 bad. I can try Spanish if you want. Yeah, Go for it.
14:03:14 All at all those sucky
14:03:20 piano.
14:03:22 I cannot stand a student doesn't seem to get it so
14:03:29 so much fun we have, we can have with an automatic translator.
14:03:37 Oh, my God.
14:03:40 Hey guys, I'm, I'm going to be in a little bit of trouble chairing
this call. And I wonder if I can prevail on somebody to chair it for me.
And maybe guy, because he's had a little bit of experience yes actually a
lot of experience yesterday with 27 people.
14:03:57 Would you be able to do another cheering for me. I'm afraid I'm
having my dinner right now.
14:04:06 I ordinarily I would actually be charged by.
14:04:09 I'm absolutely styling.
14:04:14 I could take over in half an hour. No, no it's okay I don't look
at other people maybe Renee on, or Larry, I unfortunately have to work at
the same time.
14:04:24 Okay, let's see I think I'll Richard he's been doing this for a
while.
14:04:29 I would love to but sadly I actually have another meeting starting
in an hour and a half.
14:04:34 Fortunate reality the online world. Understood.
14:04:37 Anyone else Larry, would you be interested.
14:04:47 I'd be, can you hear me. Yeah. Okay, I'd be happy to do it but I
have no idea what to do.
14:04:47 This that there is an agenda that I put out and all you have to do
is share screen on it and then drive it along the way.
14:04:55 Well that may be harder than you think.
14:04:57 This. There's always time to learn so I'm going to tell you what
I'll do this first of all make your calls and see if that'll enable a whole
bunch of new buttons for you.
14:05:09 This is Larry is going to be presenting some, some stuff to you
right, of course, yes, he will have to, you know, definitely have to have
to do that so actually I'm going to enable share screen for everybody so
that they can do that.
14:05:21 so I think today's main agenda is we got some really valuable
feedback from a couple of people Alexander's on, I think. And who else was
giving feedback to, to, to your document on stats.
14:05:39 So stats has not been reported yet so oh I should actually go
through the normal process while Larry is setting up.
14:05:58 Yeah, I'm gonna go find my, please go find my agenda document that
I sent out the agenda email I sent out yesterday was Tuesday. It will be in
your email somewhere.
14:06:00 Yeah I forwarded that on to you learn.
14:06:03 Okay, hold on.
14:06:04 Okay, so.
14:06:08 Okay. It starts out with roll call participants adopted Jen Yeah,
yeah. So you shared screen on that try sharing screen on that document on
your computer.
14:06:16 Wait, wait a second, I'm looking at that.
14:06:26 Okay, so what I'll do is I'll do the roll call. Now since we are
already keeping track of roll call on the zoom report. I don't actually
have to write anybody's names down but I will call them out I see Larry
lewis i see guy Davison I see Joe Sachs, I
14:06:35 see Johan Lindbergh I see Alexander Coble I see Phil rats LA I see
Renee Rivera, I see Richard awesome and I see Scott McMillan, I see.
14:06:44 Scott Moore, I see will Ray and Michael long, and this is the May
13 sG 19 call.
14:06:55 So there's also a list of ISO code of conduct guidelines at the
top, that people are instructed to read and to acquaint themselves,
basically all it says is be nice, be decent to each other.
14:07:10 and then we'll all get along.
14:07:16 I think for today's call. We are mostly going to be going through
the feedback for Richard Dawson in some stats paper which, which was
published on a cell and but it has not been scheduled yet for LEWG, but
they know about it, they have a lot of things
14:07:32 on their plate so they're just waiting to schedule it. But in the
meantime, there's actual feedback from people read the paper, which is
great, is we don't, we can actually make some adjustments on the fly
already, and that's fine.
14:07:46 Sorry wasn't to the reinforcement learning.
14:07:48 And there's also reinforcement learning Yep, that's right, I'm
going to get to that. And so, but I don't know if Larry and these guys have
prepared anything yet.
14:07:59 But something, actually, which I have, which is, is a work in
progress, but which I definitely want to discuss a little bit. So, I'll do
that at the end after we get through all of those.
14:08:11 So I think it's more important to get through the feedbacks right
away. Be from Johan Lindbergh and from Alexandra Kobo.
14:08:20 And then we can end up, go I suspect this meeting might be short,
it'll probably be an hour anyway. So, and then after that we will do the
reinforcement learning.
14:08:28 If the schedule is good with you guys, if that's good with you,
Larry.
14:08:32 Yeah.
14:08:35 So, I have up the wonderful application known as Notepad.
14:08:41 Got it.
14:08:43 She wanted me to give you a shot of taking the screen here.
14:08:47 Well, you probably don't need to now because I think, Richard will
probably bring up was paper. And then he can he can listen to the
feedbacks, and then you just have to take notes.
14:08:59 Go, Richard. Are you ready to, to bring up the paper.
14:09:05 I can, can I just have a couple of months grab some blank paper
notes, taking the lead myself I'll come back in about five minutes. Yeah,
go ahead and explain the corner the procedure to everything here then.
14:09:10 Okay, so I will do that now.
14:09:18 So guys, um, we got feedback from Johan, and from Alexander,
Alexander I don't think you've been on this call before Would you like to
introduce yourself.
14:09:31 Yeah, I'm just developer who tried to implement those steps
proposal so I am actually I'm not familiar with the whole process of like
how committed works.
14:09:43 Okay.
14:09:44 Thank you very much uu, the bread and butter of how committee
works is, is based depending on people like you who can do these kinds of
things.
14:09:54 And Johan also gave feedback as well too. So I'll explain a little
bit.
14:10:00 This is actually a little bit of an unusual group sg 19 machine
learning is a outreach group, because we don't have the expertise in the
committee in meaning, there is only a very few machine learning, experts
are that kind in the committee.
14:10:15 We are permitted to outreach to other people who are available,
much more specialist in that domain. So as a result, whereas normally you
would need to do jump through all kinds of hoops to get into the committee
be a member, your national body member.
14:10:30 This is all dispense with and.
14:10:33 And now since we have this pandemic thing, we can definitely do a
lot of things live. I mean sorry not live but on zoom call, which means
that you don't have to pay money now even better because in the past you
might have to have to pay money for a trip
14:10:44 to got to show up and all that stuff, or the very least, talk to
somebody who goes there, and then have them proxy you while you can't
attend because you have a job and on and you know I'm totally
understandable.
14:10:57 So, having said that, this is actually the perfect time to do
something like this where we can just get the feedback, look at it and then
see what we can do to adjust that.
14:11:06 Having said that, though, you could definitely join your own
national committee.
14:11:11 I'll quickly explain how that works because actually, I just
answered a question from from, Kate.
14:11:20 On one of guys books I think about how committees work so let me
just explain the committee's that ISO committees work like the United
Nations, they are, they have their national delegations except get sent to
them.
14:11:34 So each country has its own delegation.
14:11:38 And there's a head of delegation. So Canada is called Standards
Council of Canada, the UK is called British Standards Institute, the Asana.
14:11:48 The American is called insights, or used to be called and see if
there's some standards is still quite antsy.
14:11:59 But each country has its own, but not every country belongs to the
ISO standard has not every country has a standard development organization.
Most do.
14:12:06 And even if they haven't a standard development organization or an
organization that sto might not have joined the c++ part. They might have
joined what other things like elevators and and railroads, but they didn't
join the c++ part.
14:12:18 So, depending on how deep you want to dive into this rabbit hole,
you could go through and try to figure out, you know, which country it is
that you belong to, and can do do they have an SEO, and they have an SEO
does that as do.
14:12:35 That is still join the group that's relevant for c++.
14:12:40 You can do that, but I can also just tell you right now by just
going to displace.
14:12:44 Okay, I'll quickly share my screen here.
14:12:49 Okay. If you go to I did you just search for a sales.
14:12:54 sc 22, which is our parent body, you'll find all the parts that
belongs to the all the working groups that belongs to this, and under this
thing that says participating members if you click on that you'll find all
the countries that have participation
14:13:08 status and the name of the acronym of countries SPL.
14:13:13 And you'll see that these guys are participating which means they
vote. And these guys are observing, which means they don't get to vote but
they can show up.
14:13:22 If your country is not on any of these. That means you don't
either you don't have an SEO, or your SEO never bothered to join c++, which
means either way it means a huge amount of work for you to try to get
involved, unless you can talk to somebody who
14:13:37 was a friendly country or something like someone like us and just
go directly in. So we're trying to make those things a lot easier. Okay.
14:13:47 guy Davidson Davison Go ahead.
14:13:50 Guy Davison Go ahead. Yeah, so it might be worth mentioning that
whilst it might seem like a huge amount of work.
14:13:58 It can happen quite smoothly and we only have to look at how to
discover who turned up at CVP con in 2000 and right now I think it was an
interesting paper on CTR and then two years later she formed and is now
chairing the Czech national body.
14:14:14 Yeah, but some countries, it's not a huge amount of work for some
countries, it can be a huge amount of work. and lately it's getting a lot
easier. So, all Xander depending on which country you're from.
14:14:26 If you see any of these countries on your list, then you could
actually join. Now having said that they are also more conditions, being
part of a delegation.
14:14:35 As far as I can tell, is not doesn't necessarily mean your country
of birth. I've been particularly permissive in terms of my definition I for
Canada, it's basically if you.
14:14:59 We have you live here.
14:14:50 You were born, or you were born here, or your home or your company
is here.
14:15:01 So those are three ways you could actually belong to Canada.
14:15:05 So I don't know which, which country are you in Alexandra.
14:15:09 Yeah, I'm in the Ukraine, it's actually in the list, and I wanted
to clarify that these countries from the left side, they actually
participants in the c++ so Commedia.
14:15:21 OK, so the participating countries are participating at all level
of sc 22.
14:15:30 So, we don't talk about the working group levels so you can join
any of these working groups within se 22 So yes, the answer is as c++ says
yes, but you can also do C, or cobalt.
14:15:43 Okay.
14:15:47 And the difference between the countries on the left is that they
get to vote and the countries on the right don't get to vote yet.
14:15:53 Okay.
14:15:59 Alright.
14:15:58 All right, so let's say with that Richard, are you ready to, to,
to start. I am Yes. Okay, go ahead, please.
14:16:09 So it's good probably if you can bring up your the documents so
that when people talk to it, they can sort of.
14:16:18 Yeah, there we go. Thank you.
14:16:20 Hey, so we had made some revisions following I believe that was in
April was last time we looked at it, Johan there from Sweden has some great
feedback, they were some minor revisions, we went ahead and made those.
14:16:36 and they have now appeared in the mailing list.
14:16:40 So in the last little bit, Alexander has been so great to contact
us and provide some additional feedback here that will help better this
proposal.
14:17:02 And as Michael said, this thing has not been reviewed by the
committee yet, which means we have the option now of making changes before
they see it. So this is definitely the time to make those changes as on a
separate screen here the feedback from Alexandre,
14:17:12 I believe everyone has that email.
14:17:14 I've been going through it a little bit on my own.
14:17:17 And I believe most of these are very reasonable and very logical
changes to be made.
14:17:24 First one here talks about the updated constraint for the
execution policy, changing the Remove CV a ref type to the decay type. No
problem. Absolutely.
14:17:36 We can change that kind of thing.
14:17:39 second item on the list at any point if you need to stop and
interrupt that's good.
14:17:44 The second point here the stats error should have a constructor
that allows you to pass a string to it. Obviously to carry the information
about the error.
14:17:57 Absolutely.
14:17:57 Not one fear would be right inside of the stats here will just
improve.
14:18:01 You know just. This is our, this is your hands or Alexander's
feedback. This is Alexander's exclusively today. Okay.
14:18:13 So I suggested that we have an overloaded constructor here, it
takes a string, in order to pass the information of the what function here,
describing what the error is, of course, we should have that.
14:18:25 Yeah, so that was overlooked can absolutely be added immediately.
14:18:33 A few of the other issues here let's take care of the easy ones
first and then we'll come back because most of the challenging ones are all
part of a common theme here, they're all unified.
14:18:45 First of all here.
14:18:47 The use of the naming convention underscore T.
14:18:53 Is that not c++ standard when you define a new type to post fix it
with underscore te was I making a mistake with that
14:19:06 looks like guy has a response for that.
14:19:10 There's no.
14:19:11 The only naming convention that we have regarding underscores is
that symbols of symbols, beginning with two or one underscore reserved.
14:19:22 There is a habit on some proposal writers to create types with
underscore T.
14:19:28 It's useful but it's not mandated and it certainly wouldn't
require it wouldn't be sent back.
14:19:33 Luke is responsible for evolution working group is responsible for
naming and they might have words to say but over the past year or so I've
noticed that we're not quite so
14:19:47 intent on making sure all new types of an underscore te.
14:19:50 It's a hangover from see it's quite useful.
14:19:57 The only place I can think about that has on this party. Now, if
this short tense, or using shorthand for the traits.
14:20:12 You know, I mean like, Yeah, I agree with it.
14:20:18 I don't think it's anywhere else.
14:20:21 Currently,
14:20:27 I think more importantly also, I wouldn't worry too much about the
names because they will be extensively litigated by library evolution.
14:20:37 So, you know your names of suggestions like revolution will will
say yes or no to them and offer alternatives.
14:20:45 So, so don't.
14:20:47 Don't worry too much about the precise detail of names.
14:20:52 Okay. Without then at the moment I guess I'll just drop the
underscore key, since it seems to be out of fashion and like you said, the
library team is going to have a look at that anybody minor point
fortunately.
14:21:06 Let's see if there's any other related simple questions here
before we proceed to the challenging ones, another one here with
interpolation underscore te no problem to change that.
14:21:35 Okay, all the modes function here or the quantum files.
14:21:28 There is the discussion and the suggestion here that rather than
returning.
14:21:35 An interpolated value, such as in the case of a quantum file. What
if we instead returned interpreters to the values and allow the user then
to have access to them inside of the data structure.
14:21:49 I believe I originally had done this in the first version of the
paper, and yen's Mauer spoke up and thought that was a poor idea, we should
return values rather than each Raiders, even though for example the max
element returns an iterator, I believe
14:22:04 it was the ends who suggested know we should return values,
instead of iterating hours.
14:22:12 Anyone have a comment about that I was following a yen's advice
believing him to be more experienced in this than myself doing me in the
projected values for the raw values.
14:22:26 I think it was just the raw value, just the entire structure
itself, whatever it is,
14:22:36 but it can be actually quiet enough in efficient I mean, like in
the actual role Hello can be pretty big
14:22:52 that's definitely true. It looks like I had a comment about this.
14:22:58 I was only going to affirm that yes it's certainly worth listening
to.
14:23:05 before you make any changes to the paper.
14:23:05 If you said something then Dublin, Ireland, and make the point,
otherwise so somebody come back and tell you well no I said this.
14:23:14 And he does turn up at all the wording groups that core groups and
the library wording groups, so he does carry considerable way because he is
extraordinarily experienced and a very accomplished at wording.
14:23:30 Actually, so my, my take on this.
14:23:34 I started to write stuff about these but that just turned out to
be too much I hate cut it out from my other comments paper, and maybe I'll
write something about that I think this.
14:23:45 I think the chron tiles and mediums are actually so complicated,
compared to the rest of the rest that they really
14:23:58 mean the expectations and use
14:24:02 may differ a lot, but if we want to provide something that looks
like. What does in other languages like Python or statistical tools, then
it has to return to some kind of value.
14:24:18 And I would, I would feel that it could be very surprising it but
it's not a projected value.
14:24:25 And I think it costs a little bit against this pattern to have to
return the values in some cases for this other one is optional, and all of
that. So, my, my summary of the comments I haven't written yet would
probably be that we should pick either either
14:24:50 be really a mass like function where you get an answer that you
can use, or like the proposal I started to write for like a generalized
element instead, where you actually get full access to everything and then
you can do whatever you want but it's super
14:25:09 complicated to use.
14:25:12 I don't agree that we don't want to use work with iterate iterate
there's us out here because you want to. We want to have a mean and median
and quintiles have the same output the kind of interface.
14:25:33 Wouldn't it also mean that,
14:25:37 you know, because we need to order the containers at times. Now,
to get, like, mode.
14:25:48 We would we be exposing an iterator for an internal container.
14:25:56 And so that adds additional complications.
14:25:59 I that's actually where I started with my critique and the ideas
are regarding this this paper that I thought like, why isn't it done.
14:26:11 This completely other way, but I don't think that it's the way to
go because and also no other.
14:26:18 No user would expect something like that either you'd have to have
a very complicated.
14:26:24 You would have to return, like where to where which points, all of
the points you interpolated from what interest rates did they have what
weight, do they have.
14:26:37 You would have to return, like big structure with information for
someone to actually be able to use it.
14:26:45 So I think it's better to just make it a black box.
14:26:50 And then you can have an algorithm, like a generic algorithm that
does generic things, but they can do that is not this.
14:26:59 And they could work on whatever they thought you have, you don't
have, you can.
14:27:07 Yeah.
14:27:08 Right, so we're kind of wanting to work with a scalar value and if
you've got a writers then, now you're talking about dealing with ranges and
multiple values and it just doesn't feel quite the right thing.
14:27:29 I help him.
14:27:32 So, as far as I understand we agreed to return value returned
values and not the directors and not expose the useful, possibly useful
things shuffling that happened because it could be too complicated you
expose it.
14:27:51 Yeah.
14:27:54 Okay, so it seems like we still have consensus that we want to
return a value. I agree, perhaps now we should probably return the
projected value, rather than the whole structure.
14:28:04 If it is like a structure that has five integers let's return the
integer inside in question, rather than the whole structure that change
could be made.
14:28:13 Yes.
14:28:15 I think I should write down my thought about updates about these
things because I thought about what happens with you. you want to.
14:28:27 If you want to keep this by your return an optional for like the
right
14:28:36 like one of the two. In case of median. I'm not, I don't think
that's.
14:28:45 It would be nice if we could just avoid that, and instead just
return a interpolated value, always.
14:28:52 Yeah, I think the first version we did that and somebody corrected
me and thought, No, you should give the option of both.
14:29:03 Yeah, but then you have to, this is like a super special case
where are you now.
14:29:13 That's the syntax around it becomes pretty annoying I think
because do, and and you can only, only do it for media and not for the
others because then you would need, like the remainder.
14:29:26 Wait, parts of it.
14:29:29 That's right and you always have to have an F test er there two
values yeah and then you have to write your own averaging or interpolation
all the time.
14:29:39 Yeah. So So all of this now on hijacking this whole discussion,
sorry. But, so, so after like trying to argue in my head that we should
this proposal to change to allow arbitrary iterator stuff.
14:29:52 I concluded, no, this this definitely not the right thing because
you want to just use it as mean, or whatever.
14:30:00 So, So that's, I wrote.
14:30:03 It works exactly like elements, but you put in a range of me
instead.
14:30:22 So, if you want to do stuff like partition and interpolate
arbitrary things like records with whatever. And maybe you don't want to
interpolate using floating point or anything you want.
14:30:38 and you can use generic algorithm instead.
14:30:42 OK, OK, OK, that's an alternative Yes.
14:30:46 I think we can all agree that quintiles and the median is perhaps
the most difficult one here along with the mode, or maybe not but
definitely those Quantel suppose a lot of problem, right from the beginning.
14:31:02 I have a question.
14:31:04 So,
14:31:07 The median and quintiles to me are fundamentally a little bit
different. Okay, that's, that's absolutely the case yes yeah I mean, the
media is mostly one or two and, you know, most of the time, you know, it
goes back to you want to make the common things
14:31:24 and the easy things easy, right. Yeah, anything worse than that.
14:31:30 And the default.
14:31:32 You know, and anything more than, non common cases, you know, you
want to make it an A possible do but it can be a little bit harder and
almost feel like
14:31:43 different functions. But quintiles are going to return multiple
values all the time.
14:31:50 So, you know that that's kind of a different case to be it's going
to be a vector right i mean that's the way it's going to be or, you know.
14:32:02 So to me, those are those are kind of two different cases.
14:32:07 The way I deal with media and separately from Quantel I guess.
14:32:13 Our.
14:32:14 No. Yeah,
14:32:17 go ahead.
14:32:19 I'm just thinking about the case when the user for example has a
large collection of the items, and tier one get item with the medium price
for example.
14:32:30 And when we if we turn on a projected file if he can answer this
question, he would need one more pass to find this item with the medium of
the meat and actually.
14:32:42 Yeah, that's actually, if you want to do that. Yeah, you have to
pretty much use elements.
14:32:51 I think because because you need otherwise you need to get the
weights, and that depends on, depending on how we designed this on the like
this scheme.
14:33:05 Like the quantum scheme, there are all of these different versions
of contacts that people use, and actually could even, it's even the case I
think yeah so in some cases you don't actually need to calculate all the
14:33:24 same, like partition points depending on which one the schemes you
use, so it's not only a question about waiting.
14:33:32 But, and also the way you would wait, like, if you want to like
actually get access to the records.
14:33:43 And that's not something you can do while interpolating really
than you would think.
14:33:51 I would say use yeah their algorithm system.
14:33:55 This stuff looks like math to me.
14:34:02 Do have existing generic algorithms that can do that.
14:34:07 This is my other. This is my proposal.
14:34:16 It's called 20 375.
14:34:22 It's just I'm just writing it right now but you can you can find
it.
14:34:26 It's just a generalization of elements.
14:34:30 That's all it is.
14:34:32 But that's but if you want to do things like that, then you have
to do it.
14:34:47 You have to decide how do you interpolate strings, I'll do
interpolate time duration so I'll do interpolate post addresses.
14:34:48 You can't really solve that.
14:34:51 I think in this setting.
14:34:57 But I think that we have like a projections for arithmetic values
for doing that so we don't need to interpolate the whole strings, at least
for now, as a retargeting only arithmetic types when this proposal.
14:35:12 Yeah, but then why do you need the records.
14:35:19 Well, that's just one of the use case I can't imagine like we have
some records, and they all have prices, and we want to find record. For
example, with the median price.
14:35:32 But that's, that's an element.
14:35:37 Actually, so that's an element that the only difference between
elements.
14:35:42 And these contacts, is that you get help in calculating like how
many things are in the collection, and you get how wasting them together.
14:35:56 Okay, now, Now I got to find. Okay, thank you.
14:36:03 Okay, that's actually a very nice answer suggests that if you want
access to the element you should be using something like an element, or
your hands new proposal this 2035 2375 instead.
14:36:15 And we should make this a math pay proposal where we just give you
that value that you're looking for.
14:36:22 In which case, maybe we do want to start interpolating or
averaging them together, get rid of that optional and just return one
value, just like you would expect in mathematics.
14:36:35 I guess we were trying to provide both a mathematical median or
quantum style, and we were allowing you to get access to these elements,
when these should be separated into two different procedures.
14:36:51 The amp element ID and then the mathematical medium or Quantock
keep them separate.
14:36:54 This, this took me a month of involuntary thinking to realize it's
it's really two quite different things, possibly, that we want to do.
14:37:06 Okay, well that would definitely clear it up, we would focus on
the mathematics hear them and give the user what they expect like quantum
or a medium, not get a Raiders or multiple values just a single medium or
Quantel that they expect
14:37:24 that could definitely simplify a lot here, I think.
14:37:29 Hey, looking at some of the other points here some of the weights,
being larger than one week definitely can relax that restriction and allow
for that.
14:37:40 Just a brief note again and Quantel is about the sorted versus
unsorted versions that was originally ends Mauer idea to separate them into
the sorted and unsorted.
14:37:52 If they're unsorted you only need to make one pass across it, or
you need. If it's sorted you only need to make one pass. If it's unsorted
you needed this special random iterator random access range, so that you
could swap things around as need be.
14:38:10 So, it was decided that those would be broken into two different
things sorted and unsorted for sure.
14:38:18 The quantities for a moment and come back to them here after since
there and, again, the most contentious part here
14:38:27 with other minor issues that are just technical matters to clear
up and not not too difficult.
14:38:34 Again with the namings the underscore keys, we can drop that
rather using a Boolean for ketosis rather than are using a parameter,
rather than a Boolean sure that'll be consistent everything will be a
parameter.
14:38:48 The name variants here var as a statistics person I always saw on
university that variants and in textbooks was always written var anyone
like the full name variants instead of var
14:39:10 mathematics.
14:39:12 So cause Did you say var.
14:39:14 Yeah, which also means, you know the difference between
Mathematics and Computer Science right computer science var is variable.
14:39:24 I'm.
14:39:33 mentioned like that vs but just open civic the reference and he
found the name function calls about what would he expect. I mean, the
standard library is not only for mathematicians, it's for a wide range.
14:40:06 I like to longer name so suffer for so this is quite specific.
Also, one could. It's. There are not that many three letter.
14:40:10 things that we
14:40:14 three that's right so far is quite a land grab.
14:40:18 And whilst far does indeed, you're correct. I also a novelist
intuition, and when I see vault. That's what I see. However, the context of
c++ is such that we have a lot, a lot, that identifies and var only leaves
hamsters.
14:40:34 Because we're mathematicians look at the mathematical.
14:40:38 I think it was paid to assume as little as possible, of the
audience.
14:40:46 Okay, okay fair enough again I was coming from the bias side of
having a math background like all of us, sure we can change that to
variants yeah yeah and there is a good point that yes that looks like
variable as Larry says, and someone looking at the
14:40:58 standard library might think this is a variable or some sort of
sure we could change that to bear needs. Yeah.
14:41:06 All of the other names are spelled out in full as well so that
would be consistent then sure we can change that.
14:41:13 What do you use for standard deviation.
14:41:16 St DEVB enough for them.
14:41:21 If anybody confuse that with anything else.
14:41:26 Do we want to do a standard underscore deviation.
14:41:34 Yes. Well,
14:41:34 actually, all the, this so called special math functions are very
long names, they are released.
14:41:44 I don't know info. I don't think we should be scared of long
names, really, you know, lexicographical comparison. That's hardly.
14:41:52 You know that doesn't roll off the time, but don't say it means
there's also the scope if you as a programmer, absolutely sick of topic and
parents, you can always alias these names yourself.
14:42:05 I think the smart thing to do, sorry that's an awful thing to say
no I don't mean this.
14:42:11 I think the kind thing to do, to all the consumers of C plus
classes to be as an ambiguous as possible with our names.
14:42:29 Looking at the special, special mouth ones right now Riemann
underscore zeta SPH underscore vessel function. Yeah, we could go ahead and
say, standard underscore variants, or standard underscore TV and give the
full name there.
14:42:39 Again, we're coming from the perspective of mathematicians it's
clear to us but others, they might not. So, yeah, we can definitely do we
could make sure.
14:42:51 A couple of other minor points here about rolling exceptions and
things like that that's maybe a little bit more detail will come back to
that.
14:43:00 Let's look at this big overarching idea of this execution policy
something that I realized I might have overlooked.
14:43:08 If we are going to be working with an input range.
14:43:14 We're assuming you have maybe just one scan over the data.
14:43:23 If we start talking about ideas and parallel processing and things
like that when you only have potentially one look at the data, there might
be issues and concerns with that and that's what Alexander found when he
was implementing, maybe he could speak
14:43:36 a little bit more to what he found.
14:43:40 Well, I haven't implemented thorough version of the app.
14:43:43 But at least as far as I know, like all existing algorithms.
14:43:50 With execution policy they all use for what it razors, because how
you can paralyze things. When you can know the size. When, when you can
read multiple writers like multiple times.
14:44:07 I mean, how can you split this range, with only inputted razors.
That's true. Yeah, we haven't seen the full data we don't know the size we
don't know how to carve it out.
14:44:17 You'd have to scan it once and then you can't scan it again, you'd
have to save it in storage you'd have like you said an old van linear
storage problem.
14:44:27 So what I was thinking about earlier today was what if we had a
version here where we had two versions and input iterator if you just going
to scan over something once, and there's no parallel version.
14:44:40 And then we had forward random moderators and those have
overloaded execution policy versions.
14:44:49 So if you're only making one scan, you don't need execution
policy, we won't allow that. But we would have overloaded versions that
take input or far sorry forward it or writers and those ones could have
execution policy control.
14:45:09 Just to clarify, you do.
14:45:14 Do you need random access for competition policies that would, I
would have assumed that I believe only for the quintiles would be unsorted
where we have to move things around the other ones I think we can get away
with a forward iterator like for the
14:45:28 mean.
14:45:35 Okay, so let's talk to you need to know what you need to know.
Okay, so you can.
14:45:42 Okay.
14:45:45 And, can anyone please clarify for me How can you iterate salted
quanta with only input iterate or when you don't know the size of the range
ahead.
14:46:05 I mean that you need to know the Quantel you need first know
besides convenient to go back and pick up the right element.
14:46:14 And with the impotent writers, you can do that, and leave until
you copy the whole range. This is obviously unreasonable.
14:46:24 Yes, yes, yes, that's a mistake that one really should be a
forward iterator so that you can have at least one scan over at first.
14:46:34 To determine the length and then come back to the center or
wherever you're looking for. Yes.
14:46:42 Looks like guy has something he can add for this.
14:46:46 Um, I wonder if the I'm embarrassing the unfamiliar with the
execution policies, I appreciate how they were but are they guarantees or
are they can.
14:46:58 I think we maybe could ask Michael that he would probably be the
best answer that.
14:47:07 I originally did not have paralyzed version, I believe it was
Michael suggested I did that it seems this year or not.
14:47:17 That's right, Mike was involved with another meeting. Okay, I know
that. As far as I understand the pilot, the execution policy stuff, I mean
you could you can never say that this implementation is not standard
compliance because it's not the panel and
14:47:29 licensing, or anything like that you can't really prove that
within the language.
14:47:34 It's not done observable, that's not observable right so, so, so
quantity of connotations. As we said many times last meeting. But
14:47:47 I, I am a little bit concerned with.
14:47:53 even having a method that has to scan.
14:48:20 I mean, okay quintile is order, and, but I i would i would assume
most users would not expect it to scan twice but. So, yeah. The reason why
I was asking if it's a hint or a guarantee is, is this you know if these,
these raise capital category is known
14:48:27 at compile time.
14:48:29 And if the parallel. If the execution policy isn't is incompatible
with the Israeli category, then you know that that that could solve the
problem of being pastor forward iterator.
14:48:43 When a random access iterator is needed to satisfy the execution
policy.
14:49:02 Looks like Luke has something you can definitely go ahead and
14:49:10 got a wild animal there that's, that's the reality the online, we
got we got a chance to wait for you, not a child but a dog, those, those
are just constraints as to what is correct, right so your algorithm is
correct if
14:49:26 you can, you know, the implementation is is able to do things
based on
14:49:36 requirements. So it's sequential
14:49:48 also was trying to implement it I found that my implementation
would completely rely on the existing existing algorithms, because all we
basically need is the foremost algorithms, is just the way to combine into
separately, calculated.
14:50:12 Statistics information and the mathematical formulas for this, and
it should not be pretty hard. So, the final implementation at this mine
condition would mostly rely on the existing algorithms.
14:50:37 I also want to bring one interesting moment, found that in this
proposal execution policy diversions also are marked context for. So is
this a typo or is this intentional because in theory we can use like stood
his content evaluated and to completely
14:50:59 ignore any execution policy and execute and calculate everything
at compile time, but no existing standard algorithm does that.
14:51:17 Okay, yes I, but I believe that is a table that is a mistake there.
14:51:20 I'm sorry. Could you clarify that mistake again.
14:51:25 That constant expression on the execution policy outside of the
standard.
14:51:32 Okay, got it.
14:51:37 Question. Again, or something like
14:51:42 Or something like in here in execution policy.
14:51:48 Forward range,
14:51:52 potentially could be a problem since you only have one scan the
data.
14:51:58 Like this. Did we want to have just a non execution policy.
14:52:04 Input iterator, and then a separate version with a forward
iterator and execution policy.
14:52:29 Yes, I think, that's fine. Let's like most algorithms are
implemented.
14:52:23 Okay, okay, that's what I was thinking. Earlier today when you
pointed out the mistake area.
14:52:39 If, however, you have like a vector or a list and you want to do
parallelization, then we would have another forward iterator for that case.
14:52:50 Okay, okay, divide those into separate cases then.
14:52:56 Okay, so that actually gives us quite a nice solution to that
problem. That's good.
14:53:03 Returning again to the major discussions here, the quantum miles,
and the, the medium or indirectly, right from the outset, this was the most
difficult problem.
14:53:15 Yes.
14:53:17 It looks like what we've decided here today is we want to move
away from an element and allowing the user to access elements and parts of
the data structure.
14:53:30 We want this to be more mathematical in nature, like Mumbai, or
Python statistics.
14:53:36 So it looks like we're more interested in returning the value,
rather than giving deep access to the elements kind of thing.
14:53:44 So we kind of want to merge it into one value if we can.
14:53:50 And we don't want to provide iterator access.
14:53:54 Since that would be non mathematical and you could do that with an
element instead.
14:54:01 And we're still going to continue to have this idea I believe of
assorted median and assorted quantum and unsorted distorted one would
definitely have to have some notion of like a forward iterator so you can I
get the size of it, maybe go over it again,
14:54:18 even though that's kind of an ugly thing.
14:54:21 The unsorted one definitely, I believe, is going to meet the
random access iterator.
14:54:34 We definitely have to move elements around. So this one I believe
needs to be the random access.
14:54:40 And we want to keep the sorted and unsorted separately. The sorted
is a little bit less restrictive because it's just the middle point.
14:54:49 The unsorted has to be more restrictive. Since we're going to be
using an element to swap things around.
14:54:57 I'm sorry. Within sort of version you're actually sorting the, the
original container.
14:55:09 Yes.
14:55:12 Nobody ever seemed to have an objection to that I think there was
a problem though some suggested that duplicating and copying was a problem
so I think we agree that we would allow it to be switched around.
14:55:23 Anyone have any change of heart about that now.
14:55:29 Sorry doing mean like complete, or just like an element, sort of
elements just a partial change, but it would change would change it would
not leave the original unmodified it would possibly change it.
14:55:45 Okay, so let me be clear here you talked about starting the
original underlying data in response to a function called sorted quintiles
no sorry the unsorted the unsorted one here would be moving things around
in the original data structure,
14:56:05 believe we saw another function that did something similar maybe
and that's where we got the precedents for that.
14:56:13 If I can find that while Luke speaks here, and guy answers.
14:56:19 I don't know, suggest and this may not be appropriate, but a lot
of times if you can allow people to move you a container or copy you a
container. If they want, you know to preserve their initial container, it
would be a cost, right, not move but past
14:56:35 past your reference or move you move you a container so if they if
they really don't want you to modify their data. They're going to accept
the cost of a copy.
14:56:46 Otherwise, they'll just give you a reference and sort of up to
them how they would like to use it now that can be surprising to some users.
14:56:54 So might not be appropriate here but it's an option.
14:57:01 Okay, with that perhaps the Boolean type decision choose if you
want to copy it or just go ahead and mix it up it. Well, I guess what I'm
saying is you're taking the range here by forwarding reference for the
unsorted one note that's a random access or
14:57:19 no I'm just saying sorry I'm saying that are parameter is a
forwarding reference. Yep.
14:57:24 So, if I.
14:57:29 It would be nice if there was a way for me as a color to pass you
a copy.
14:57:36 If I need to and that may be what's going on here like I find know
that this may modify my container.
14:57:41 I will need to make a copy of it.
14:57:44 Otherwise I'm happy to pass your reference.
14:57:46 And that may just be on a user's, it may be on the user to do that.
14:57:52 Okay, giving them a little bit of choice there.
14:57:54 Well, they already have the choice. They can make a copy, and give
it to you.
14:57:59 Okay, okay. So I guess what I'm saying is I think it's appropriate
to, if it's, you know, if it to give this efficient version to someone who
doesn't care if you're if you're manipulating their container with the
understanding that if they do care they
14:58:13 can make a copy.
14:58:14 Okay, just make that clear in the documentation then
14:58:19 just to verify something, my brain here I maybe I need more coffee
this afternoon.
14:58:25 undistorted quintile refers to the fact that your underlying data
is unsorted correct. That's right.
14:58:34 Sure don't like that name.
14:58:39 Watch I'll sell me what you're returning is inserted.
14:58:42 I would much prefer something like Quantel underscore unsorted,
but that's just me.
14:58:48 Okay Quantel over unsorted data, something okay I understand what
you're seeing yeah it's it's also the mutating contest.
14:58:59 Yes, yes.
14:59:01 I,
14:59:10 I was actually going to address this point that mutating and we do
have things like stable partition and partition stable source and source,
is there an appropriate prefix.
14:59:21 You know, unsorted content, I'm sure we can do, we can have a much
longer than that if we like, really
14:59:28 good for the moon.
14:59:29 We need to use Greek letters like the mathematicians
14:59:36 SG 16th feedback. But yes, Yes we do.
14:59:41 I'm actually looking at that stage on on stage so great now in
there. Yeah, that would be a good kind of naming something about Yeah.
14:59:54 Actually Python has pi has both mutating and non mutating there
it's absolutely not clear, which one is which one lives in empty array in
non pie and the other one lives just in line, non pie.
15:00:09 So because empty array of quantum venues, get mutated in place.
Yeah, so I feel like mutated better, and when I see stable.
15:00:23 I think of an understand unstable I think of an unstable algorithm
which doesn't.
15:00:28 It just means something completely different to me.
15:00:30 It has nothing to do with mutation mutation is mutation the
stability is the ability it's algorithmic.
15:00:38 You can always use an exclamation point right as a second language
does that Julia or somebody.
15:00:52 Seriously, I prefer mute. Me either. Some reference to mutation
15:00:59 indicate that yes we are changing the elements that are around in
your data structure.
15:01:08 Okay. I'm sure we can agree again once more that quantum miles in
the media year, the load the quantity was a really proven to be the most
challenging, they're the most.
15:01:17 Unlike the other ones.
15:01:23 There's actually there's one question about them that I that
remains, somehow, for me, then that is this
15:01:34 open close baseball thing with.
15:01:38 Does this allow people to do what what they expect to do.
15:01:44 And for median.
15:01:47 Median medium is interesting because it's just, it's not really
quantity 0.5, it's integer division.
15:01:55 And there's, there's also percentiles and whatever up titles,
there's all these integers integer defined.
15:02:23 Quantum tiles. And that is the thing, and if you, if you look at
Wikipedia on percentile you'll find many ways, even for percentiles that
are not the same as all these special.
15:02:38 floating point Q from zero to one. So, so I would, I would like to
understand. First of all, I found just I think yesterday that in the site
pie. There is stats m stats m compiles, which actually has parameters
enough to be able to specify with to floats
15:03:05 all them, and nine times of standard kinds of floating point
compliance describe that Wikipedia and this comments paper from Poland, I
think, as far as I understand, you can't get those currently with compile
with a compile some Indian functions in the
15:03:30 paper.
15:03:33 Okay, you're referring to your lamp those paper there yes and we
spoke with her.
15:03:39 And I think we decided on this reduce set of functions.
15:03:49 I think what originally I was doing I'm looking at Python simple
statistics library now I think I'm meeting the base requirements of just
what Python does here not the non pie or any other library I think this was
just the basic Python library meeting
15:04:08 its standard
15:04:11 01 well accepted mathematical name for the quantum file that you
are calculating
15:04:22 look it up here on the Python library just says quantum divide the
normal distribution and and continuous intervals with equal probability.
15:04:31 It seems Quantel seems to be that standard definition and
everything else is that an extended term or specialized term for anything
else.
15:04:47 Well, I'm not sure I agree with that. Right.
15:04:44 If you look at paper or Wikipedia on compile.
15:04:52 I think the, the way, non paid assets.
15:05:05 There's many many choices on, like if you want to divide by n or n
minus one, or if you want to interpolate like from. I mean, there's so many
kind of weird arbitrary choices you can do when you interpolate your data
like do you want to consider each
15:05:19 kind of been as starting from the left. And the last been update,
starting from the rights and then you kind of interpolate from the edges or
dissenters or there's um there's the one that the Python does by default is
actually quite.
15:05:39 I like it, but it's actually quite different from all of the
others.
15:05:45 And it's not the default in most other packages like side pie and
maple and hard, and they most of them actually support all of these
different ways to do things.
15:05:57 And then we have with an accepted, then people would know right.
15:06:03 I don't think it really has one it's, it's kind of it's like,
yeah, Wikipedia.
15:06:11 Number seven or something like that.
15:06:14 Wanting to become a columnist
15:06:19 economists are very good at corralling terms together for each
other, maybe they have a, they actually use this stuff lots maybe they have
a better glossary.
15:06:31 That's true.
15:06:32 But the interesting thing I think was was his this.
15:06:36 I mean, if you think about being able to generalize this and
actually make people, allow people to do what they do to push their current
route, so sorry route, are or non pie or whatever they used to c++, if we,
if we had something like what site by us.
15:06:58 us. It's two floating point values, and they, depending on what
you set these two.
15:07:11 I mean this is, then you get all of these variants variations,
described Wikipedia.
15:07:14 And this is still only for floating point.
15:07:19 Kind of interpolation. If you also go to.
15:07:23 If you look at percentiles which is very.
15:07:29 Those kinds of integer based fractions.
15:07:32 That's actually in a way, quite different, because then you can
start to interpolate things that don't necessarily require flopping points
multiplication.
15:07:44 So you could you could do model.
15:07:50 Some types of maybe not doesn't support dropping points.
15:07:54 You can actually interpolate in in a much broader set of corrected
things then flows.
15:08:07 But maybe that's, that's something else but but I find it a little
bit
15:08:16 annoying that
15:08:19 we can't. Usually we have too much almost flexibility in c++
library, libraries, but
15:08:33 I like to have this, this possibility to specify this all family
today call it in, in the rooms in their site by Johann, are you referring
to percentiles as divided equally into 101 100 groups.
15:08:53 Yes, but if you look at Wikipedia on how people do that there's
also many ways.
15:09:01 And that's only 4% five and then there's also the divide by four
and all kinds of include groups that. And if you actually read only
40,000%. Yeah, exactly and that's not the same as 25%.
15:09:18 I really would take Wikipedia with a pinch of salt when it comes
to naming things of course much. Yeah, yeah, yeah but but still.
15:09:30 I mean, it allows us to discover that there is a concept of
integer compiles that are actually not the same from, from a P.
15:09:40 That is defined by floating point.
15:09:48 What did we do for standard deviation. I mean there's population
and sample.
15:09:54 That one we have a parameter there to pass.
15:09:57 I'm thinking with what Johan said if we were able to meet the base
requirement or the base standard here set by side pie that might be all
right. We would allow you to pass to floating point values, give you all of
these variations here.
15:10:12 It leaves open the question but percentiles but at least we could
match everything that sci fi is doing with the basic quantum miles is I
believe that's enough flexibility.
15:10:24 I prefer. In this case you have any new
15:10:29 rather than infer from two floating point values if we've got nine
types we should have an email with nine types of, same with me essentially
the same did the same with any of these things will have alternative
calculations standard deviation Quantel,
15:10:45 you know, percentile.
15:10:48 That's my.
15:11:05 half of 1.5.
15:11:03 So we started opening it up to making it more generic like that. I
know it breaks mystical justification to that.
15:11:11 Historical justification to that.
15:11:22 Yeah, I would.
15:11:17 Yeah.
15:11:22 I find I find it a little bit. I mean,
15:11:31 one could have names for these. I mean one that could be, it could
be one argument that has a default value, but there's no reason that
because implementation is going to use these two values, there's no reason
to not expose that to the user because they,
15:11:47 their values have a meaning, that's how you round up and down and
how you divide the range of stuff.
15:11:57 You could, it could have some of the sign that lists these default
things as I'm not sure they have names in them, they, they are really our
type four or 569.
15:12:15 I'm not sure we want to refer to our.
15:12:21 The standard either. Yeah, they don't have names and then we have
to ensure that we cover all the cases. Yeah.
15:12:28 Well if those two floating point values.
15:12:32 Let me ask.
15:12:35 Could a user specify, I don't know what those are. Did you just
specify two values which would make sense, which would not make sense.
15:12:43 Yes.
15:12:47 I hate giving people rope to hang themselves.
15:12:54 Bye.
15:13:07 Here it is in the comments there the link to this thing, see what
this thing officially looks like, really, all the, all the statistics,
utilities, support these, at least.
15:13:30 And
15:13:30 that means ones like SAS SPS and Sr. Yeah, all of them had this.
15:13:38 That kind of sets a precedent or a bit of a standard then to
follow.
15:13:51 Except Excel.
15:14:06 No, it's a little bit of a struggle for the visa I can definitely
see that if we follow the standard set by all these other packages were at
least in line with what everyone else is thinking, and it does provide the
flexibility here although Yes, it's
15:14:19 not going to be an enumerated value it's going to break our
standard.
15:14:24 But we can appeal to the fact that we're doing what everybody else
is doing the de facto standard here.
15:14:42 Just as a really off the wall remark here, does anyone think that
it is possible, or realistic that this proposal should perhaps so mid Kwan
tiles in the median here for the first iteration and allow that to come in
the second after there's been a lot
15:14:57 more time to think about it, given the trials and difficulties
with this.
15:15:03 Or do we want to try to ship something that has that in there.
15:15:11 Is there a most common one you think.
15:15:16 I guess kind of what we're seeing in like sci fi here.
15:15:20 And then if we want to add on the added percentiles and more
flexible features leaked later, but just have this first incarnation.
15:15:29 Looks like guy has something he could say, yes, suddenly, smaller
papers get through a lot more easily than large papers.
15:15:38 One approach, you could take, which we took with linear algebra
was to first of all, prepare a presentation in a position paper that says
there's a whole pile of special functions that we want to add.
15:15:52 Here's a list of them. Here's the all that we're going to attack
this in. We're putting the easy ones first, so that we can think about the
harder ones whilst we're going through the easy ones, we're much more
likely to get time in front of lobby working
15:16:06 group with a 10 page paper than with a 40 page paper. So, unless
they're unless there is any, you know, direct relationship between them
that requires any of these functions to be pulled together, then there's a
there's a lot of benefits and pulling the
15:16:29 partners into smaller papers.
15:16:27 Okay, along with kind of the indirect or promise here that they
are coming, so they don't give the impression that permitting that major
feature. Make it clear in this this first paper that those are coming.
15:16:38 But there's going to be a little bit more thought about the first.
This is what we did within your algebra, but when I first came out the
linear algebra paper people said oh need solvers.
15:16:48 How's the game, gave god no doubt, you know, we've never get a
favor out if we did that. So we have this layered approach we we start with
the matrix class and then we build on that and the same way you start with
fundamentals and say Don't worry more
15:17:01 is coming. It'll be fine. reassure people.
15:17:03 Okay, so this one then would look at the mean, standard deviation
and variance. And then the mode, the mode I think is easy enough to get in
here that one's not too much of a problem, but the quantum files here, and
we can appeal to this fact that we
15:17:18 have inconsistent definitions of even what quantity is.
15:17:24 There's this de facto standard that most of the statistical
libraries follow but Wikipedia says something else so it's not advisable to
push through the quantum at this point since there's just too much debate.
15:17:36 But we are looking at it, we're not forgetting about it. You're
not leaving out this major feature that's coming in the future.
15:17:47 I can deal with that.
15:17:50 So it's the idea to spit it out.
15:17:54 The content and media from this paper, or is it to make it.
15:18:00 Did you say remove mediums well.
15:18:06 Medium perhaps if there's not too much debate about that at least
in for for almost for sure in this sort of case, because we know it's just
immediately in the center their average them together, We decided we give
you one value back.
15:18:21 It's the quantum file here and the definitions associated with
them that's really posing the problem.
15:18:27 So you would at least for the time being have the ability to
compute compute a median quantum while we would say as forthcoming just
given the difficulties will give you a medium at least as a start.
15:18:41 One could argue that if we're not ready to decide on the design
interface and
15:18:50 requirements contracts on contracts that could influence our
thinking about. We can also buy things that we're talking about now like,
what should be returned to be the prediction should it be the value
15:19:09 or not. Yeah, yeah.
15:19:11 So it looks like I would I would like to tie them together.
Actually, I, I'm really interested in these I think they should come in as
soon as possible but not sooner, and not the price of the other things I
think, okay, so it seems like we're kind of
15:19:29 in agreement that we should take out this section, it's just we
want to take out both Quantel and medium,
15:19:39 or just leave a partial media in here like for assorted case where
it's very easy return an average value user has something to work with
until the quantities comes.
15:19:51 Go ahead. Go.
15:19:54 This is more of a meta point I noticed the top we've been here for
an hour and 20 minutes, and there is another paper that's we're expected to
review here.
15:20:03 We should probably Larry your chair, which we do show a meeting
coming up soon so I think I'm.
15:20:12 Since I'm giving the paper, it's not really a paper first of all,
I mean it's it's really a PowerPoint when I'm not even close to a paper on
this.
15:20:23 Was it was gonna say always, always do is make sure is make sure
that if we continue with this we're continuing. As a matter of choice,
rather than by default.
15:20:32 Right. So, at this point, I don't know what how do you should we
take a vote, I guess the proposals are.
15:20:44 So, First of all the proposal to remove Quantel.
15:20:49 Let's just.
15:20:51 Can we take a vote. I'm not sure how to take a vote, so.
15:20:56 So, this is Michael sorry I've been monitoring I've been listening
to the call, but now I'm back.
15:21:02 I think, I don't know of a vote is needed. I think it's Richard
has taken all the feedback, he will go off and and make the adjustments,
according to what he picks out.
15:21:13 Is that the case, I'll definitely be in correspondence with
everyone through email and mailing list I'll make Yeah, we have some input
for sure. Yeah, yeah.
15:21:22 Yeah, yeah. So I don't think we need a boat here. Unless you want
one, but that's fine that that goes ahead I'll send the email but it looks
like at minimum, we're going to pull the quantum miles out, just give me an
it's not ready.
15:21:26 No, no, be careful as you make the changes to the paper, because
you're, you're making change to a published paper, paper, you should make
the change to a new up the paper, a D, whatever this this one is.
15:21:48 Okay, the same number, but the new revision up one, and then we'll
review that one. And here's the problem. When you get to LEWG which paper
Do you review.
15:21:55 Okay.
15:21:57 If there's a lot of changes here.
15:22:00 Or there's only a sorry it's if there's only minor changes here,
then you could potentially post that paper to the group, so that they can
see that oh we have some, we had some late updates and we can, we would
rather that you review the newly updated
15:22:16 paper. Okay, so hopefully that's probably the best best thing if
you can do it like that, if there are a lot of changes then we're going to
have to probably, if we can get it out in on the 15th of this month, or the
next month, then, then, then publish
15:22:31 another paper, and that way they can always have the latest paper.
15:22:34 Okay, okay, okay, it's not going to be too terribly much it's
going to be segmenting the other algorithms into. Okay, and the iterative,
or input iterator and a forward iterative version, and then pulling out
these quantum miles here is going to be the
15:22:48 big chain guys know Be careful though. Are you sure that these
changes are blessed by everyone and everyone will like it always, always
thinks that like this is what I'm changing going to increase the consensus
of the paper.
15:23:02 Meaning, more people are going to like a more people going to love
it.
15:23:06 If it's not clear that more people are going to love it. You don't
have to make the change what you can do is put it as an alternative and
say, oh by the way some people would like it like this.
15:23:17 Okay. You can do it as a new addition as an additional attendance
section. So, you make the choice but be careful you don't want to decrease
the consensus on this paper.
15:23:28 Okay, some of the issues don't like with that execution policy is
going to be a problem if it's just an input and radio so that exactly if
you think something is going to get even slightly controversial don't, you
don't have to.
15:23:40 Don't you don't have to throw away but put it in as an attendee.
15:23:43 Okay, okay. I think some of those are kind of almost mistakes that
need to be corrected. Okay, if there's a clear mistakes, go for it. Yeah.
15:23:52 Okay. So, as I understand that. I mean, this is, it's not this
group that writes this paper.
15:23:59 It's, we are discussing feedback on the paper. Yeah, it's so we're
not voting on how the paper should look or anything like that.
15:24:10 We still have to vote to exit the paper we did that already is.
Exactly. It's already done. Oh, this is just back. Yeah, yeah so and that's
the same so I we're not going to go through this today, I think, at least,
we don't have time and I don't think
15:24:24 anyone has prepared for it. I have written this other feedback
paper. Also, which talks about the exceptions and things like that. Right.
But, but that is also I mean, that is that is input.
15:24:53 So, whatever happened to it will happen.
15:24:46 So Michael has his hand up but I will answer your question first.
You have published a paper about exceptions, is that a piece of paper
that's published.
15:25:02 Now, right, it's going to be P paper tomorrow or whenever the
mailing is. OK, so it's going to be published this month. Right.
15:25:06 Yeah, it's the 15th I think the team. Yeah, yeah it's currently in
SP. You want to review it here in this group.
15:25:18 I don't know what what the best way is that we don't have time for
today I think when no no we have time.
15:25:25 Okay.
15:25:27 People about to publish is much more urgent than anything else we
have on the left. Okay, so if you have a paper that's about to go public.
We that that trumps everything else on the agenda.
15:25:39 So, in that case we would look at that paper immediately.
15:25:44 Okay.
15:25:45 And that way you can get feedback from this group, and then you
then you can decide whether you want to go through with publishing or not.
15:25:52 Okay.
15:25:53 Michael, go ahead.
15:25:54 Yeah, it's more of a personal preference, maybe, but the the idea
of having choices in the paper is good, in my opinion, but the idea of
having too many choices.
15:26:07 I think it might be detrimental to the, to the paper so it, I, I
suggest a weighted so for very important decisions to to have the options
in the paper but not for every detail because that might result in
confusion, at least when I read the paper that
15:26:24 has too many decisions to take. I find it confusing that I cannot.
15:26:32 Understood. Yeah. Yeah.
15:26:36 Yeah.
15:26:36 I can't believe it won't be too many choices but I just want to
tell which had all the options he has. But, but you're right. Don't don't
don't put so many choices that it becomes very confusing I find it
confusing to to so many choices.
15:26:49 Okay, so, um, so let's take a sorry I'm just going to I'm going to
join back in and help chair, because I'm back.
15:26:58 Thank you very much to Larry for driving us to choose.
15:27:02 It was great job, absolutely fantastic given that you really well
you've been with us for over six months now so it's up to you. You've seen
enough of these.
15:27:12 So I think we have a couple of things in front of us just to take
stock, we have the Johan paper on exceptions. We have guy Davidson was
going to give an update on linear algebra, I believe, and we also have the
reinforcement learning feedback or approach
15:27:30 of these, I want to make sure we get the exception paper looked at
and reviewed and then whatever time we have we can do the feedback and
feedback or the, all the linear algebra look but if we don't have time, I
would relegate those to the next meeting.
15:27:45 Okay, with that, would that work.
15:27:50 Okay. is that okay all right guys okay Larry Are you okay with
that.
15:27:56 Sure.
15:27:57 Okay, thank you. Just high, it's just time time time time
management here. So with that, I would say I would like to see if I can get
them, Johan to show his paper and discuss it.
15:28:11 Yeah.
15:28:12 Let's see.
15:28:16 segments.
15:28:41 alright.
15:28:57 Right.
15:28:59 Yeah. So,
15:29:02 After last time when the call I, I thought, I have trouble making
myself.
15:29:12 Understood. So, I started to write down my thoughts instead. And
that went out of hand into this part too long text.
15:29:27 So, it's mostly a lot of References Footnotes disguised as a paper.
15:29:32 But what I what I do in this paper if I, I think I can go through
all the cases where, where exceptions are thrown stats are exception, and I
compare it to other things that currently exists in.
15:29:50 In, c++, and other libraries, like, especially math functions and
the existing math functions. And you even like mid range cases.
15:30:03 For example for in their products and transform and all of those
we gracefully deal with empty ranges, and pretty much all the main
15:30:16 means mainstream tools for statistics, either house, have a
special mechanism to deal with kind of missing values empty ranges, norms,
or things like that.
15:30:29 And it's far too long to really go through, but I can, I can try
to to outline, why I come to the conclusions they come to in that, if you
looked at for example mean there's special casing on empty on some on sizes.
15:30:55 There's
15:30:59 Sierra weights, and so on. And all of these, I think fall into
categories of special types of error conditions that we already have in the
standard library.
15:31:15 Like, whole errors, the main errors. Yes, that's we have for long,
and even division by zero.
15:31:25 And so,
15:31:31 if you look at
15:31:35 this case of missing data that shows up in many cases like
precocious and standard deviation all of these.
15:31:45 They are also, I find it much better to extend kind of input
domain to love them.
15:31:53 And that's what most of the commercial tools and libraries do not
the commercial tools, and various libraries do.
15:32:03 So for example, love, and stop by and all of these have some way
to return, but it always get the value back.
15:32:14 And there's no exceptions or problems, usually in any of these
kinds of cases,
15:32:25 Even then C sharp, those libraries use, not as a way of returning
15:32:33 problematic conditions, so.
15:32:48 Yeah.
15:32:48 Yeah.
15:32:50 And then also, if you think of
15:32:55 how these things.
15:32:59 If we are going to use these functions as cornerstones to or
building blocks for more advanced algorithms like machine learning stuff
for image processing or whatever.
15:33:14 And there's going to be like higher order functions operating on
them.
15:33:19 And usually mass is not expected to throw exceptions, so that that
is probably going to annoy a lot of people. There's also a large fraction
of c++ developers that don't have, except just like enabled, and I.
15:33:39 There's some statistics on that, but I would assume or.
15:33:46 I'm pretty sure that the people who are really doing the miracle
computations, have a much larger fractional.
15:33:57 We probably need to disable exceptions.
15:33:59 So, in addition to that, if you think about the freestanding
stuff, as in this, the freestanding limitation stuff.
15:34:12 You don't have exceptions. And if we completely avoid exceptions
and do us the other libraries to return, like, Mom, or another mechanism to
the return missing values.
15:34:26 That also allows it to be used on Google Docs or.
15:34:32 Most of these kinds of things are done on GPUs.
15:34:37 Now we're soon.
15:34:42 Yeah, that's kind of the.
15:34:49 There's one like side notes that it's interesting that many come
to the same conclusion us, as this paper does, which is reassuring
regarding how to deal with integer inputs like even like
15:35:10 ups, or.
15:35:14 Let's see what else I think like, even the pythons, much like
shows they convert into your inputs expected double what floats are kept us
blows.
15:35:27 And I find it interesting because that's the same the same as
proposed in the paper.
15:35:35 That's, I think the only way to kind of actually make it work. But
it's interesting because kind of makes it not a generic kind of thing.
15:35:59 It's really kind of a special case in there extolled the work
within yourself.
15:36:01 Yeah so
15:36:04 conclusion is basically try to return. Mom, or in exactly us
existing math functions to go through each of the functions of specify what
is the safest hetero value to return in each case, for example, if you're
if you return, like.
15:36:31 So the most common is to return nom or sample, the causes of the
few values and that is really.
15:36:43 I mean, for example at my company we're always right, we have our
search, have a special rules relating to how you write your research you
always have to be with the possibility of Norman and the search.
15:36:56 If you, If you keep things.
15:37:00 You understand how to work with non, then this is extremely
powerful.
15:37:08 Since we are only actually only working with really supporting
talking points.
15:37:16 I think this really makes sense.
15:37:24 Yeah.
15:37:24 I think that's the summary of
15:37:28 the paper.
15:37:31 All right, questions from people.
15:37:39 One of the things that we've we, in fact, A lot of things in SaaS
we've.
15:37:49 And I've been the one to introduce c++ at the core of where SAS
has a lot of their analytics.
15:37:59 And in fact that a part of this they do turn on the exceptions,
the frying pan exceptions to catch these things and it's been something
that we've had, you know, we're kind of in process of dealing with, I
think, in fact, one of the things that we've
15:38:14 had to deal with is the difference between what the existing C
code does vs GPU code, which is just to evaluate some of these things. Some
of the things as a Nan within GPU because it doesn't have the concept of
floating point exceptions and Larry is
15:38:42 not pushing on this one, a fair amount.
15:38:48 pushing on this one, a fair amount. And to be able to essentially,
turn off the, the floating point exceptions because within the seat code,
what they'll do is they'll, they'll catch that and then try to do something
with it.
15:39:02 And so I think what I'm doing is I'm
15:39:08 endorsing what you're saying that we shouldn't be. And there's
also a little bit of a confusion between c++ exceptions and and hardware
exceptions. And I tend to refer to the hardware exceptions as more dealing
like signals or hardware signals to help
15:39:31 separate the terminology between those two.
15:39:39 And I don't know.
15:39:42 I don't have a sense of how other companies are or what other
companies might do in terms of turning on the hardware exceptions to catch
these things.
15:39:57 Do what and what are their.
15:40:01 The,
15:40:07 the stats exception being used, I don't recall in what cases are
those expecting to be thrown.
15:40:17 Yeah, I can share ideas share again.
15:40:22 It's really these categories, it's empty or to label data
15:40:31 or coal, other kinds of it's kind of the same thing as division by
zero so I just clump that up as a poll error because eventually leads to
division by zero.
15:40:45 So the sum of the weights, is equal to zero. That could either be
a precondition and would deal with it as other preconditions like contract
and that contract.
15:40:58 I mean, we don't show except shows up on contracts. Usually, and.
15:41:11 And then,
15:41:10 yeah, so this is the domain error, like, square root of minus
three.
15:41:17 It's matching sizes of two inputs like rates and values that is
also contract violation in other algorithms, I don't think it should be an
exception here.
15:41:33 Okay.
15:41:41 Yeah, go ahead. Look. Now that's it.
15:41:39 I just wanted to clarify I heard two different two different
things.
15:41:43 Phil was talking about hardware exceptions. I think the original
comment about not having exceptions available was with respect to compiling
with F no exceptions.
15:41:53 Not anything At the hardware level.
15:41:57 Am I right,
15:42:04 there are
15:42:08 there are different things.
15:42:14 queued up for example. Currently there's no GPU that supports a
hardware exceptions. Then there. Then we have the people who turn off c++
exceptions but they may still have like floating point tracking stuff going
on, or on Windows you can turn on c++
15:42:28 exceptions but still have the same mechanism similar kinds of
exceptions that signal out of bounds reads in the stack and stuff like
that. But, and then you have these, which is called.
15:42:46 I mean, this math error signaling, which is math error handling.
15:42:54 It's actually when describe that to see that the reference.
15:42:58 Bottom well described it lists all these different kinds of
conditions, and you can in your implementation, decide if you want to have
like signaling, and how we want to possibly catch that somehow, but yeah.
15:43:17 No, I understand all of that what I was referring to is your
original statement was that there are statistics that show that people,
people do not have exceptions available I thought that was in reference to
people using c++ exceptions not hardware level
15:43:30 signal later yeah yeah that's turning off the exceptions from
there.
15:43:34 Okay. And I don't think that's what Phil was referring to you're
not trying to run exceptions on the GPU or anything so, Yeah, I think we're
in agreement
15:43:47 and guide Davidson, please.
15:43:51 I'm just thinking a bit of clarification here about half no
exceptions. And I've been meaning to ask this for some time now. When I'm a
visual studio user I used to the marks official C compiler, visual c++
compiler.
15:44:04 And when we turn off exceptions what we're actually turning off is
exception handling. So exceptions are thrown but they can't be caught is is
F no exceptions, which I presume is climate GCC difference in that way does
it actually forbid throwing because
15:44:18 for example, all my current exception me is turned off I can still
throw it just caught by the.
15:44:27 If the translation unit you're using has a throw it will copy it
will not compile.
15:44:32 Right. Okay, so if you link to something that has throws, then it
will just, it will just terminate.
15:44:40 Right, so it sort of depends on which point you're in but yes it
will prevent you from using throw in a translation unit where it's enabled,
and it will cause unexpected results Hey them to something that had.
15:44:53 Okay, thanks for lunch.
15:45:00 Okay.
15:45:02 More questions.
15:45:09 I. Are you, are we comfortable with publishing this paper so is it
just to make sure I understand. Let's say you're, you're adding exceptions
to the error handling.
15:45:22 In this paper it's a friendly amendment really to the stats paper.
15:45:30 You could say that it's a hostile amendment, because I'm trying to
remove exceptions from. I'm trying to completely remove the stats that are
exceptional from the paper and replace it with specify the return values in
all cases, I think that makes a lot
15:45:48 of sense. I think it would make it much more compostable you would
be able to write log of
15:45:59 ketosis. And you don't care if it's the log or if Potosi starts
with us.
15:46:12 That gives you some by Sierra or you will just get step number if
no matter what.
15:46:14 So, so that I would not say it's a, it's, it's up to you to
decide, but it's not family, I think, Okay.
15:46:25 Has Richard looks at this
15:46:29 person doesn't
15:46:33 or doesn't mean it's it's just off the press, so it's Yes, I
haven't heard any feedback and I don't think right no one else read it's
really.
15:46:43 So what's going to happen is if we publish this, they're going to
basically asked for feedback from Richard, because this is really against
his paper.
15:46:54 I think that
15:46:58 if you can hold off another month, and have Richard, give feedback
on this.
15:47:05 That would, I mean I can't stop you from publishing I think it's
fine but it's if you can hold off another month and wait until the next 15
which would be June 15, then that means that we'll have another cycle, and
look at this and get riches feedback,
15:47:19 then we might be able to
15:47:24 say that this should go. This, this, because with that then we can
add his feedback to the paper as well you can you can summarize this
feedback and the feedback from the group and add it to the paper.
15:47:38 I got it totally wrong. I originally thought this was a met
friendly amendment, but because it's a it's a hostile amendment. Well
that's going to happen is they're going to come back to us and ask what did
you, what did you think of this.
15:47:50 And if we say well we haven't had time to look at it, then we'll
look like we haven't done our job.
15:47:56 So, I think, I mean I have, I have joined this very late so that's
okay yeah that's just how it is. I mean, that's just how it is. But I
would, I would really like to just to put it out there, because I think I'm
kind of done with it, and I'm not sure
15:48:17 if I can practice. I mean now I have some energy and time.
15:48:30 I'm not sure what happens like what right. Okay, if you put it out
there. I'm SG six will look at it, or while they don't actually look at it
because they don't have any online meetings, so they will look at it, it
will come back to SG 19 which is fine
15:48:40 you can go ahead and publish it, which means that we will look at
it again next month. And with Richard here and get feedback, and there's
nothing there that's that's progressing to the next stage, which is also
fine so I think I'm fine if you want to
15:48:54 publish it. I'm just saying that if you want to hold up that's
also fine so I want to see what guy says Go ahead.
15:49:02 I just want to speak and supportive, your hands favor.
15:49:06 I agree that's Richard I think Richard is is overusing exceptions
and the sort of way that has cancelled against in 0709.
15:49:18 Setting exceptions. I think that exceptions maybe being used as as
yet your ancestors were pre and post conditions would be more appropriate
contract violation to be more appropriate, or simply undefined behavior if
the if the user supplies the wrong
15:49:31 inputs, then we should be throwing exceptions, we should be just
saying that's that's on you.
15:49:37 Okay, good feedback.
15:49:41 I think in that case and.
15:49:44 Are there any other feedback so in that case I'm going to ask for
vote then on this paper to go out and.
15:49:52 And if it goes out that's fine because the heading says, Come to
SG 19. So that means that next month you have to come back anyway you're.
Hopefully you can, yeah.
15:50:04 i.
15:50:03 Yeah. To be honest, I didn't expect to be able to have it all, I
thought, okay, I'll maybe I'll get it off to the 15th and just have it out,
and then we'll see what happens.
15:50:22 So, so, having the possibility to discuss it here. Let's save us
some time but I still actually don't know that I have written.
15:50:24 Okay, good. All right.
15:50:25 Mike only. Yeah, go ahead.
15:50:29 Wouldn't be recycled.
15:50:34 Yes, absolutely. We can start it right away. And, and it could be
it could be ongoing publishing this does not mean that this is a done deal.
It's just first iteration.
15:50:47 So you've already got a number it's three p 2376 or zero, and
that's fine. And since you're targeting only these two groups, it means
that library evolution won't grab ahold of it yet, and that's that's that's
good, that's that's what I want.
15:51:04 That's that's what I want. Exactly. That's what I want to, I just
want them to grab ahold of paper that that's that's, you know, so, until we
say that okay yeah this, we can say what are we integrated with Richard
style or not that's fine.
15:51:15 Okay. So, are there any other discussions and questions on this,
we actually only got about nine minutes left so we definitely won't have
time to get to anything else I think I would like to just, I mean, I
assume, no one in here actually read it.
15:51:40 Really yet, because it's just came out, maybe someone did that. But
15:51:53 I think I explained myself better text them dumbing
15:51:45 them in a foreign language.
15:51:50 So, so it's easier. Yeah, so, yeah.
15:51:52 Okay, no you, you did a great job, no worries that there's some
procedural things that I was just trying to enlighten so.
15:52:00 So what is this paper number it's p.
15:52:06 272376760.
15:52:13 He published
15:52:16 for sg 1966 right.
15:52:25 Okay.
15:52:32 I just want to ask a question.
15:52:36 Yeah, go ahead. Go ahead, ask your question, we are insofar as how
this paper affects the stats paper we aren't actually therefore suggesting
any changes in the stats paper at this point.
15:52:47 No, no.
15:52:51 But there might be changes that's going to be negotiated if we
after our review next month.
15:52:56 Okay. Yeah.
15:52:58 Because that until we enact it and accept this paper we won't
obviously yeah yeah hmm. If I I'm I'll chat with Richard, on occasion. So
do you have any problem with me just giving him a heads up on this.
15:53:16 Just let him know that you've got this in process, no no that's.
15:53:23 It is this on mentioned on the mailing list and it's okay.
15:53:30 Okay, so this is mostly.
15:53:35 I'm not entirely sure this is the, we don't even if you're going
to, I mean we don't probably don't even need to really pull but maybe to
useful for you though, I think you'll find is, whether you think, I think,
Okay, you know what I don't have a better
15:53:47 point I was going to say, move that this paper be published but
you know what we don't need that Paul. I think you want to get a poll how
many people feel that this is a good direction.
15:53:57 That's that would be nice. Yeah, yeah, yeah, definitely. I mean,
because I'm.
15:54:03 I mean, just to clarify, I mean, I don't expect to write anything
like updates on this paper. I mean, so it's not, it's it's the stats paper
that promotes this old stuff right so so feedback is eventually going to be.
15:54:22 To do that, but I would of course want to know what you think that
is.
15:54:27 Yes.
15:54:28 So let me see if this work.
15:54:35 Did you see the pole.
15:54:37 Does everyone see the pole.
15:54:53 I don't
15:54:45 know I don't
15:54:48 know you will pull away I have to do this at the launch the poll.
How about now. Yeah.
15:55:02 It's happening.
15:55:09 People are changing choices. It's cool.
15:55:12 Wait, wait, I got it. Can I feel like I don't see where I vote.
I'm sorry.
15:55:18 Oh, because no you can't vote because your hose I'm gonna make you
a non host, I believe.
15:55:24 Okay.
15:55:25 How about now can you see it. Yes. Okay, as a host I cannot vote.
This is the job back on this system, but I'll just add just add myself in
that one of the numbering system.
15:55:36 so I got five out of 12 strongly for.
15:55:39 Oh, is everything done, I think I can publish the results right.
15:55:43 Is everybody done voting.
15:55:46 Well I see the pole but when I, the submit button is grayed out.
Oh well, I was I voted I voted 100,000% strongly yes, even the strike guy.
15:56:01 Um, are you able to show us. I'm not from mom and dad and honestly
Michael but I'm wondering if you're able to show us the results of the
poll. I'm going to try this is all an experiment you know I love experiment.
15:56:14 So, this is absolutely fabulous but, you know, follow me say Oh,
these are the results and support.
15:56:19 Thank you very much. All right now going ahead and pulling and
let's see what happens okay guys.
15:56:28 You guys see anything.
15:56:31 Well, there it is. What happened, what do you see, I don't want to
tell me what you guys see results, 46%, probably for 38% or 15% mutual, not
simply begins no concern strongly against, that's what we see.
15:56:47 All right.
15:56:48 Get tested century.
15:56:54 No more racing and no one knows what.
15:57:00 Okay, so do we have to add any, any votes that wasn't cast.
15:57:03 Larry said you didn't you didn't cast your vote right.
15:57:07 Yes, my Submit button was great out I can't.
15:57:11 Oh, it probably was because you were a co host so you casting
strongly for.
15:57:16 I was like in the category right above strongly for okay so yeah
so that makes it seven out of 13.
15:57:24 Yeah, we don't get to see the numbers here doing, how do how do we
assess consensus with numbers.
15:57:36 well we don't see how many people have stained was a massive post
and he was absolutely you'd have tracked it right because six people votes.
Well seven people to strongly for five weekly for, we didn't, we didn't see
those numbers and you see the numbers
15:57:46 what we said you don't see them. Okay, we only see this, I don't I
do see the numbers, and I'm going to download the results and see what
happens. I want to see what happens like download the results.
15:57:59 We obviously can't handle the actual raw data.
15:58:05 This is thrilling thrilling thrilling.
15:58:08 So what I saw. How about this, I'll do this I'll do this, I'll do
this guy's I'll do. I'm going to I'm going to share screen.
15:58:16 And this.
15:58:17 That's, yes.
15:58:19 Okay, this is what I see on my screen.
15:58:22 You guys see this.
15:58:26 No.
15:58:27 Do you see the pole. No, no.
15:58:31 I see that you have many tabs open.
15:58:39 He's trying to read the entire internet.
15:58:45 You guys and I'm not trying to impress you with the amount.
15:58:51 But I think Michael, you know, probably has special ramp just for
the tabs.
15:58:58 All right. We can't see the Paul Michael I'm sorry okay so you
use, somehow it's only.
15:59:08 Um, yeah, so you guys only see the percentages you don't see the
actual numbers. Okay. That's right. Alright, that's fine. I will tell you
what the actual number that is I see that there's no way I can actually say
it so I'll put it in the chat I got
15:59:18 six out of 13 but plus Larry that's seven out of 13 for strongly
for so the gradation is strongly for weekly for neutral strongly against
sorry weekly against strongly against.
15:59:36 Okay.
15:59:37 and the number I got was 75200. And that's out of 13 people on the
call. So that means how many people abstains.
15:59:52 That's up to 14.
15:59:54 Oh sorry that's out of 14 people yeah so everybody voted nobody
abstained.
16:00:00 Well you'll have look Berg is here twice. Yes, I only wanted once
16:00:07 that Paul was taken. Yes. Yeah.
16:00:09 Okay. So, Nevertheless, this is a very strongly.
16:00:14 A strong indication that a lot of people like your paper.
16:00:19 Okay, it's pretty good for our first paper going good.
16:00:23 Thanks.
16:00:26 Well you tackled a really like graphics.
16:00:35 For instance what linear algebra does because we're not the only
numerical algorithms in the world here right.
16:00:39 So what else, What else we got any exceptions.
16:00:42 It's full up. If you get it. If you get that data, it's, it's on
your head.
16:00:48 You know so so the standard will give you as much information as
it possibly can about what the acceptable range of data, and what to expect
it, you know we we really go the extra mile.
16:00:57 But if we throw exceptions, then you know that you're effectively
saying, Do not use this library.
16:01:05 It's, you know, and I would be very sad if that happened.
16:01:10 Alright guys, I think we should stop but thank you, you guys. You
guys have been great experimental subjects for all my little experiments.
16:01:23 All right, next week next week, I mean next month. We'll see you
guys, same place. And I think we might be back to graphs, but looks like
we're going to have put some, some reinforcement learning there and maybe
this time we can do an update, but looks
16:01:38 like this, people will have.
16:01:41 Well, actually we could probably wait until the time slot for
stats to review this paper, which will probably be the month after that so
I'll get all the scheduling straight.
On Tue, May 11, 2021 at 11:04 AM Michael Wong <fraggamuffin_at_[hidden]>
wrote:
> SG19 Machine Learning 2 hours. This session will focus on Reinforcement
> Learning and a review of Stats feedback.
>
> Hi,
>
> Michael Wong is inviting you to a scheduled Zoom meeting.
>
> Topic: SG19 monthly Dec 2020-Feb 2021
> Time: 02:00 PM Eastern Time (US and Canada) 1800 UTC Stats
> Every month on the Second Thu,
> May 13, 2021 02:00 PM ET 1800 UTC Reinformaent Learning and Diff
> Calculus
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
>
> Join from PC, Mac, Linux, iOS or Android:
> https://iso.zoom.us/j/93084591725?pwd=K3QxZjJlcnljaE13ZWU5cTlLNkx0Zz09
> Password: 035530
>
> Or iPhone one-tap :
> US: +13017158592,,93084591725# or +13126266799,,93084591725#
> Or Telephone:
> Dial(for higher quality, dial a number based on your current location):
> US: +1 301 715 8592 or +1 312 626 6799 or +1 346 248 7799 or +1
> 408 638 0968 or +1 646 876 9923 or +1 669 900 6833 or +1 253 215 8782
> or 877 853 5247 (Toll Free)
> Meeting ID: 930 8459 1725
> Password: 035530
> International numbers available: https://iso.zoom.us/u/agewu4X97
>
> Or Skype for Business (Lync):
> https://iso.zoom.us/skype/93084591725
>
> Agenda:
>
> 1. Opening and introductions
>
> The ISO Code of conduct:
> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf
> The IEC Code of Conduct:
>
> https://basecamp.iec.ch/download/iec-code-of-conduct-for-delegates-and-experts/
>
> ISO patent policy.
>
> https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2
>
> The WG21 Practices and Procedures and Code of Conduct:
>
> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
>
> 1.1 Roll call of participants
>
> 1.2 Adopt agenda
>
> 1.3 Approve minutes from previous meeting, and approve publishing
> previously approved minutes to ISOCPP.org
>
> 1.4 Action items from previous meetings
>
> 2. Main issues (125 min)
>
> 2.1 General logistics
>
> Meeting plan, focus on one paper per meeting but does not preclude other
> paper updates:
>
> May 13, 2021 02:00 PM ET 1800 UTC Reinformaent Learning and Diff
> Calculus
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
> ISO meeting status
>
> future C++ Std meetings
>
> 2.2 Paper reviews
>
> 2.2.1: ML topics
>
> 2.2.1.1 Graph Proposal Phil Ratsloff et al
>
> P1709R1: Graph Proposal for Machine Learning
>
> P1709R3:
>
> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing
>
>
> https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/edit?usp=sharing
>
> <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>
>
> <
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
> >
>
> 2.2.1.2 Reinforcement Learning Larry Lewis Jorge Silva
>
> Reinforcement Learning proposal:
>
> 2.2.1.3 Differential Calculs:
>
>
> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel
>
> 2.2.1.4: Stats paper
>
> Current github
>
> https://github.com/cplusplus/papers/issues/475
>
> https://github.com/cplusplus/papers/issues/979
>
> Stats review Richard Dosselman et al
>
> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1708r4.pdf
>
> Feedback from Johan Lundberg and Oleksandr Korval
>
> https://isocpp.org/files/papers/D2376R0.pdf
>
>
>
> P1708R3: Math proposal for Machine Learning: 3rd review
>
> PXXXX: combinatorics: 1st Review
>
> > std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2
> > above is the stats paper that was reviewed in Prague
> > http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
> >
> > Review Jolanta Polish feedback.
> > http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
>
> 2.2.3 any other proposal for reviews?
>
> 2.3 Other Papers and proposals
>
> P1416R1: SG19 - Linear Algebra for Data Science and Machine Learning
>
> https://docs.google.com/document/d/1IKUNiUhBgRURW-UkspK7fAAyIhfXuMxjk7xKikK4Yp8/edit#heading=h.tj9hitg7dbtr
>
> P1415: Machine Learning Layered list
>
> https://docs.google.com/document/d/1elNFdIXWoetbxjO1OKol_Wj8fyi4Z4hogfj5tLVSj64/edit#heading=h.tj9hitg7dbtr
>
> 2.2.2 SG14 Linear Algebra progress:
> Different layers of proposal
>
> https://docs.google.com/document/d/1poXfr7mUPovJC9ZQ5SDVM_1Nb6oYAXlK_d0ljdUAtSQ/edit
>
> 2.5 Future F2F meetings:
>
> 2.6 future C++ Standard meetings:
> https://isocpp.org/std/meetings-and-participation/upcoming-meetings
>
> None
>
> 3. Any other business
>
> New reflector
>
> http://lists.isocpp.org/mailman/listinfo.cgi/sg19
>
> Old Reflector
> https://groups.google.com/a/isocpp.org/forum/#!newtopic/sg19
> <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14>
>
> Code and proposal Staging area
>
> 4. Review
>
> 4.1 Review and approve resolutions and issues [e.g., changes to SG's
> working draft]
>
> 4.2 Review action items (5 min)
>
> 5. Closing process
>
> 5.1 Establish next agenda
>
> TBD
>
> 5.2 Future meeting
>
> June 10, 2021 02:00 PM ET 1800 UTC Graph
> Jul 8, 2021 02:00 PM ET 1800 UTC Stats and Combinatorics
>
Received on 2021-05-14 09:11:38