🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). This channel is logged for the purpose of keeping a history about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Log inspection is getting closer to beta. If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 25 August 2021.
Geth doc: d8c38a702a | Coke++ | xt/search-categories.t
Use category list from documentation

  * Avoid having two copies of the same data
  * minor whitespace fix in test description
00:06
doc: b79374095d | Coke++ | doc/Language/operators.pod6
Use category from approved list
linkable6 Link: docs.raku.org/language/operators
doc: 8273088eeb | Coke++ | xt/search-categories.t
Verify each category is actually used
00:08 reportable6 left 00:10 reportable6 joined
Geth ¦ doc: coke assigned to Altai-man Issue "Routines" category is unused github.com/Raku/doc/issues/4064 00:12
¦ doc: coke assigned to JJ Issue Category case inconsistency github.com/Raku/doc/issues/4063 00:13
¦ doc: coke assigned to Altai-man Issue Category case inconsistency github.com/Raku/doc/issues/4063
00:15 Geth left, Geth joined 00:20 Geth left, Geth joined, dwarring left 00:27 [Coke]_ joined 00:29 [Coke] left 00:30 [Coke]_ is now known as [Coke] 00:46 euandreh joined 00:52 GreaseMonkey left 00:53 greaser|q joined 01:53 coverable6 left, greppable6 left, sourceable6 left, bloatable6 left, notable6 left, benchable6 left, quotable6 left, committable6 left, shareable6 left, releasable6 left, statisfiable6 left, unicodable6 left, bisectable6 left, tellable6 left, nativecallable6 left, evalable6 left, reportable6 left, linkable6 left 01:54 coverable6 left, greppable6 left, sourceable6 left, bloatable6 left, notable6 left, benchable6 left, quotable6 left, committable6 left, shareable6 left, releasable6 left, statisfiable6 left, unicodable6 left, bisectable6 left, tellable6 left, nativecallable6 left, evalable6 left, reportable6 left, linkable6 left, quotable6 joined, evalable6 joined, nativecallable6 joined, linkable6 joined, releasable6 joined, bisectable6 joined, unicodable6 joined, statisfiable6 joined, committable6 joined 01:55 notable6 joined, greppable6 joined, bloatable6 joined 01:56 tellable6 joined, benchable6 joined, shareable6 joined, reportable6 joined, coverable6 joined, sourceable6 joined 02:48 hythm joined
hythm m: class C is repr('CStruct') { has int $.x; method increment () { $!x += 1 } }; my $obj = C.new(:1x); my @a = $obj; say @a; $obj.increment; say @a 02:48
camelia [C.new(x => 1)]
[C.new(x => 2)]
hythm ^ is this correct? I was expecting `x => 1` for both cases, or this is how it's supposed to work for `CStruct` classes? 02:50
Voldenet CStruct is a pointer to the struct, not the actual struct 02:51
it's more useful in most contexts
hythm so is there is a way to pass a copy of it? I tried .clone, but its NYI
Voldenet if you need any solution that works, I suppose that just creating `clone` method will work 02:58
m: class C is repr('CStruct') { has int $.x; method clone { self.new(:$!x) }; method increment () { $!x += 1 } }; my $obj = C.new(:1x); my @a = $obj.clone; say @a; $obj.increment; say @a
camelia [C.new(x => 1)]
[C.new(x => 1)]
moon-child hythm: note you also cannot use c interfaces that expect a by-value struct 03:02
this is a flaw in dyncall 03:03
hythm Thanks everyone.  went with clone method 03:09
03:15 Guest35 left 03:16 coleman left 03:32 frost joined 04:30 hythm left 04:48 xinming left 04:50 xinming joined
CIAvash weekly: www.ciavash.name/blog/2022/04/25/f...-on-emacs/ 05:08
notable6 CIAvash, Noted! (weekly)
05:20 zacts joined
Geth ¦ doc: JJ self-unassigned Category case inconsistency github.com/Raku/doc/issues/4063 05:21
05:37 jjido joined 05:38 jjido joined 05:42 Guest20 joined
Guest20 hi! I've got some 2d data in a 2d array. but when I use the map function it flattens the result into 1d. are arrays bad for mapping 2d data or am I doing something else wrong? 05:50
05:53 zacts left
Voldenet post some example, because it works like one would expect 05:53
m: say (1, 2; 3, 4).map(*.map(* * 2))
camelia ((2 4) (6 8))
Voldenet m: say (1, 2; 3, 4).deepmap(* * 2)
camelia ((2 4) (6 8))
Voldenet m: say [[1, 2], [3, 4]].deepmap(* * 2) 05:54
camelia [[2 4] [6 8]]
Guest20 I get these outputs from the repl: 05:56
> my @array[2; 2] = [[1, 2], [3, 4]]
[[1 2]
 [3 4]]
