🦋 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.
00:44 vrurg_ joined 00:45 vrurg left 00:47 vrurg joined 00:48 vrurg_ left 00:49 vrurg_ joined 00:52 vrurg left 02:07 MasterDuke joined
coleman nine++ 02:12
05:52 kjp left 05:54 kjp joined 05:55 sena_kun joined 06:02 kjp left, kjp joined 06:51 sena_kun left
Geth nqp/main: 55c4f01e2b | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for in situ grapheme optimization

  MasterDuke++
08:10
nine Looks like the test at t/spec/S09-typed-arrays/native-shape1-str.t:32 is incredibly flakey. It's dies-ok { @arr[5] }; with @arr being a shaped string array with only 5 slots, so the access is out of bounds. @arr[5] does not explode right away. Instead it gives you a StrPosRef which is akin to a Scalar container. And only if you actually try to use this reference in any way it will explode. 08:11
Notice however that we don't use that value for anything, i.e. it's just sunk. Seems like slight changes in code gen will decide whether it dies or not. 08:13
m: my @a := array[str].new(:shape(5)); @a[5];
camelia ( no output )
nine m: my @a := array[str].new(:shape(5)); sink @a[5];
camelia Index 5 for dimension 1 out of range (must be 0..4)
in block <unit> at <tmp> line 1
Geth rakudo/rakuast-phase-cleanup: 808c622f42 | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod
RakuAST: also ensure that $?CLASS ::CLASS type captures are always declared
lizmat nine: then I suggest we change the test :-) 08:18
Geth rakudo/main: 9e1adaeead | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP for in situ grapheme optimization on MoarVM

  MasterDuke++
08:21
rakudo/main: a8745fe878 | (Stefan Seifert)++ | src/vm/moar/dispatchers.nqp
Ensure that sunk failed lookups in native arrays always explode

dies-ok { @arr[2] }; with @arr being a shaped string array with only 1 slot did not always explode because the raku-sink dispatcher only really called the sink method on the value if it is not Mu's. Without trying to dereference the StrPosRef in any way the exception would never got thrown. Fix by special casing NativeRefHOW in raku-sink to make that spec test less reliant on precise code gen.
09:00
nine lizmat: I think this ^^^ is the better way 09:01
lizmat works for me :-)
Geth rakudo/rakuast-phase-cleanup: 51 commits pushed by (Jonathan Worthington)++, (Stefan Seifert)++
review: github.com/rakudo/rakudo/compare/8...de6ae8810b
09:07
[Tux] Rakudo v2024.07-7-ga8745fe87 (v6.d) on MoarVM 2024.07-4-g4731ec695
csv-ip5xs0.254 - 0.256
csv-ip5xs-201.092 - 1.119
csv-parser1.476 - 1.493
csv-test-xs-200.141 - 0.141
test1.828 - 1.890
test-t0.395 - 0.403
test-t --race0.255 - 0.258
test-t-204.849 - 4.892
test-t-20 --race1.154 - 1.159
11:23
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
lizmat nice! MasterDuke ^^ :-) 11:31
m: say 0.395 / 0.399 11:32
camelia 0.989975
lizmat a 1% gain... :-)
all the little bits help!
[Tux] just returned from 1½ weeks of Wales. Overwhelmingly beautiful! 11:33
lizmat yeah.. Wales is nice! :-) 11:35
looking forward to going to Cardiff end of October
[Tux] Cardiff was the least inspoiring place we visited. Drive on for 40 minutes and visit Tenby instead 11:38
lizmat indeed.. but as you said, Tenby is a 40 minute drive from there, from here it's quite a bit longer :-) 11:39
[Tux] *lots* of roadworks in UK, calculate delays 11:40
12:01 greenfork left, patrickb left 12:02 greenfork joined, patrickb joined
lizmat one of the stranger compilation errors I've run into recently: 12:21
m: sub a(*%_) { if .a -> $a { b %_ } }
camelia ===SORRY!=== Error while compiling <tmp>
Placeholder variable '%_' cannot override existing signature
at <tmp>:1
------> sub a(*%_) { if .a ⏏-> $a { b %_ } }
lizmat take away the -> $a and it correctly complains about "b" not being defined
m: sub a(*%_) { if .a { b %_ } }
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared routine:
b used at line 1
lizmat m: if .a -> $a { b %_ } # even shorter golf 12:23
camelia ===SORRY!=== Error while compiling <tmp>
Placeholder variable '%_' cannot override existing signature
at <tmp>:1
------> if .a ⏏-> $a { b %_ } # even shorter golf
lizmat I guess some sort of scoping issue with resolving %_ 12:25
using a different name, and all is ok 12:26
14:01 [Tux] left 14:09 [Tux] joined
ab5tract Do we have any way to output ANSI codes as-is? I’m trying to move up $n lines and to the beginning of the line but it’s not working (probably because it begins with \x , which appropriated for other uses) 17:33
17:34 dawids joined, dawids left
lizmat you mean, remove the ANSI codes before display? 17:38
ab5tract What I mean is that we appear to support a very truncated subset of the available vt100 codes that are available in bash or C printf 17:53
lizmat I don't think we support any out of the box ?
ab5tract We support a small subset of ANSI codes. I was hoping we had a pass-through option but it looks like I will need to bring in Terminal::Print to get what I need 17:55
But even there I don’t think I did the work to make this particularly simple
What I’m looking for is essentially a multi-line approach to using \r 17:56
lizmat I guess I need a gist with code and expected output to grok
18:09 sena_kun joined
[Coke] m: say "3\r4" 18:10
camelia
[Coke] locally that prints 4
lizmat if you looked very carefully and quickly, you'd seen a 3 as well :-) 18:11
m: say "33\r4"
camelia 3
lizmat print 43 locally :-) 18:12
ab5tract Yeah, but \r is only for the current line. Anyway, managed to re-grok my own library enough to utilize Terminal::Print :) 18:20
lizmat yeah, re-grokking is hard sometimes
ab5tract Some jerk didn’t finish documenting the thing ;) 19:08
21:31 finanalyst joined 21:38 sena_kun left 22:16 finanalyst left