01:19 kylese joined 01:20 hulk left 02:15 kylese left, kylese joined 03:02 abraxxa1 left 03:05 abraxxa joined 03:28 abraxxa left 03:29 abraxxa joined 03:34 abraxxa left 04:32 arkiuat left 05:02 arkiuat joined 05:07 arkiuat left 05:21 arkiuat joined 05:49 arkiuat left 06:01 arkiuat joined 06:03 Voldenet left, Voldenet joined 06:06 arkiuat left 06:14 arkiuat joined 06:25 abraxxa joined 06:26 arkiuat left 06:39 arkiuat joined 06:43 Aedil joined 06:44 arkiuat left 07:09 arkiuat joined 07:26 apac joined 07:35 eseyman_ is now known as eseyman 07:36 apac left 07:41 Sgeo left 07:46 arkiuat left 08:00 arkiuat joined 08:02 kylese left 08:05 arkiuat left 08:18 lichtkind joined 08:22 Aedil left 08:24 jargan joined 08:25 jast left 08:26 kylese joined 08:32 arkiuat joined 08:37 arkiuat left 08:47 jargan is now known as jast 08:53 kylese left 09:06 arkiuat joined 09:11 arkiuat left 09:32 arkiuat joined 09:36 arkiuat left 10:04 arkiuat joined
El_Che . 10:05
10:09 arkiuat left 10:11 El_Che left 10:12 abraxxa left 10:14 abraxxa joined 10:18 El_Che joined 10:23 abraxxa left 10:24 abraxxa joined 10:33 arkiuat joined, bolangi_ left, bolangi joined 10:38 arkiuat left 10:54 melezhik joined
melezhik .. 10:54
10:55 melezhik_ joined 10:56 melezhik left, melezhik_ is now known as melezhik 11:06 arkiuat joined 11:11 arkiuat left, sivoais_ left, sivoais joined 11:18 bolangi left 11:19 bolangi joined
tbrowder aruniecrisps: hi, the benefits i get are the extra "boiler plate" items mi6 alone doesn't offer including repo name, default rakudoc README, load test, all under git control ready to connect to GitHub 11:19
all at the push of a button
and under App::Mi6 management 11:20
11:20 arkiuat joined 11:25 arkiuat left 11:28 human-blip joined, human_blip left, ab5tract_ joined 11:29 simcop2387_ joined 11:35 bolangi left, bolangi joined, jast left, ugexe left, simcop2387 left, tobs left, ab5tract left, GreaseMonkey left, SEric left, simcop2387_ is now known as simcop2387, ab5tract_ is now known as ab5tract, ab5tract left, ab5tract joined 11:40 tobs joined, jargan joined, ugexe joined, GreaseMonkey joined, SEric joined 11:48 abraxxa left 11:52 arkiuat joined 12:05 oodani left 12:07 oodani joined 13:04 melezhik left 13:13 jargan is now known as jast
aruniecrisps awesome, thanks! @tbrowder_04810 13:30
14:06 Sgeo joined 14:07 apac joined
tbrowder yw! 14:09
and suggestions, issues, or prs always welcome 14:10
[Coke] It's been a while since I've needed this: do we have glob support somewhere? 14:19
file.txt vs. file.* , etc.? 14:20
(for strings, not files in particular)
Voldenet not glob, but glob-ish: dir(test => /file".".+/) 14:50
for strings there's Glob::Grammar 14:53
[Coke] eh. ended up settling for just 'starts-with' for now. 15:08
thanks!
15:19 stanrifkin joined 15:21 librasteve_ joined 15:26 dpk left 15:27 dpk joined 15:36 melezhik joined
melezhik create introduction into Tomit task runner - programming.dev/post/37714839 15:37
or here - news.ycombinator.com/item?id=45302826 15:40
15:41 Aedil joined
librasteve weekly: programming.dev/post/37714839 15:45
notable6__ librasteve, Noted! (weekly)
15:47 apac left 15:52 melezhik left 15:54 human-blip left 15:56 human-blip joined 16:05 arkiuat_ joined 16:07 avuserow_ is now known as avuserow 16:08 arkiuat left 16:13 melezhik joined 16:17 apac joined 16:18 melezhik left 16:20 zetaaaa joined
aruniecrisps hey @librasteve you're using comma/intellij right? 16:49
are you getting startup errors when you load a project into comma? 16:50
16:57 zetaaaa left 17:34 apac left 17:36 human-blip left 17:38 human-blip joined 17:39 zetaaaa joined 17:56 librasteve_ left 17:57 oodani left
avuserow m: say "testing" 17:57
camelia testing
17:59 oodani joined
avuserow m: class Data {has uint32 $.a; has uint32 $.b; has uint32 $.c; has uint32 $.hashlen; has Buf $.salt}; for 1 .. 20000 {my $meta = Data.new(:salt(Buf.new), :hashlen(32)); die "oh no: {$meta.hashlen} != 32" if $meta.hashlen != 32}; say "ok"; 18:00
camelia oh no: -270835346286051296 != 32
in block <unit> at <tmp> line 1
avuserow m: class Data {has uint32 $.a; has uint32 $.b; has uint32 $.c; has uint32 $.hashlen; has Buf $.salt}; for 1 .. 20000 {my $meta = Data.new(:salt(Buf.new), :hashlen(32)); die "attempt $_: oh no: {$meta.hashlen} != 32" if $meta.hashlen != 32}; say "ok";
camelia attempt 3173: oh no: -8918910189017497568 != 32
in block <unit> at <tmp> line 1
avuserow ^ this seems to require the 4 uint32s and the Buf, but it consistently seems wrong on a few different raku versions :( 18:01
assuming it's version related, it works on 2020.02, but fails on 2024.01, 2025.06, 2025.08 18:04
Geth ¦ raku.org: librasteve self-assigned Link back to GH github.com/Raku/raku.org/issues/254 18:12
¦ raku.org: librasteve self-assigned 404 Page github.com/Raku/raku.org/issues/262 18:18
Voldenet (un)surprisingly MVM_SPESH_DISABLE=1 fixes it
also 18:19
using int32 for hashlen
m: class Data {has uint32 $.a; has uint32 $.hashlen; has Buf $.salt}; for 1 .. 20000 {my $meta = Data.new(:a(1), :salt(Buf.new), :hashlen(32)); die "attempt $_: oh no: {$meta.hashlen} != 32" if $meta.hashlen != 32}; say "ok"; # fail
camelia attempt 1922: oh no: 1020595726880604192 != 32
in block <unit> at <tmp> line 1
Voldenet m: class Data {has uint32 $.a; has int32 $.hashlen; has Buf $.salt}; for 1 .. 20000 {my $meta = Data.new(:a(1), :salt(Buf.new), :hashlen(32)); die "attempt $_: oh no: {$meta.hashlen} != 32" if $meta.hashlen != 32}; say "ok"; # no fail 18:20
camelia ok
Voldenet …huuuh 18:21
RAKUDO_RAKUAST=1 also fixes it
avuserow I even got "32 != 32" once locally, which made me start questioning my sanity (or my computer's RAM) 18:22
18:23 human-blip left 18:24 human-blip joined
avuserow yeah RAKUDO_RAKUAST=1 seems to help on recent-ish versions of raku 18:25
Voldenet though I'm suspecting that it works only because RAKUDO_RAKUAST doesn't optimize something 18:26
18:26 Sgeo_ joined, jargan joined
Voldenet so I'm betting it's a spesh bug that is uint32-related 18:27
avuserow I did try MVM_DISABLE_JIT=1 MVM_DISABLE_SPESH=1 which didn't seem to help
also 32 doesn't seem to be a special number, for what that's worth 18:29
Voldenet it's MVM_SPESH_DISABLE 18:30
avuserow :facepalm: yep that works 18:31
seems like it's an even multiple of "uint32" attributes (counting hashlen) that causes an issue 18:33
18:33 zetaaaa left
avuserow and it affects the attribute immediately before the Buf, so if you swap them, something else works 18:34
Voldenet m: class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my $hl := $meta.hashlen; die "attempt $_: oh no: {$hl} != 32" if $hl != 32}; say "ok";
18:34 Sgeo left, tobs left, jast left, ugexe left, GreaseMonkey left, SEric left
camelia attempt 1979: oh no: -8347405073059413984 != 32
in block <unit> at <tmp> line 1
18:34
18:34 tobs joined, ugexe joined, GreaseMonkey joined, SEric joined, Sgeo__ joined
avuserow almost feels like they're combined into a uint64 under the hood. also pretty sure -8347405073059413984 is way bigger than a int32/uint32 18:35
Voldenet heh, quick fix, just reorder the fields 18:36
class Data {has uint32 $.hashlen; has uint32 $.a; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my $hl := $meta.hashlen; die "attempt $_: oh no: {$hl} != 32" if $hl != 32}; say "ok";
evalable6 ok
Voldenet What could go wrong… :)
18:36 jargan left 18:37 jargan joined
avuserow it's technically not my module (though I might take it over eventually...) 18:37
Voldenet nah, it's a bug, reordering fields just covers the bug
avuserow this originally involved NativeCall so I'm glad I golfed that out of the equation
18:37 Sgeo_ left, bolangi left 18:38 bolangi joined 18:39 jargan left
avuserow I can file a ticket tonight, is this the main rakudo repo or something else? 18:41
18:53 MoC joined 19:11 Pixi` joined 19:14 El_Che left, JRaspass left 19:15 JRaspass joined, El_Che joined, Pixi left 19:38 apac joined 19:46 zetaaaa joined 20:09 Aedil left
Voldenet this repo should be the best for it github.com/rakudo/rakudo/ 20:17
m: class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my $hl := $meta.hashlen; die "oh no " if $hl != 32}; say "ok"; 20:20
camelia oh no
in block <unit> at <tmp> line 1
Voldenet bisectable6: class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my $hl := $meta.hashlen; die "oh no " if $hl != 32}; say "ok";
bisectable6 Voldenet, Will bisect the whole range automagically because no endpoints were provided, hang tight
Voldenet, Output on all releases: gist.github.com/bf1340121016cd5014...85b249067e 20:21
Voldenet, On both starting points (old=2024.02 new=2024.01) the exit code is 1 and the output is identical as well
Voldenet, bisect log: gist.github.com/b376466aaef3d4f733...baefaf1a27
Voldenet, Output on all releases and bisected commits: gist.github.com/428fa44ea1b65df5d0...2d3ccbf4fc
20:23 zetaaaa left
Voldenet bisectable6: old=2023.12 new=2024.01 class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my $hl := $meta.hashlen; die "oh no " if $hl != 32}; say "ok"; 20:23
bisectable6 Voldenet, Bisecting by exit code (old=2023.12 new=2024.01). Old exit code: 0 20:24
Voldenet, bisect log: gist.github.com/e7632168bfe45e0ee6...b1a1cd0be5
Voldenet, (2024-01-07) github.com/rakudo/rakudo/commit/c0...33985c882f
Voldenet If I read the bisect right, the problem started here github.com/MoarVM/MoarVM/commit/c3...c83313137d 20:34
20:38 kst joined 20:42 zetaaaa joined
Voldenet m: class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my uint32 $hl = $meta.hashlen; die "oh no " if $hl != 32}; say "ok"; 20:45
camelia ok
Voldenet m: class Data {has int32 $.a; has uint32 $.hashlen; has Buf $.salt}; my $hashlen = 32; my $salt = Buf.new; for 1 .. 20000 { my $meta = Data.new(:$hashlen, :$salt); my uint32 $hl = $meta.hashlen; die "oh no " if $hl != 32}; say "ok";
camelia ok
20:47 zetaaaa left
Voldenet this somehow fails on my system around 50% of times, super weird 20:53
20:54 elcaro joined
librasteve hi arun - i used to get those - there were some teething issue with the new Comma plugin (aka Raku Intellij Plugin) that were ironed out (at least for me) - if you are using the latest plugin, then maybe delete all .iml and /.idea files will reset the IntelliJ repo... (make a backup first) 21:19
21:21 arkiuat_ left 21:33 arkiuat joined 21:40 zetaaaa joined
aruniecrisps it looks like for whatever reason there's a problem with zef as well, idea isn't detecting zef either and I had to click on the button to install zef through the ide 22:54
cdn.discordapp.com/attachments/633...c0b46& 22:59
Also, I've written a Raku SDK for this: data-star.dev/ 23:08
Wondering what the package name ought to be: HTTP::DataStar, Hypermedia::DataStar, DataStar, Data-Star, etc. What are your guys' thoughts 23:09
?
ab5tract Looks cool! I think a plain DataStar is a good fit for a name 23:12
23:17 guifa joined 23:22 zetaaaa left, zetaaaa joined 23:39 apac left