00:16
shahrzad has quit [Ping timeout: 264 seconds]
00:18
akheir has quit [Quit: Leaving]
03:22
hkaiser has quit [Quit: bye]
09:00
alexandros[m] has quit [Quit: Idle for 30+ days]
13:04
hkaiser has joined #ste||ar
14:59
shahrzad has joined #ste||ar
15:37
shahrzad has quit [Ping timeout: 264 seconds]
18:45
hkaiser has quit [Quit: bye]
18:55
shahrzad has joined #ste||ar
19:02
shahrzad has quit [Quit: Leaving]
20:10
<
K-ballo >
is there adl?
20:10
<
gonidelis[m] >
yes?
20:10
<
K-ballo >
are you asking or telling
20:10
<
gonidelis[m] >
telling
20:10
<
K-ballo >
there's no anser then
20:11
<
gonidelis[m] >
what if there isn't?
20:11
<
K-ballo >
then it's a broken call
20:12
<
gonidelis[m] >
what is a broken call?
20:12
<
K-ballo >
the one you specified
20:12
<
gonidelis[m] >
yeah I mean what does a broken call mean?
20:13
<
K-ballo >
a programmer bug, since it's meant to call one of those std functions but isn't viable
20:13
<
gonidelis[m] >
ok cool
20:13
<
gonidelis[m] >
thanks
20:15
<
K-ballo >
what prompted the question?
20:17
<
gonidelis[m] >
and I don't know how to reform the calls in order to be meaningful for the adapted `transform`
20:17
<
K-ballo >
hpx has a different overload set than std
20:17
<
gonidelis[m] >
what
20:18
<
K-ballo >
hpx offers overloads than std doesn't
20:18
<
K-ballo >
the question from above would be different if asked for hpx instead of those overloads linked
20:18
<
gonidelis[m] >
hmm ok
20:18
<
gonidelis[m] >
since I am adapting to c++20 std though...
20:18
<
gonidelis[m] >
let me give you my overloads
20:20
<
gonidelis[m] >
there are these ones
20:20
<
gonidelis[m] >
and...
20:20
<
gonidelis[m] >
these ones
20:21
<
K-ballo >
I think a more relevant question for hpx would be what is that call supposed to do
20:21
<
gonidelis[m] >
ok ans what's the answer to that?
20:22
<
K-ballo >
looks like a parallel binary transform, but it mixes ranges and iterators in an odd way.. can't really tell, where does it come from?
20:22
<
gonidelis[m] >
the test I sent you above
20:22
<
K-ballo >
no, it wasn't there
20:25
<
gonidelis[m] >
isn't that it?
20:25
<
K-ballo >
maybe? I had looked for `transform(policy, vector1, std::begin(vector2), std::begin(dvector1), add)`
20:26
<
gonidelis[m] >
yeah I changes so you wouldn't ask me what c1 c2 and d1 are
20:26
<
gonidelis[m] >
changed them*
20:28
<
K-ballo >
looks like a misguided old range attempt, can't say for sure.. needs hkaiser
20:28
<
gonidelis[m] >
did he log in at all today?
20:29
<
gonidelis[m] >
i will just convert `std::begin(c2)` to `c2` for now
20:29
<
gonidelis[m] >
which conforms to standard
20:30
<
K-ballo >
isn't there another test for c1, c2 already?
20:30
<
gonidelis[m] >
I 'll check
20:32
<
gonidelis[m] >
ahhh yeah there is
20:32
<
gonidelis[m] >
`transform_range_binary2`
20:32
<
gonidelis[m] >
hmm what should i do...
20:33
<
K-ballo >
ignore for now and come back once hkaiser weighs in
20:33
<
K-ballo >
I can imagine how we got here, "range-ifying" the three-legged transform
20:35
<
K-ballo >
there's
_only_ a three-legged transform, ok that explains it even more
20:36
<
gonidelis[m] >
three legged means like rng, rng, iterator ?
20:36
<
K-ballo >
first1, end1, first2
20:36
<
K-ballo >
where end2 = first2 + (end1 - first1)
20:37
<
gonidelis[m] >
if first1, end1 was wrapped as `range`
20:37
<
gonidelis[m] >
would it be three legged then?
20:38
<
K-ballo >
that's how it'd be done, yep
20:38
<
K-ballo >
even if I'm not sure I agree with the result, we need to continue to support it now, at least for the near future
20:38
<
K-ballo >
so we'll end up with the whole gamut.. it's gonna be ugly
20:38
<
gonidelis[m] >
what do you mean?
20:39
<
gonidelis[m] >
like we are going to end up with all the possible combinations
20:39
<
K-ballo >
i1, e1, i2,
20:39
<
K-ballo >
i1, e1, i2, e2
20:39
<
K-ballo >
...nasty...
20:39
<
K-ballo >
missed r1 too
20:41
<
gonidelis[m] >
what about the user though? ;p
20:41
<
gonidelis[m] >
they all end up in three basic `transform` implementations anyway
20:41
<
gonidelis[m] >
why not give them the whole interface?
20:42
<
K-ballo >
..what is the whole interface?
20:42
<
gonidelis[m] >
all the possible combinations
20:42
<
K-ballo >
how is that not what I described above?
20:43
<
gonidelis[m] >
I though that you were not a fan of what you decribed above
20:43
<
K-ballo >
I'm most definitely not
20:43
<
K-ballo >
but that's what we have to do
20:43
<
gonidelis[m] >
why are you not a fan then??
20:43
<
K-ballo >
ideally we can deprecate the range + iter one and eventually removed, but still
20:44
<
K-ballo >
adding overloads to a template interface is user hostile
20:44
<
K-ballo >
harder to understand, much costlier to implement, terrible terrible error messages when things fail (compounded by the number of overloads)
20:45
<
gonidelis[m] >
let's put up a proposal then
20:46
<
K-ballo >
to not overload unary and binary transform? about 26 years too late
20:46
<
K-ballo >
the range ones and the non-range ones are in different namespaces, so that helps
20:47
<
K-ballo >
and transform didn't get a "full-legged" version when the rest of the algorithms did because of it, so it's not news
20:49
<
gonidelis[m] >
have you made any proposal for the std committee btw?
20:49
<
gonidelis[m] >
ever*
20:49
<
K-ballo >
yes, a few
20:50
<
gonidelis[m] >
how many accepts?
20:50
<
K-ballo >
uhm.. 2? 3? 4?
20:50
<
K-ballo >
at least 3
20:52
<
gonidelis[m] >
awesome
20:53
<
gonidelis[m] >
is it difficult? actually I am sure it is. the question is how much?
20:53
<
K-ballo >
I wouldn't say "difficult", it's just a lot of work and then some
20:54
<
gonidelis[m] >
but you are like puting your signature in the language
20:54
<
gonidelis[m] >
putting*
20:54
<
K-ballo >
not really.. very few proposals are that significant
20:54
<
gonidelis[m] >
isn't it like when someone writes C++ you could say to them "well I have dictated some of the parts that you are able to write" ;p
20:55
<
K-ballo >
a drop in the ocean
20:55
<
gonidelis[m] >
sure
20:55
<
gonidelis[m] >
but it's something
20:57
<
K-ballo >
if someone writing C++ happens to step on that particular drop I may say so, yeah
20:57
<
gonidelis[m] >
haha...
20:57
<
gonidelis[m] >
I was just kidding
20:58
<
gonidelis[m] >
pushing things on c++ is a great achievement on its one, small or big
20:58
<
K-ballo >
yes, but not really
20:58
<
K-ballo >
the big things, the things with design and so on, sure
20:59
<
K-ballo >
the rest of the staff, anyone willing to put the so many hours it takes could get it done
21:00
<
gonidelis[m] >
why does it take so many hours?
21:00
<
K-ballo >
one pushes for a topic, then everyone else interested in it chimes in, helps, etc..
21:00
<
K-ballo >
being thorough does
21:02
<
gonidelis[m] >
i can't wait for my moment to come...
21:05
<
K-ballo >
s/staff/stuff
21:13
hkaiser has joined #ste||ar
21:20
<
gonidelis[m] >
hkaiser: hey
22:02
<
hkaiser >
hey gonidelis[m]
22:02
<
gonidelis[m] >
hkaiser: how are things?
22:06
<
hkaiser >
gonidelis[m]: I'm fine, thanks
22:07
<
gonidelis[m] >
well I had this conversation with augustin
22:07
<
gonidelis[m] >
about this test
22:08
<
gonidelis[m] >
which does not seem to match with any of our overloads
22:08
<
gonidelis[m] >
and I was wondering what I should do with that
22:16
<
hkaiser >
we should end up with a compatible set of overloads
22:29
<
gonidelis[m] >
you mean for the tests?
22:29
<
gonidelis[m] >
i have created all the overloads with `tag_invoke` on the PR I am working on
22:41
<
hkaiser >
that doesn't mean it's all as it should be
22:44
<
gonidelis[m] >
so the best option is to find whether all overloads are being tested and if not then convert that test to test a previously untested overload?
22:44
<
gonidelis[m] >
right?
22:53
<
gonidelis[m] >
Cool you can review when I push the PR then
22:53
<
gonidelis[m] >
Review it*
22:53
<
hkaiser >
will do, thanks!
23:54
bita has joined #ste||ar