🦋 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.
00:08 reportable6 left
guifa SmokeMachine I've been working at it too 00:08
the custom method declarator is the hold up, but I put stuff on that front on hold waiting for RakuAST (because ultimately everything generated inside of { … } would need to go to that) 00:09
SmokeMachine Voldenet: the “language” will probably change 00:10
00:10 reportable6 joined
SmokeMachine guifa: yes, I was also waiting for RakuAST… but I think I’ll need to know how to do the Methodo-ish even with RakuAST 00:13
guifa SmokeMachine I think you can hook into this one: proto token routine_declarator { <...> } 00:36
00:41 Core3143 left, shinto joined
guifa although really, that's just a called by token term:sym<routine_declarator>. So you could probably just add a new token term:sym<whatever> and just make sure it calls the appropriate metamethods for the package 00:42
00:44 shinto left
SmokeMachine guifa: yes, that makes sense… 00:44
00:45 ufobat left
guifa once I finish porting this one last little bit of timezone code, I'm dedicating the next few weeks to really learning RakuAST and installing even the most basic little declarator with a custom langauge will be my #1 priority 00:50
SmokeMachine guifa: please when you have that done, please let me know and take a look at the code 01:08
01:13 frost joined
guifa trust me, once I figure it out, I'll be blasting it everywhere :-) (at the very least, a blog post or something… been forever since I've done one of those) 01:16
01:34 epony left 01:44 melezhik joined
melezhik Now when Sparky has clusterization mode, I wonder if someone in Raku community is interested in running Raku tasks in cluster? It could be any domain, bearing in mind the Sparky/Sparrow versatility ... 01:46
tellable6 2022-01-04T09:35:40Z #raku <El_Che> melezhik bintray sunsetted their repo infrastructure so I moved to cloudsmith with the added bonus it also has alpine repos
melezhik El_Che sure, I have already figured it out, but thanks ))
github.com/melezhik/sparky#cluster-jobs 01:47
I already have one small cluster of 3 sparky servers and things work good on them ...
not 3 even 4 )) 01:48
01:50 melezhik left 02:13 Xliff joined 02:25 lockywolf left 02:26 lockywolf joined 02:33 lockywolf left, [Coke] left 02:34 lockywolf joined, razetime joined 02:35 lockywolf left
SmokeMachine .tell melezhik on github.com/melezhik/sparky#cluster-jobs shouldn’t %j be $j? 02:38
tellable6 SmokeMachine, I'll pass your message to melezhik
02:38 lockywolf joined 02:39 [Coke] joined, lockywolf left 02:43 lockywolf joined 02:44 lockywolf left 02:46 lockywolf joined 02:48 lockywolf left 02:52 lockywolf joined 02:54 lockywolf left 02:55 [Coke]_ joined 02:56 melezhik joined
melezhik . 02:56
tellable6 2022-01-08T02:38:26Z #raku <SmokeMachine> melezhik on github.com/melezhik/sparky#cluster-jobs shouldn’t %j be $j?
melezhik @Sm
SmokeMachine you are right, I've just fixed that, thanks 02:57
02:57 [Coke] left 02:58 lockywolf joined 03:12 melezhik left 03:30 frost left 03:35 frost joined 03:40 lockywolf left 03:41 lockywolf joined 03:44 lockywolf left 03:48 lockywolf joined 03:49 razetime left 04:04 razetime joined 04:18 destroycomputers left 05:18 releasable6 left, unicodable6 left, shareable6 left, committable6 left, coverable6 left, reportable6 left, quotable6 left, bisectable6 left, notable6 left, tellable6 left, statisfiable6 left, squashable6 left, benchable6 left, bloatable6 left, greppable6 left, evalable6 left, sourceable6 left, nativecallable6 left, linkable6 left 05:19 quotable6 joined, committable6 joined, bisectable6 joined, benchable6 joined, notable6 joined, linkable6 joined, tellable6 joined 05:20 statisfiable6 joined, nativecallable6 joined 05:22 epony joined 05:25 Xliff left 05:56 lockywolf left 05:58 lockywolf joined 05:59 lockywolf left 06:00 lockywolf joined 06:04 lockywolf left 06:07 lockywolf joined 06:08 reportable6 joined 06:18 releasable6 joined, sourceable6 joined 06:20 evalable6 joined 06:47 Xliff joined 06:50 tejr left, tejr joined 07:19 shareable6 joined 07:21 squashable6 joined, bloatable6 joined 07:30 seednode99 left 07:31 seednode99 joined 07:53 demostanis[m] left, sienet_ja_LSD[m] left, CIAvash left 07:57 CIAvash joined 07:58 razetime left, razetime joined 08:07 vrurg left, demostanis[m] joined 08:08 vrurg joined 08:11 sienet_ja_LSD[m] joined 08:20 greppable6 joined 09:18 razetime left 09:20 coverable6 joined 09:22 jjido joined 09:23 razetime joined 09:48 lichtkind joined 09:49 tejr left, tejr joined 10:20 unicodable6 joined 10:28 lockywolf left 10:32 lockywolf joined 10:38 Sgeo left
andinus so i'm using Net::SMTP and have "LEAVE $c.quit;" to close the connnection after the job is done 10:48
but when Net::SMTP is unable to connect it throws, i have a catch block to handle that, then "LEAVE $c.quit" still runs, but $c isn't defined so it throws another error 10:50
i could use "KEEP $c.quit" but then what if sending the mail itself fails, in that case it wouldn't run .quit
is there a way to say do, "my $c = NET::SMTP(..) && LEAVE $c.quit" 10:51
ie to make the phaser active only if $c is defined
moon-child my $c = ...; LEAVE $c.quit if $c 10:53
?
though a restructuring might be in order. Presumably you currently have something like: my $c = connect...; LEAVE $c.quit; return unless $c; $c.send...; ... 10:55
in that case, why not: my $c = connect... or return; LEAVE $c.quit; $c.send...; ...
andinus oh, that makes sense, thanks 10:56
11:03 jjido left
lizmat andinus: I frequently use LEAVE .quit with $c 11:09
tbrowder hi, all, anyone using module Spreadsheet::XLSX? 12:01
12:03 linkable6 left, evalable6 left
tbrowder i had 2 of its deps fail and forced tested them, but i don't like to do that. i'll file an issue but wonder if anyone else sees the same problem 12:03
failing deps were: NativeHelpers::Callback and Archive::Libarchive::Raw 12:06
12:08 reportable6 left
tbrowder ok, i see jdv filed an issue 25 days ago on NativeHelpers::Callback 12:17
hope it gets fixed soonish, i need Spreadsheet::XLSX 12:18
but there is also Spreadsheet::Libxlsxio! 12:26
13:14 [Coke]_ is now known as [Coke] 13:38 destroycomputers joined 13:57 perlbot left, simcop2387 left 14:08 reportable6 joined 14:11 dextercd joined 14:23 simcop2387 joined 14:24 perlbot joined 14:49 jjido joined 15:01 lichtkind_ joined 15:02 lockywolf left 15:04 lichtkind left, evalable6 joined 15:05 linkable6 joined 15:06 lockywolf joined 15:17 sena_kun left 15:18 sena_kun joined 15:30 lockywolf left 15:38 lockywolf joined
Geth ecosystem: 0935a72f2b | (Elizabeth Mattijsen)++ | META.list
Remove Text::MiscUtils from git ecosystem

