🦋 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: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:00 bartolin left, andinus left, discord-raku-bot left, [Tux] left, discord-raku-bot joined, andinus joined, Colt left 00:02 Colt joined, reportable6 left 00:03 [Tux] joined 00:04 [Coke] left 00:05 bartolin joined, reportable6 joined, [Coke] joined 00:17 squashable6 left 00:18 squashable6 joined 01:09 melezhik left 02:42 frost joined 06:03 reportable6 left 08:03 reportable6 joined
Geth rakudo: afc564293d | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.c/ThreadPoolScheduler.pm6
Make the max number of threads depend on number of cores (#4652)

Previously, this was set to 64. Clearly, should be dependent on actual number of cores available. For now, the maximum is set to 8 times the number of cores, based on the previous value and the more common 4-8 core hardware that was available when that maximum was originally set, but make sure that we always have at least 64 threads as before.
08:13
08:14 linkable6 left 08:15 linkable6 joined 10:11 patrickb joined
releasable6 Next release in ≈3 days and ≈7 hours. 3 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 11:00
11:41 Altai-man joined 12:03 reportable6 left 12:07 frost left 12:49 linkable6 left
Geth rakudo/cpucores-once: 4ffafb9bc6 | (Elizabeth Mattijsen)++ | 4 files
Make sure that nqp::cpucores is only called once ever

It appears that nqp::cpucores can potentially be a heavy operation
  (even like needing to fork() apparently on MacOS Monterey), which
may well have some adverse effects.
Therefore make sure we only call nqp::cpucores only once at startup. Also introduce an implementation-detail Kernel.cpu-cores-but-one method that will be one less than the number of CPU cores, with a minimum of 1.
13:17
rakudo: lizmat++ created pull request #4659:
Make sure that nqp::cpucores is only called once ever
13:18
qorg11 Does raku modules have to be written in raku themselves to get into rakudo? Like 100% of the module have to be written in raku? I'm writing a module which uses some NativeCall functions 13:22
patrickb qorg11: Do you mean uploaded to the ecosystem? If so, then there is no requirement for modules to be written in pure Raku. 13:25
There are many modules out there bringing their own C library with them. 13:26
qorg11 patrickb: I told a guy that i've been writing a lib to work with UNIX sockets (AF_UNIX), which calls the socket() syscall from C (and then it calls read() and write() from C as well)
PF_UNIX 13:27
and that guy told me that maybe i should try to put it in rakudo
13:51 linkable6 joined
patrickb It's a question of tradeoffs. One can call external libraries written in C directly using NativeCall. In some situations it can be helpful to utilise a custom C library (e.g. for performance reasons or because third party headers make heavy use of macros). Doing so does bring the disadvantage, that users are then required to have a C compiler installed. 13:53
14:03 reportable6 joined
timo you can write a library that does that in pure raku and call those syscalls (via the libc, probably) with NativeCall 14:10
Geth DBIish/rbt.sqlite_rows: 9bc9c9d5df | (Rod Taylor)++ | 3 files
Warn on rows call in sqlite

Track situations where the value returned may be inaccurate and warn on those usages.
14:14
14:16 patrickb left
Geth DBIish/rbt.sqlite_rows: d0c43afc98 | (Rod Taylor)++ | 3 files
Warn on rows call in sqlite

Track situations where the value returned may be inaccurate and warn on those usages.
14:17
DBIish/rbt.sqlite_rows: 0ad67a0cf8 | (Rod Taylor)++ | 3 files
Warn on rows call in sqlite

Track situations where the value returned may be inaccurate and warn on those usages.
14:20
qorg11 timo: Yeah, maybe that would be a better idea 14:25
Geth DBIish: 0ad67a0cf8 | (Rod Taylor)++ | 3 files
Warn on rows call in sqlite

Track situations where the value returned may be inaccurate and warn on those usages.
14:51
15:13 [Coke] left 15:16 [Coke] joined 17:41 patrickb joined 18:00 Altai-man left 18:02 reportable6 left 18:15 Xliff_ left 18:54 squashable6 left 18:56 squashable6 joined
gfldex m: my &flatrotor = &flat ∘ &rotor; 19:12
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared routine:
rotor used at line 1. Did you mean 'goto', 'roots'?
gfldex if there a reason why we got sub flat but not sub rotor?
lizmat difficulty finding out what to rotor ? 19:19
I'm not sure anymore
19:23 patrickb left 19:30 maettu joined 19:44 MasterDuke joined 20:04 reportable6 joined 20:16 [Coke] left 20:22 [Coke] joined
Geth DBIish/rbt.dashy-variable-names: ca767febd6 | (Rod Taylor)++ | 6 files
Use $dash-variable style instead of $under_score
20:24
20:35 [Coke] left 20:43 [Coke] joined 20:54 [Coke] left
gfldex m: sub rotor(|c) { c[0].rotor(|c[1..∞]) }; my &flatrotor = &flat ∘ &rotor; say +<199 200 208 210 200 207 240 269 260 263>.&flatrotor(2 => -1).grep(&[≤]); 21:03
camelia 7
gfldex It rotates just fine on that list. :)
lizmat gfldex: then make a PR :-) 21:05
21:26 [Coke] joined
Geth DBIish: ca767febd6 | (Rod Taylor)++ | 6 files
Use $dash-variable style instead of $under_score
21:35
21:48 linkable6 left, linkable6 joined
Geth nqp: af71e00979 | (Vadim Belman)++ | src/QAST/SpecialArg.nqp
Fix SpecialArg unintentionally modifying class' MRO

Happened with `nqp::shift` on uncloned binding to `@!mro` returned by
  `self.HOW.parents(self)` call.
22:29
lizmat vrurg 22:51
I guess that warrants an NQP bump >?
vrurg No. It's a minor issue in a rarely used area. 22:52
Only causes problems if QAST dump method is used.
lizmat I see ok
vrurg Besides, the fixed method also doesn't handle values more complex than natives stored in $!named. So, it's one more fix is upcoming. 22:53
Geth nqp: a14409fb39 | (Vadim Belman)++ | src/QAST/SpecialArg.nqp
Don't die on non-primitive objects in $!named

Namely, add direct support for lists. Any other unknown type will be reported by its type named and object ID.
23:15
23:51 childlikempress joined, moon-child left 23:52 childlikempress is now known as moon-child