C++ Logo


Advanced search

Re: SG19 July 13 call

From: <guy.cpp.wg21_at_[hidden]>
Date: Fri, 14 Jul 2023 09:43:06 +0100
I’m sorry I was unable to turn up last night: family matters intervened. I will keep watch on this matter.




From: Michael Wong <fraggamuffin_at_[hidden]>
Sent: Friday, July 14, 2023 1:29 AM
To: sg19_at_[hidden]
Cc: guy.cpp.wg21_at_[hidden]; Oliver Rosten <oliver.rosten_at_[hidden]>; Roger Orr <rogero_at_[hidden]>
Subject: Re: [SG19] SG19 July 13 call




On Thu, Jul 13, 2023 at 3:53 AM Guy Davidson via SG19 <sg19_at_[hidden] <mailto:sg19_at_[hidden]> > wrote:

I WILL be attending, and I also agree that we should be making use of std::expected, so I will defend that point. I think this is in fact a BSI position, but I would need to check with the chair (CCed). If not, we should raise this at the BSI meeting on Monday.




From: SG19 <sg19-bounces_at_[hidden] <mailto:sg19-bounces_at_[hidden]> > On Behalf Of Oliver Rosten via SG19
Sent: Wednesday, July 12, 2023 9:13 AM
To: sg19_at_[hidden] <mailto:sg19_at_[hidden]>
Cc: Oliver Rosten <oliver.rosten_at_[hidden] <mailto:oliver.rosten_at_[hidden]> >
Subject: Re: [SG19] SG19 July 13 call


Hi all,


Sorry but I can't make the session tomorrow.


However, I am keen to keep advocating for error-handling via a std::expected (with an appropriate unexpected value type which captures the various possibilities). I think this is the most ergonomic and least surprising approach.