It lives in the zef ecosystem now
16:02
16:05 destroycomputers left 16:16 jjido left
MasterDuke sourceable6: &succ 16:17
sourceable6 MasterDuke, No idea, boss. Can you give me a Code object? Output: 4===SORRY!4=== Error while compiling /tmp/AHuPyXLhX6␤Undeclared routine:␤ succ used at line 1␤␤
MasterDuke sourceable6: .succ
sourceable6 MasterDuke, No idea, boss. Can you give me a Code object? Output: No such method 'succ' for invocant of type 'Any'. Did you mean 'sum'?␤ in block <unit> at /tmp/JsmSPtU1dU line 1␤␤
16:40 Flwyd joined
AlexDaniel 🙋 just checking in, all good with the bots? 16:47
sourceable6: 42.succ
sourceable6 AlexDaniel, github.com/rakudo/rakudo/blob/f432...ic.pm6#L37
MasterDuke ah, thanks. for some reason i've never been able to internalize how to use sourceable6 16:48
sourceable6 MasterDuke, Thank you! You love me, you really love me!
AlexDaniel xD
MasterDuke: usually, you just give it runnable code 16:49
and it just does that
.succ by itself doesn't mean much because you can't know .succ on what
but I'd really like to know why that link is 404 16:50
Flwyd The rakudo profiler produced a 1 GB .sql file for a program that ran for about a minute and a half, which causes sqlite to run out of memory on import.  (The 2.2 GB html version crashes a browser tab, too.)  Are there tools for summarizing profiler data without needing to read it all into memory at once?
AlexDaniel what's f4326bb?
linkable6: f4326bb
it's not a rakudo commit, right?
c: HEAD say 42 16:51
committable6 AlexDaniel, ¦HEAD(f4326bb): «42␤»
MasterDuke oh, i think some of the bots haven't recovered from the force push that happened a little while ago
AlexDaniel force push?
MasterDuke yeah, in the rakudo repo
AlexDaniel :o
what happened?
and when
anyway, I'll try to get them unstuck 16:52
MasterDuke Flwyd: not yet, but i've actually just started experimenting with something that should help out with that case
16:53 [Coke] left
MasterDuke you might be able to work around it by manually editing the .sql file to not insert so many values at once 16:53
AlexDaniel c: say 42 16:54
committable6 AlexDaniel, Seems like you forgot to specify a revision (will use “v6.c” instead of “say”)
AlexDaniel, and I oop! Backtrace: gist.github.com/e3c80339e79af24c3a...4d18f34251
16:54 xkr47 left
AlexDaniel ok, that's fine for now 16:54
Flwyd Ah, that's an interesting thought.  I may try playing with `jq` on the JSON output.
16:54 xkr47 joined, [Coke] joined
MasterDuke AlexDaniel: was the new-disp-nativecall merge. some confusion around squash vs not, vs revert, etc 16:54
maybe october/november? 16:55
AlexDaniel O_o
that's a long time ago
I wonder how bisectable and others worked during this time
it could be that because it knows how to build branches, it just continued to work
MasterDuke Flwyd: github.com/tadzik/p6profiler-qt hasn't been touched in a while, and does have a file size limitation, but you could also give that a try 16:56
AlexDaniel but I wouldn't bet on it…
16:57 evalable6 left
AlexDaniel evalable6 clearly didn't like it :D 16:58
MasterDuke Flwyd: were you importing the .sql in Comma, or using the sqlite command line?
Flwyd sqlite CLI 16:59
I haven't tried the QT one since I'm running on MacOS (so I don't entirely trust that a Qt GUI will run without fuss) and I'm currently SSHed to the other side of the house anyway. 17:00
MasterDuke huh, i would have expected it to be able to handle a 1gb file. i've definitely used it on some that were a little bit bigger than that
AlexDaniel was the force push only in rakudo repo or nqp too? 17:01
MasterDuke i think just rakudo
AlexDaniel c: HEAD say 42 17:02
committable6 AlexDaniel, ¦HEAD(f77fda7): «42␤»
AlexDaniel :o
what
indeed, it was building rakudo for every commit all this time 17:03
it's just that bots didn't know what was the last commit
MasterDuke nice
AlexDaniel still being stuck on that old version
but otherwise all good
sourceable6: 42.succ
sourceable6 AlexDaniel, github.com/rakudo/rakudo/blob/f77f...ic.pm6#L37
AlexDaniel now it works :)
I'll just wait for evalable to go back up but otherwise all good 17:04
17:04 codesections left, codesections joined
MasterDuke AlexDaniel++ 17:05
AlexDaniel I guess blin also wasn't affected because that was still based on tags and all builds were available
although I'm not fully sure 17:06
17:06 razetime left, evalable6 joined
AlexDaniel e: say 42 17:07
evalable6 42
AlexDaniel alright
m: say 42 17:08
camelia 42
17:10 goblin left, HobGoblin joined 17:12 destroycomputers joined
AlexDaniel MasterDuke: for the record, I just deleted the data/rakudo-moar/ repo and also everything in /tmp/whateverable/ 17:13
and it cloned it all again after a while
El_Che Hi AlexDaniel, it has been a while! 17:15
AlexDaniel hello! :) 17:16
I'm always online, so feel free to ping, but yes, I wasn't following the latest action :)
Flwyd Hmm.  Looks like the `profile.sql` output already breaks the `calls` table into multiple insert statements (almost 56,000 of them). 17:26
Geth doc: sdondley++ created pull request #4009:
remove unneeded assignment to nameless state variable
17:35
17:38 jjido joined 17:43 tejr left 17:44 tejr joined
Flwyd Aha.  Removing the transaction from the profile.sql file let sqlite not run out of memory. 17:52
Geth doc: flwyd++ created pull request #4010:
Fix foreign key reference in profile SQL query
17:58
18:08 reportable6 left 18:11 destroycomputers left 18:13 Flwyd left 18:14 frost left, Flwyd joined, MasterDuke left 18:24 destroycomputers joined 18:27 squashable6 left
[Coke] Should we add a doc xtest that requires whatever the latest released rakudo is? 18:52
That way, tests that rely on compilation or signatures will not accidentally pass due to running on an old verison. Would require a manual step post-release
Geth doc: f283610c25 | (Trevor Stone)++ (committed using GitHub Web editor) | doc/Language/performance.pod6
Fix foreign key reference in profile SQL query (#4010)

  * Fix foreign key reference in profile SQL query
  c.id is the primary key on the calls table. For the first few calls it may be equal to the routine ID, but not for long :-)
  * Group by routine ID, too
