Voldenet the wilder part of all is with negations imo 00:24
m: say so all(1, 2, 3) != 4
camelia True
Voldenet m: say so all() != 4
camelia False
Voldenet m: sub infix:<neq> { $^a != $^b }; say so all() neq 4 00:28
camelia True
01:54 hulk joined 01:55 kylese left 02:15 hulk left, kylese joined 03:20 lichtkind__ joined 03:23 lichtkind_ left 06:00 silug left 06:04 silug joined
lizmat junctions and negations have been a discussion point for at least a decade 06:35
06:50 snonux left 06:51 Manifest0 joined 06:58 snonux joined 07:08 ShimmerFairy left, ShimmerFairy joined 07:15 snonux left 07:17 snonux joined
ab5tract I'm still fine with merging this for 6.e ;) --- github.com/rakudo/rakudo/pull/5690 08:23
R5690 08:24
R!5690
ahh, R#5690 08:25
linkable6 R#5690 [open]: github.com/rakudo/rakudo/pull/5690 Address long-standing discrepancy for != and METAOP_NEGATE
09:55 Sgeo left 11:25 belluzj joined, belluzj left 11:58 Guest56 joined
[Coke] ugexe: 40 failures on your branch. 12:44
ugexe: gist.github.com/coke/df45d660bf01a...1754189f41 is the failures.md file. 12:47
... ww 12:48
14:23 Guest56 left 15:54 belluzj joined 15:59 belluzj left 16:00 rir joined 16:01 rir left 16:05 human-blip left 16:07 human-blip joined 18:06 Sgeo joined 18:12 ckfl3266 joined 18:13 dicit left
Voldenet well I agree that R#5690 kind of addresses it, but I don't think this can be fixed at this point 18:28
linkable6 R#5690 [open]: github.com/rakudo/rakudo/pull/5690 Address long-standing discrepancy for != and METAOP_NEGATE
Voldenet the fundamental flaw is assumption that != is negated == except it's totally not
like sql uses 3VL which can be flattened to 2VL 18:34
imo != should be made in a way that emits non-equality operators, not as a negation 18:41
disbot <demanddystopia> hm, since it seems possible to write !== is there a concrete example where that & != differ in output? cause trying the examples seems to give me the same output?
Voldenet hmm I think not the moment 18:45
since `!=` is implemented as `not ==`… and `!==` is the same 18:49
but `Infix !=` is real operator and `MetaInfix::Negate Infix ==` is a metaop which is significant 18:55
though to be honest, I don't use junctions, it's a very strange way to code, I prefer .grep and .first which are simply not doing weird things to negations 19:02
19:26 Sgeo_ joined 19:29 Sgeo left 20:47 bobv joined 20:48 bobv left 22:11 ShimmerFairy left 22:12 ShimmerFairy joined