🦋 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 can be inspected at colabti.org/irclogger/irclogger_log/raku-dev | For MoarVM see #moarvm
Set by lizmat on 26 April 2021.
japhb Just came across somewhat odd behavior -- I was trying to see how reliable `Supply.interval($int)` is when $int shrinks, so I ran the following: 04:07
raku -e 'my $i = 0; my $int = .002; my $limit = 20; react whenever Supply.interval($int) { done if $limit < now - INIT now; $i++ }; say $i; say $i * $int * 100 / $limit;'
Varying $int to be some whole number of milliseconds.
The final number printed in the run is % of expected interval triggers that actually arrived within the time limit. 04:08
As expected, as $int goes from 0.1 down to 0.001, that % falls quite a bit.
I expected that this would represent random (or at least chaotic) interactions, especially since I'm on a laptop and I can see the core speeds varying all over the place. 04:09
But ... the % arriving is remarkably stable for a given $int.
Like within 2 parts in 10_000 on my system. 04:10
Which indicates to me really regular, predictable things "stealing time".
But ... what? 04:11
japhb Actually at .001 interval, it's a little less stable -- but still within 4 parts per 1_000. 04:19
releasable6 Next release in ≈2 days and ≈11 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 07:00
nine japhb: what are the percentages? 07:07
moon-child any chance someone can take a look at github.com/rakudo/rakudo/pull/4312 ? 07:13
nine moon-child: the change looks innocent enough, but I don't know what our policies on such aliases are or what's the semantic difference between those Unicode symbols :/ 07:22
lizmat google seems to be unaware of any semantic difference 07:26
I already approve the PR, but would like to have jnthn chime in as it would affect Comma e.g. 07:27
moon-child I'm not aware of any difference between them. Some apls use the small variant, so I got used to the way it looks, is all :P 07:29
lizmat Stuff going on on Freenode: gist.github.com/joepie91/df80d8d36...18af497409 09:32
nothing to worry about yet
moon-child also fuchsnet.ch/freenode-resign-letter.txt, apparently 'no longer a draft' 09:38
lizmat meh, things are moving fast 09:39
Geth rakudo: d00c7e353d | Moonchild++ | 8 files
Add support for ∊ and ∍ as aliases for ∈ and ∋
09:53
rakudo: face292a07 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 8 files
Merge pull request #4312 from moon-chilled/master

Add support for ∊ and ∍ as aliases for ∈ and ∋
gfldex After reading freenode-resign-letter.txt I consider myself lucky to live in a country where we have proper laws that properly protect and make running a non-profit cheap and painfree. 10:32
Please consider codeberg.org/ over github. 10:33
lizmat afk for a few hours& 12:40
leont It seems like community implosions are fashionable lately -_- 12:47
[Coke] 13:53
jdv79 [Coke]: are you ok? 14:00
[Coke] yes?
jdv79 cool
[Coke] Why do you ask?
am I giving a vibe? :)
[Coke] tries to connect to libera.chat and fails. 14:01
[Coke] wanders away for $DAYJOB
lizmat test 14:44
lizmat Claiming this channel for the Raku Programming Language community, as a replacement of #raku on Freenode 14:47
well #raku-dev, actually
@jdv ha 15:01
lizmat welcome :-) 15:06
Geth rakudo/rakuast: cdd81b3b6a | (Jonathan Worthington)++ | 2 files
Remaining RakuAST nodes for character classes

