🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
tbrowder is zef going to start enforcing the mandatory listing of all module dependencies at some point? 00:12
and i assume that's to be in the META6.json? 00:13
[Coke] theoretically it's enforced now because the tests will fail if you don't declare everything you're using. (assuming a reasonable test suite) 00:16
I would expect maybe mi6 to add that as a check. 00:17
00:24 LainExperiments joined
ugexe even then its still kind of a fragile check 00:29
00:30 LainExperiments4 joined
ugexe since all of the dependencies may not be known at compile time even 00:30
00:30 LainExperiments4 left
ugexe in the code 00:30
i.e. stuff like `require ::($my_module)`
00:30 wbooze left 00:31 LainExperiments left 00:48 jpn left 01:57 apac left 02:07 hulk joined 02:08 kylese left 02:18 jpn joined 02:23 jpn left 02:30 yewscion_ joined 02:31 codesections joined 02:35 yewscion_ left 02:58 codesections left 03:02 yewscion_ joined 03:10 yewscion_ left 03:15 jpn joined, hulk left, kylese joined 03:19 jpn left 03:45 codesections joined 04:12 Aedil joined 04:19 Aedil left 04:22 Aedil joined 04:30 kylese left 04:33 kylese joined 04:37 Aedil left 04:40 stanrifkin_ joined, codesections left 04:41 Aedil joined 04:42 yewscion_ joined, stanrifkin left 04:47 yewscion_ left 05:03 jpn joined 05:08 jpn left 06:05 derpydoo joined 06:18 yewscion_ joined 06:23 yewscion_ left 06:28 wayland76 joined 06:37 yewscion_ joined 06:42 yewscion_ left 06:52 jpn joined 06:56 jpn left 07:25 Aedil left 07:44 Sgeo left 08:02 jpn joined 08:07 jpn left 09:03 jpn joined 09:07 jpn left 09:17 librasteve_ joined 09:21 Aedil joined 09:26 yewscion_ joined, jpn joined 09:35 lichtkind joined, yewscion_ left 09:53 sena_kun joined 10:00 sena_kun left 10:05 wbooze joined 10:30 Xliff joined
Xliff Does Raku have a browser detection module? 10:34
10:38 derpydoo left 10:45 Ekho left 10:46 tjr left 10:47 tjr joined 10:50 sivoais left
Xliff Huh! Well, I think I just got Repl.It to write me one... in Raku! 10:50
10:51 sivoais joined
lizmat nice 10:51
11:02 Ekho joined
Xliff gist.github.com/Xliff/e2d88cb176f5...54ee19bb27 11:04
Code is untested. This will be handled later today.
lizmat too bad it is using the approach of hashes (very Perl like) instead of creating a Browser class with attributes 11:09
Xliff Yeah. I suspect much of the training data is from Perl. 11:11
I'll be making those changes later today, I suppose.
11:15 Xliff left 11:29 JimmyZhuo joined 11:55 kylese left, kylese joined 12:08 melezhik joined
melezhik . 12:08
ugexe: one day you told me there is way to speed up zef install process by asking not compile modules? 12:09
zef install still consumes a lot of memory or/and cpu for modules with dependencies - even for relatively small dependency trees like github.com/melezhik/Sparrow6/blob/...META6.json 12:11
that results in killing by OOM by kernel my qemu instances when I try to install Sparrow6 on it ... any thoughts?
speed up = make it less consuming of system resources like CPU/RAM 12:12
there is workaround for that split installation process by smaller chunks - like - zef install A, zef install B, etc - but this kills the very idea of handling dependecies by zef ... 12:13
12:22 melezhik left 12:26 maylay left 12:28 maylay joined 12:46 maylay left 12:49 maylay joined 13:06 JimmyZhuo left 13:08 human_blip left 13:10 human_blip joined 13:13 wbooze left 13:16 human_blip left 13:18 human_blip joined 13:24 wbooze joined 13:39 yewscion_ joined 13:51 jpn left
librasteve Xliff: I wonder if browser detection (to logs?) is a good candidate for Cro middleware? 13:53
tellable6 librasteve, I'll pass your message to Xliff
13:53 apac joined
ugexe melezhik: you can use `--/precompile-install` but if you're going to run that code (for e.g. tests) then that precompilation still has to happen, it would just happen at runtime instead 14:02
tellable6 ugexe, I'll pass your message to melezhik
librasteve getting an error with the new REPL module ... REPL is a builtin type, not an external module 14:04
zef install REPL fine; on raku latest 2025.02 on macOS 14:05
golf => use REPL; repl;
do I need use v.6.PREVIEW; maybe? 14:06
tried use v6.e.PREVIEW; still same error mesg ;-(
oh - turns out don't need the use REPL; line since REPL is, err a builtin type, not an external module - red face 14:09
14:11 Sgeo joined 14:17 jpn joined
I've just been categorizing some transactions on a spreadsheet by read CSV, use a persistent Hash to assign a category in the next column and write CSV ... but I needed the category map to be reusable every month and to be tweakable as categories and payees come and go 14:45
14:46 habere-et-disper joined
librasteve_ www.irccloud.com/pastebin/IOEmDB48 14:47
librasteve turns out that lizmat REPL is an awesome way to interactively monkey with my cat map and then just write as a .raku to a file - amazing ... kudos to lizmat for inventing something I didn't even know I needed! 14:48
tonyo doing some spot checking now but all the missing dists will show up shortly in the zef index 14:58
14:58 apac left
tonyo last step before a soft release of the updated eco system, blog explaining the changes, and full release 14:59
this is required for zef eco while we transition to the release ecosystem code so the lambdas will still work but will have the same "i don't know what the error is" issue we have today. planned support for the lambdas will last another six or so months once the new stuff is fully released 15:03
15:06 hudo__ left 15:09 wbooze left 15:10 wbooze joined 15:11 wbooze left 15:12 wbooze joined 15:13 wbooze left, wbooze joined 15:16 wbooze left, wbooze joined 15:36 habere-et-disper left 15:58 wbooze left 16:06 wbooze joined 16:07 wbooze is now known as Inline 16:08 codesections joined 16:09 Inline is now known as wbooze 16:29 codesections left 16:51 yewscion_ left 17:04 Aedil left 17:10 Aedil joined 17:16 jpn left 17:23 jpn joined 17:27 yewscion_ joined 17:41 wayland76 left 17:48 wbooze left 17:50 yewscion_ left 18:16 wayland76 joined, wayland76 left 18:17 jpn left, wayland76 joined 18:38 yewscion_ joined 19:13 jpn joined 19:18 jpn left
melezhik. ugexe: yeah , this is what I thought, I just wonder why is zef so slow on that aspect in general ? Just thinking 🤔 out loud … 19:46
tellable6 2025-03-21T14:02:38Z #raku <ugexe> melezhik: you can use `--/precompile-install` but if you're going to run that code (for e.g. tests) then that precompilation still has to happen, it would just happen at runtime instead
20:12 jpn joined
ugexe melezhik: all those slow bits occur inside of rakudo. the actual install+precompile is basically done with a single call to CompUnit::Repository::Installation.install(...). There isn't anything zef can do to speed up what happens inside of that function 20:16
20:19 jpn left 20:31 jpn joined 20:36 jpn left 20:49 wayland joined, wayland76 left
wayland Here's an interesting one: I'm looping over some files containing tests, and printing something between each: for glob('*.rakutest').sort -> $script { say "=== $script ==="; shell './' ~ $script; } 20:55
The weird thing is that it shows the first === line, then the output of all the tests from all 3 files, and finally the other two === lines
Anyone have any ideas about what might be happening? 20:56
21:01 apac joined
[Coke] is the sctipt output to stderr, perhaps? 21:04
wayland I tried adding 2>&1 at the end of the script execution, and it made no difference 21:06
ugexe shell isn't blocking 21:17
wayland ugexe: So why doesn't it print all three === lines, and then the output? 21:18
And, is there a way I can wait for shell to be done? 21:19
21:20 yewscion_ left
ugexe sink the result of shell 21:20
wayland Oh, I see, I put it in a loop, and check the return value of shell.Bool
ugexe that is one way
wayland ugexe: Doesn't my script already run shell in a sink context? 21:21
ugexe i honestly dont know, maybe it would get sunk now. in the old days it would not have been 21:22
it looks like it would be getting sunk afterall 21:24
it might still be worth checking if adding a sink prefix ala `sink shell ...` just to see
if that doesn't fix it then its going to be a buffering issue. i see this alot in CI tests for zef where there is a lot of stdout and stderr text that is expected to be shown in a deterministic order, but it sometimes isnt 21:28
librasteve wayland: instead of say maybe try note or even warn “thing”; $*ERR.flush; 21:41
21:46 sena_kun joined 21:47 Aedil left
tonyo is parallel precomp working now or unreliable by nature? 21:52
we had that dependency thing in like 2014 or 15 iirc
22:03 apac left
ugexe github.com/rakudo/rakudo/blob/f3ae...#L348-L364 22:06
wayland Thanks all! I added some .flushes as per librasteve's suggestion, and that seems to have resolved things. So ugexe was right, it was buffering. 22:16
Specifically, I added $*OUT.flush; after the "say" statement 22:20
librasteve 👍 22:26
22:32 jpn joined 22:34 maylay left 22:37 maylay joined, jpn left
ugexe you might be able to just set `$*OUT.out-buffer = 1` as well 22:39
although that will degrade performance of output if you are outputting a lot
22:46 lichtkind left 22:47 kaskal- joined 22:48 kaskal left 23:25 sena_kun left 23:27 derpydoo joined
wayland Good thought, but this is currently the only place that needs it, so I'm just going to leave it the way it is. 23:37