> @array.map(* * 2)
(2 4 6 8)
that's a 8 ) rather than a smily 05:57
Voldenet Ah, that's a shaped array, I don't use them much 06:00
they come with odd limitations 06:01
m: my @array[2; 2] = [[1, 2], [3, 4]]; say @array[1]
camelia Partially dimensioned views of shaped arrays not yet implemented. Sorry.
in block <unit> at <tmp> line 1
Voldenet m: my @array = [[1, 2], [3, 4]]; say @array[1]
camelia [3 4]
Guest20 should I use the nested lists instead? they look like they work okay
Voldenet tbh. I prefer to always use simple arrays instead 06:06
lists are supposed to not be mutable 06:07
06:07 reportable6 left
Voldenet m: my $x = 42; my @l = (1, 2; 3, $x); @l[1][1] = 5; say @l; say $x 06:07
camelia [(1 2) (3 5)]
5
Voldenet m: my $x = 42; my @l = (1, 2; 3, $x); @l[1][0] = 5; say @l; say $x
camelia Cannot modify an immutable List ((3 42))
in block <unit> at <tmp> line 1
Voldenet m: my $x = 42; my @l = [[1, 2], [3, $x]]; @l[1][1] = 5; say @l; say $x
camelia [[1 2] [3 5]]
42
06:08 reportable6 joined
Voldenet this piece of docs may be enormously useful to pick the right structures to use: docs.raku.org/language/list 06:09
Guest20 thank you for the help
06:18 lichtkind joined 06:31 Guest20 left, mexen joined 06:50 jjido left 07:29 Sgeo left 07:41 linkable6 left 07:44 linkable6 joined 07:46 linkable6 left 07:47 linkable6 joined 07:56 jjido joined 08:04 dakkar joined 08:41 jjido left
El_Che japhb: oops 08:45
09:41 evalable6 left, linkable6 left, linkable6 joined 09:43 evalable6 joined
Geth problem-solving/JJ-patch-1: 84e555ee96 | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | .github/CODEOWNERS
Remove self as owner of that section