Even if it is decided not to go down this route, I think the paper would greatly benefit from a proper discussion of the various options. All I can find (sorry if I've missed something) is this bullet point in the R5 revision list:

* stats_error, an exception, is removed, since (C++) math funtions do not throw exceptions



On Wed, 12 Jul 2023 at 04:39, Michael Wong via SG19 <sg19_at_[hidden] <mailto:sg19_at_[hidden]> > wrote:

Hi all, SG19 Machine Learning meeting will focus on Stats. We still want to drive graphs and stats to completion. Are there any other suggested topics?
Thank you.

Michael Wong is inviting
you to a scheduled Zoom meeting.

Topic: SG19 monthly
Time: 02:00 PM Eastern Time (US and Canada)
    Every month on the Second Thu,

Join from PC, Mac, Linux, iOS or Android:

 <https://iso.zoom.us/j/93084591725?pwd=K3QxZjJlcnljaE13ZWU5cTlLNkx0Zz09> 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> https://iso.zoom.us/u/agewu4X97

Or Skype for Business (Lync):
     <https://iso.zoom.us/skype/93084591725> https://iso.zoom.us/skype/93084591725


1. Opening and introductions

The ISO Code of conduct:
 <https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf> https://www.iso.org/files/live/sites/isoorg/files/store/en/PUB100397.pdf

IEC Code of Conduct:

 <https://www.iec.ch/basecamp/iec-code-conduct-technical-work> https://www.iec.ch/basecamp/iec-code-conduct-technical-work

ISO patent policy.

 <https://isotc.iso.org/livelink/livelink/fetch/2000/2122/3770791/Common_Policy.htm?nodeid=6344764&vernum=-2> 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> https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures

1.1 Roll call of participants

 Phil Ratzloff

Boguslaw Cyganek

Rene Morell

Richard Dosselmann

Nathan Owen

Michael Wong

Luke D'Alessandro

ozan Irsoy

Scott McMillan

Jens Maurer



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:
cppcon Oct 1


Varna F2F

C++23 and C++26 status

Apr 13: Graph
May 11: Cancelled
June 15: Varna F2F (cancelled)
July 13: Stats
Aug 10: Matrix
Sep 14: Graph
Oct 12: Stats
Nov 9: Kona F2F Cancelled
Dec 14: Matrix

ISO meeting status

future C++ Std meetings

2.2 Paper reviews

2.2.1: ML topics Graph Proposal Phil Ratsloff et al

Latest paper:

Here’s a link to the paper (different than the previous paper reviewed).
There are some additional updates I’m planning on making before the meeting.

 <https://docs.google.com/document/d/1OpH-xxRri7tJTtJJIZTYmSHkkrZJkdBwm9zJ7LqolfQ/edit?usp=sharing> https://docs.google.com/document/d/1OpH-xxRri7tJTtJJIZTYmSHkkrZJkdBwm9zJ7LqolfQ/edit?usp=sharing

will do more work on it,

 <https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing> https://docs.google.com/document/d/1kLHhbSTX7j0tPeTYECQFSNx3R35Mu3xO5_dyYdRy4dM/edit?usp=sharing

 <https://docs.google.com/document/d/1QkfDzGyfNQKs86y053M0YHOLP6frzhTJqzg1Ug_vkkE/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> 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> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel

Array copy semantics:
array copy-semantics paper P1997 "Relaxing Restrictions on Arrays",
 <https://wg21.link/p1997> https://wg21.link/p1997

Stats feedback:

< <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2376r0.pdf> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2376r0.pdf>
on Simple Statistical Functions (p1708r4): Contracts, Exceptions and
Special cases Johan Lundberg Reinforcement Learning Larry Lewis Jorge Silva

Reinforcement Learning proposal: Differential Calculus:

 <https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel> https://docs.google.com/document/d/175wIm8o4BNGti0WLq8U6uZORegKVjmnpfc-_E8PoGS0/edit?ts=5fff27cd#heading=h.9ogkehmdmtel <> : Stats paper

< <https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2681r0.pdf> https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2681r0.pdf> More
Stats Functions Richard Dosselmann, Michael Wong


use longer names of statistics

Accumulator objects are independent of the range its drawing values with on invocation

is_convertible_v replaced by common_type_t

5.1 header should be called statistics

5.2.1 have both modes_... and modes_...

accumulator store both a T and a comp, how to make trivially copyable (make it conditional on T and comp)

dont use trailing return type when it is a basic type T, just put it in front

O and comp can be deduced and T cannot? use CTAD if you can; not sure if you can use CTAd with partial class template id? No that is not standard

FWIW, partial CTAD was proposed in https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p1021r6.html, but was removed in R2 “following EWG guidance”. I don’t think I’ve seen it come up again.


switch T and weight in weighted_modes_accumulator

is there a way to say previous X is less then current x: can say w is weight corresponding to X, say successive invocations of operator () invoked by the comparator X ...


Why is trailing return of T and O? I combined return of single mode and plural modes. This needs an overload set

These are different classes? can u implement normal mode with weighted mode? weights need to sum to 1

5.2.1 break each class into separate descriptions

Why is W a template argument not a typedef? So I can customise it as a user

plural classes should be separate from singular classes

WHy fresh signature for statistics_accumulate , but a zip view is a range

if the value type is a tuple , then decompose the tuples into individual arguments for your functionl use an apply on that tuple when you actually invoke the accumulator object

user wont know by looking at the call what the range is

apply is already variadic

weight comes from 5.2.4 range of weights, it is regular

if it returns a tuple-like it will decompose

add prose explaining this design that you opted to decompose in the stats accumulator function and not in each accumulator

std apply only work for std:types? so we are limiting the API to ranges that produce

5.3.1 percentile does not say sorted/unsorted anymore

why a separate template argument alloc, it already knows how to allocate itself


5.3.3 do we want to keep independent input ranges

accumulator are more generic then calling a covariant function where I know I am comparing 2 input ranges

no potential for variadic, just 2

so dont create a zip type

so factor to separate ranges


Unanimously approved to

Exit SG14 to go to SG6


why Expected : the other arithmetic types dont use it so we dont use it, we dont do exceptions with math




Current github

 <https://github.com/cplusplus/papers/issues/475> https://github.com/cplusplus/papers/issues/475

 <https://github.com/cplusplus/papers/issues/979> 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> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1708r4.pdf

ready for LEWG review



Feedback from Johan Lundberg and Oleksandr Korval

 <https://isocpp.org/files/papers/D2376R0.pdf> 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 <http://std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2>
< <http://std.org/jtc1/sc22/wg21/docs/papers/2020/p1708r2> http://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> http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19
< <http://wiki.edg.com/bin/view/Wg21prague/P1708R2SG19> 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> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html
< <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2119r0.html>* <> : Matrix paper

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> 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> 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> 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> https://isocpp.org/std/meetings-and-participation/upcoming-meetings


3. Any other business

New reflector

 <http://lists.isocpp.org/mailman/listinfo.cgi/sg19> 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/#!newtopic/sg19
< <https://groups.google.com/a/isocpp.org/forum/?fromgroups=#!forum/sg14> 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

5.2 Future meeting
Apr 13: Graph
May 11: Cancelled
June 15: Varna F2F (cancelled)
July 13: Stats
Aug 10: Matrix
Sep 14: Graph
Oct 12: Stats
Nov 9: Kona F2F Cancelled
Dec 14: Matrix

SG19 mailing list
SG19_at_[hidden] <mailto:SG19_at_[hidden]> 
SG19 mailing list
SG19_at_[hidden] <mailto:SG19_at_[hidden]> 

Received on 2023-07-14 08:43:08