🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
sortiz m: my %h = a => 1, b =>2; say %h ~~ :2b # So good so far. 00:17
camelia True
sortiz m: my %h = a => 1, b => 2; EVAL("say %h ~~ :2b") # But
camelia No such method 'b' for invocant of type 'Hash'
in block <unit> at EVAL_0 line 1
in block <unit> at <tmp> line 1
sortiz Seen originally in REPL, that depends of EVAL. 00:18
Introduced by github.com/rakudo/rakudo/commit/7554d73322 00:24
Geth rakudo: coke self-unassigned Curlie in loop issue github.com/rakudo/rakudo/issues/4685
coke self-unassigned Generating contributor list shows duplicate names for one email github.com/rakudo/rakudo/issues/1443
01:18
rakudo: bc3b582417 | (Salvador Ortiz)++ (committed using GitHub Web editor) | src/Perl6/Actions.nqp
Actions: Avoid repeated $<sym> eq 'S' (#5098)
08:31
sortiz lizmat, thanks. 08:33
lizmat you're very much welcome!
sortiz BTW, found another (obscure) regression in recent smartmatch optimizations: 08:39
m: my %h = a => 1, b =>2; say %h ~~ :2b # So good so far.
camelia True
sortiz m: my %h = a => 1, b => 2; EVAL("say %h ~~ :2b") # But
camelia No such method 'b' for invocant of type 'Hash'
in block <unit> at EVAL_0 line 1
in block <unit> at <tmp> line 1
lizmat bisectable6 old=2022.02 my %h = a => 1, b => 2; EVAL("say %h ~~ :2b") 08:40
bisectable6: old=2022.02 my %h = a => 1, b => 2; EVAL("say %h ~~ :2b")
bisectable6 lizmat, On both starting points (old=2022.02 new=bc3b582) the exit code is 1 and the output is identical as well
lizmat, Output on both points: «No such method 'b' for invocant of type 'Hash'␤ in block <unit> at EVAL_0 line 1␤ in block <unit> at /tmp/Lahlid1PiZ line 1␤␤»
lizmat bisectable6: old=2020.01 my %h = a => 1, b => 2; EVAL("say %h ~~ :2b")
bisectable6 lizmat, Bisecting by exit code (old=2020.01 new=bc3b582). Old exit code: 0
lizmat, bisect log: gist.github.com/31ef1ad2edbe5ecc4f...14bcfa0590 08:41
lizmat, (2021-12-27) github.com/rakudo/rakudo/commit/75...710b142a31
lizmat ok, pretty recent :-) 08:42
sortiz In run with RAKUDO_OPTIMIZE_NOSM=1 the problem vanish. 08:44
In the REPL is very visible, as all pass to EVAL. 08:45
I trace it to the conditional in github.com/rakudo/rakudo/blob/mast....nqp#L1994 08:48
That test doesn't make sense because the case "$lhs is Pair" was already attended in line 1894, and the code controlled by the test is for the case $lhs is Associative. 09:02
vrurg sortiz: good catch, thanks! Fixed locally. 15:24
tellable6 vrurg, I'll pass your message to sortiz
sortiz . 15:40
tellable6 2022-11-11T15:24:44Z #raku-dev <vrurg> sortiz: good catch, thanks! Fixed locally.
Geth nqp: MasterDuke17++ created pull request #785:
Chown args should be unsigned
16:00
[Coke] misreading "chown" as "clown" is good for a chuckle. 16:01
MasterDuke hm, don't think i've ever had an opinion on whether clowns should be allowed to argue in sign language or not... 16:03
lizmat
.oO( or even unsign language :-)
16:10
japhb MasterDuke: Doesn't that describe a mime? 16:21
sortiz vrurg, BTW, while reviewing the code I found that several cases of forced "boolification" can be eliminated, since the respective .ACCEPT methods already return Bool. That can eliminate some "special" cases that only seek to avoid "boolification". 17:08
vrurg sortiz: I was considering some, but it was requiring time I didn't have back then. So, went by safe route.' 19:55
sortiz vrurg, Yes, it certainly has to be reviewed on a case-by-case basis. Tell me if I can help you in any way. 20:09
vrurg .tell sortiz I don't expect to be available for that task soon. You could pick it up if you want. 21:17
tellable6 vrurg, I'll pass your message to sortiz