I can no longer claim responsibility for the documentation repo *de facto*. It's only sensible to remove myself from here too.
09:48
problem-solving: JJ++ created pull request #322:
Remove self as owner of that section
Nemokosch hi, any idea why qq{{' ' x $n}} does not interpolate? 09:52
is this intended?
if I use different parens for qq, it does
09:56 jjido joined
gfldex your delimiter is {{ 09:59
Nemokosch well you wish that was the problem but it wasn't; the same happens if the brackets aren't next to each other 10:03
> > qq{ByteFeld_ausgeben("{' ' x $n}", } 10:04
> ByteFeld_ausgeben("{' ' x 4}",
> > qq/ByteFeld_ausgeben("{' ' x $n}", /
> ByteFeld_ausgeben(" ",
10:07 discord-raku-bot left, discord-raku-bot joined
or better said, the question does arise, the first example was wrong 10:11
10:22 zacts joined 10:49 zacts left 10:52 Guest20 joined 11:20 londoed_ left, londoed_ joined 11:37 Guest20 left 11:42 jaguart joined
Geth doc/old-docs: 4 commits pushed by (JJ Merelo)++, Coke++ 11:43
11:54 londoed_ left, londoed_ joined 12:04 abraxxa joined 12:08 reportable6 left 12:09 abraxxa left
lizmat and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/04/25/2022-...inrelease/ 12:10
12:10 abraxxa joined, reportable6 joined
jaguart a bit confused by ``race``... expecting threading 12:37
m: race for <a b c> { $*THREAD.say } 12:38
camelia Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
jaguart m: await( <a b c>.map({ start { $*THREAD.say }}) )
camelia Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
jaguart On my linux host, race all has the same thread number (effectively serialised), while awaiting promises does thread 12:39
12:58 frost left 13:10 frost joined 13:17 jjido left 13:20 Altai-man joined 13:24 Guest35 joined
Geth ¦ doc: Altai-man self-assigned "Foreign" is repeatedly used when other categories should probably fit better github.com/Raku/doc/issues/4062 13:32
gfldex m: <a b c>.race(:batch(1)).map: { $*THREAD.say }; 13:46
camelia Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
Thread #4 (GeneralWorker)
gfldex jaguart: race-statement doesn't have a small enough batch-size to show what goes on in your example and the host of camelia may not have enough cores to do any threading. 13:47
13:48 Sgeo joined
jaguart gfldex: thank you - :batch(1) tadah! :) 13:53
14:09 Altai-man left, Altai-man joined, japhb left 14:13 dogbert11 joined 14:15 dogbert17 left 14:18 DarthGandalf left, frost left 14:22 DarthGandalf joined 14:38 japhb joined 14:52 sivoais left 15:03 sivoais joined 15:05 coleman joined 15:32 lichtkind left 15:35 jjido joined
Juerd I like that the .04 release has faster startup than .03 15:37
~30 ms off. Not there yet but a good improvement either way 15:38
15:45 [Coke] left
Juerd strace shows quite some time (approx. 20 ms) is spent reading /proc/stat and /proc/cpuinfo. What are those needed for?! 15:45
Apparently that's a libuv thing 15:47
15:47 [Coke] joined 16:12 synthmeat left, synthmeat joined, synthmeat left 16:15 abraxxa left 16:19 jjido left 16:21 synthmeat joined 16:35 dakkar left 16:50 mexen left 16:57 Gruber left 17:00 jaguart left 17:03 jjido joined 17:09 m_athias left 17:10 camelia left, nine left 17:11 m_athias joined 17:12 nine joined, Sankalp joined 17:16 camelia joined, nine left, m_athias_ joined, m_athias left 17:17 nine joined, jaguart joined 17:21 m_athias_ is now known as m_athias, jjido left 17:23 guifa joined 17:25 morte_ joined 17:44 Altai-man left 17:50 lichtkind joined 18:08 reportable6 left 18:09 reportable6 joined 18:16 ajr joined 18:34 jjido joined
[Coke] do we have docs on how the current docs site is published? I got the impression it was being done by hand recently. 19:08
19:10 guifa left
sena_kun [Coke], the best bet is maybe migration ASAP 19:15
[Coke] That's a possibility but I know there's several outstanding questions. 19:17
sena_kun yes, that's why fixing them is a must to move forward IMO 19:18
but otherwise you can ask rba for access to the server where the docs host, then you can generate a static set of pages using Documentable and just rsync it, I think
19:30 morte_ left 19:35 Sankalp left 19:43 ajr left 19:54 ajr joined, Sankalp joined 20:01 ajr left 20:16 coleman left 20:21 ajr joined
kybr could someone point me to the state of the art for Java interoperability? importing a Java library and calling a function? 20:38
tellable6 2021-05-09T22:02:00Z #raku <tbrowder> .tell kybr checkout my 2021 advent post about santa claus and raku: a christmas tree forming a raku script
20:53 coleman joined 21:11 coleman left
[Coke] kybr: stackoverflow.com/questions/271563...from-perl6 21:12
(yes that's old. not sure if we have something more recent)
21:36 greaser|q left, greaser|q joined 21:37 greaser|q is now known as GreaseMonkey
sena_kun camelia, say 42; 21:50
m: say 42;
camelia 42
sena_kun camelia, help
camelia sena_kun: Usage: <(nqp-moarvm|debug-cat|prof-m|nqp-js|p5-to-p6|nqp-jvm|rakudo-jvm|star-m|rakudo-moar|m|nqp-q|j|star|nqp-m|perl6|r|sm|r-m|rakudo|nqp-mvm|p6|r-j|r-jvm|rm|master|nqp|p56|rj)(?^::\s(?!OUTPUT)) $perl6_program>
sena_kun camelia, info
does camelia have external API or can it have one?
22:03 jjido left 22:17 coleman joined
[Coke] p5-to-p6: $|=1 22:53
camelia # Do not edit this file - Generated by Perlito5 9.028

{
sub JS::inline (*@_);
sub Java::inline (*@_);
${'|'} = 0;
$warnings::VERSION = 1.42
}
class main {
${'|'} = 1
}
22:54 MasterDuke left 23:06 jaguart left 23:10 melezhik joined
melezhik .tell patrickb I've added support for any git urls, not just GH - sparrowhub.io:2222/report/232 23:10
tellable6 melezhik, I'll pass your message to patrickb
melezhik for example for source hut and gitlab
one just need to make checkbox - "not a GitHub URL" when adding git repo 23:11
japhb melezhik: Why not autodetect that? 23:12
(Or at least autodefault)
melezhik because it will take oath2 integration with gitlab/sourcehut
right now it's only auto detect for GH repos 23:13
japhb melezhik: Right, but GH urls only come in a few fixed formats. You could set the default by just prefix match on the URLs
melezhik because GH is the only oauth supported
japhb Oh, I see, I think I had missed that detail. 23:14
melezhik anyway, right now ANY git repos are supported as long as they publicly accessed via `git clone $url`
however to enable login one need to have a GH account
23:20 melezhik left 23:28 coleman left 23:31 ajr left 23:33 lichtkind left 23:43 ajr joined