This adds support for `<[a..z]>` and similar, as well as filling out compilation of addition and subtraction of character classes. Likely there will be the odd detail to work out - there's a lot of semantics in here - but everything tested so far matches with the current compiler frontend.
15:20
lizmat wtf 15:28
@jdv who wants op - i don't do irc ips 15:28
*ops
lizmat jdv I guess this is part of the war going on now 15:29
@jdv lovely 15:30
andinus m: say "o/" 15:55
tonyo where can i find this channel now? 16:54
sena_kun releasable6, status 17:15
releasable6 sena_kun, Next release in ≈2 days and ≈1 hour. There are no known blockers. 0 out of 43 commits logged 17:15
sena_kun, Details: gist.github.com/31c3814f66b82a649d...74fbb194ec
AlexDaniel` please ping me later about the bots if there are any freenode-related changes 17:16
japhb nine: Sorry, went to bed early last night. Here's some pulled from my terminal scrollback: .050: 100%, .033: 99.66%, .016: 99.04%, .008: 97.88%, .004: 96.04%, .002: 92.56%, .001: 87.02% 17:28
nine japhb: just paranoid here, but I think $i ought to be an atomicint and the op an atomic inc 17:39
japhb I thought whenever blocks were supposed to be single-threaded? I will feel like an idiot if I've just totally misunderstood that. 18:02
ugexe is it react or whenever? 18:03
i thought it was react
ugexe i guess it would be both in the later case 18:06
japhb The docs say "Please note that one should keep the code inside the whenever as small as possible, as only one whenever block will be executed at any time. One can use a start block inside the whenever block to run longer running code." Sounds closer to your explanation, but for something like this I'd probably only trust Word Of Jonathan to be 100% accurate, given he wrote it. :-)
Yeah, which brings me back to thinking that I shouldn't *need* to use an atomicint unless something is broken with that guarantee.
tonyo that doesn't mean whenever is single-threaded 18:07
japhb tonyo: We may be using the terminology slightly differently. I mean "Only one thread at a time is allowed to be inside the whenever block", though of course it could be different threads entering different iterations. 18:08
And I guess ugexe was saying that that should be "Only one thread at a time is allowed to be inside the react block" 18:09
ugexe closer to only one thread from outside the react block could be inside the react block initializing the handlers... threads can be started inside the react block ala whenever start ... { } of course 18:12
tonyo m: y $u = Supplier.new; my $s = supply { whenever $u.Supply { sleep 5; emit time; }; whenever $u.Supply { sleep 1; emit time; }; }; $s.tap( -> $a { $a.say; } ); say time; $u.emit("hello"); sleep 7; 18:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Unsupported use of y///. In Raku please use: tr///.
at <tmp>:1
------> 3y7⏏5 $u = Supplier.new; my $s = supply { whe
tonyo m: my $u = Supplier.new; my $s = supply { whenever $u.Supply { sleep 5; emit time; }; whenever $u.Supply { sleep 1; emit time; }; }; $s.tap( -> $a { $a.say; } ); say time; $u.emit("hello"); sleep 7;
camelia 1621448019
1621448024
1621448025
Geth nqp: e924473199 | (Daniel Green)++ | 9 files
Use Win32 native API to get file changetime on JVM

Windows doesn't support "unix:ctime" when using Files.getAttribute, so instead try calling the Win32 native API. This required upgrading JNA from 4.0.0 to 4.5.0 and adding the JNA platform jar.
18:38
nqp: bd9a7a257b | MasterDuke17++ (committed using GitHub Web editor) | 9 files
Merge pull request #723 from MasterDuke17/use_native_api_for_changetime_on_windows_for_jvm_backend

Use Win32 native API to get file changetime on JVM
MasterDuke ha! finally figured out the project euler problem i started working on in 2012 that inspired my first perl 6 module in2016 because the builtin .combinations was too slow, and then subsequent first commits to rakudo in 2016 to mildly speedup the builtins 20:52
lucs MasterDuke: Which one? 21:02
MasterDuke 60 21:03
lucs Thanks (just curious)
MasterDuke "Find the lowest sum for a set of five primes for which any two primes concatenate to produce another prime."
sjn hey, I'm looking into getting the #raku channels registered. anyone else thinking in those terms? 21:30
tonyo i think jdv has started that 21:32
process
sjn allright, cool 21:33
MasterDuke .ask jnthn i randomly noticed that `for ^4 -> $foo { $foo = 4 }` doesn't give the name of the variable in the error anymore, which bisected to github.com/rakudo/rakudo/commit/39...ca52682bc7 any idea how we could do the compile-time analysis you mentioned to get it back? 21:48
tellable6 MasterDuke, I'll pass your message to jnthn
@jdv afaik tyil is doing that - i just squatted... 21:49
tonyo 👍 21:53
japhb Who do we even contact for getting orgs and cloaks set up again? 22:53
moon-child apparently email projects@libera.chat 22:54
libera.chat/chanreg#how-to-registe...-a-project
japhb moon-child: Thanks, done. 23:14