18:55
linkable6 Link: docs.raku.org/language/performance
18:56 linkable6 left, tejr left, linkable6 joined, tejr joined 19:03 discord-raku-bot left 19:04 discord-raku-bot joined 19:05 jjido left 19:11 monkey_ joined
Geth doc/raku-version: 29bc96f35e | Coke++ | xt/01-raku-version.t
add test for version of raku

Avoid issues where an older version might fail an example/signature test.
19:20
doc/raku-version: c0f84bfef1 | Coke++ | xt/01-raku-version.t
add test for version of raku

Avoid issues where an older version might fail an example/signature test.
19:24
doc: coke++ created pull request #4011:
add test for version of raku
19:25
19:30 squashable6 joined
[Coke] how to switch the version rakubrew is using? 19:30
I did a build, it worked, now I want to switch.
ah. switch. it's "hidden" as an option to global in the help, didn't see it. 19:31
19:32 MasterDuke joined
[Coke] rakubrew build-zef should probably use latest release of zef rather than HEAD from github, no? 19:32
19:47 Sgeo joined
jdv does anyone know if github.com/CurtTilmes/raku-nativeh...ack/pull/3 is good? 20:35
seems it but i have very little experience
20:47 linkable6 left, evalable6 left 20:48 linkable6 joined
Geth doc: 6312f344d2 | (Will Coleda)++ (committed using GitHub Web editor) | xt/01-raku-version.t
add test for version of raku (#4011)

Avoid issues where an older version might fail an example/signature test.
21:04
21:04 linkable6 left
SmokeMachine Voldenet: about the `#1.a` stuff, I'm planing on transforming something like this (github.com/FCO/EventExpressionLang...fire-risk) into something like this: www.irccloud.com/pastebin/Twx0KKt5/ 21:05
Voldenet it is slightly more verbose 21:08
21:09 reportable6 joined
Voldenet in fact I think that assigning fields should be separate from matching rules 21:09
SmokeMachine Voldenet: yes, and I'd prefere to find a way to "declare" on the has declaration from where to get its value instead of actively setting it... but I couldn't find a syntactic way of doing that... 21:10
Voldenet: I agree... any suggestion?
21:12 abraxxa-home joined
Voldenet maybe convention-based constructors/setters like `event fire-risk { multi method new(Temperature $t) { } multi method new(Humidity $t) { } }`` 21:14
21:15 abraxxa-home left
Voldenet and `multi method new(Temperature $t, Humidity $h) { }` 21:15
but i'm not sure how would that be optimized, because matching everything would require creating cartesian product of all event types from last 5 minutes 21:16
SmokeMachine Voldenet: I didn't get how the matching would work on that case... 21:18
Voldenet: have you seen my try to explain how the matching works currently? github.com/FCO/EventExpressionLang...ow-it-work 21:19
21:22 sena_kun left 21:23 sena_kun joined
Voldenet …so essentially it means that every event match generates some NFA 21:25
SmokeMachine It converts the pattern into a tree of conditions and sub steps, then it adds the root condition of the pattern into a condition btree, every event is tested on the tree of conditions (its a tree so it do not need to test all conditions), then, when a event matches with any of the conditions of the btree it gets the next step of that condition and adds it to the btree...
Voldenet it somehow sounds like multi dispatch 21:28
and `event` object that exposes abstract state machine that consumes events 21:29
SmokeMachine yes... originally on that repo's version I was thinking on a process that would parse a string code, consume events from log file, kinesis, kafka, etc and use a external query storage (probably a DB)... but now I'm thinking to make a lib using events defined by raku code (instead of string to be parsed) to consume a Supply of events using a in memory query storage... 21:33
Voldenet I understand why TOP method is used and it's sane
maybe it would be more practical to define trait to link events 21:38
`event fire-risk { has $.temperature is event(*.temperature.value); has $.humidity is event(*.humidity.value); has $.area is event-match(*.temperature.area ~~ *.humidity.area); }` 21:54
SmokeMachine But if we have more than one temperature, how to choose? 22:21
22:47 evalable6 joined 23:08 lichtkind_ left
Voldenet maybe in case of multiple temperatures just *.temperature[0] or *.temperature.grep(…) 23:08
in fact, not accepting multiple events of the same type is valid too 23:09
consider this `event temperature { … }; event previous-temperature { has $.temperature(*.temperature); }; event fire-risk { has $.temperature is event(*.previous-temperature) }}` 23:10
23:11 djerius left
Voldenet it's also done similarily in sql where you have to alias tables when you do multiple joins on the same one, I'd consider borrowing some ideas from it 23:12
23:13 djerius joined 23:23 djerius left 23:24 djerius joined 23:27 monkey_ left
andrea[m] if i want to pass an argument to an one line function but i don't care about the name of the argument, is this the best way to express that?: sub mysub($_) { .say } 23:42
i mean, the $_ works as expected but it that something "correct" 23:43
but is that*
?
Xliff andrea: Yes. If I understand you correctly. That's basically using the topic as a parameter. 23:48
tellable6 2022-01-06T19:31:58Z #raku-dev <lizmat> Xliff I would put Debian on a 2021 MacMini :-)
Xliff I do it a lot. 23:49
andrea[m] thanks, i was not sure if using directly $_ there, was something correct or not 23:52