🦋 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:06
reportable6 left
00:07
reportable6 joined,
archenoth left
00:21
jmcgnh joined
01:13
frost joined
01:56
guifa left
02:03
p6steve left
02:05
p6steve_ joined
02:51
jorge joined
|
|||
jorge | hi | 02:51 | |
can I hack people with raku? | 02:52 | ||
Voldenet | computers maybe, but not people | 02:58 | |
03:00
guifa joined
03:03
jorge left
03:17
Guest35 left
04:17
bloatable6 left,
greppable6 left,
nativecallable6 left,
notable6 left,
quotable6 left,
coverable6 left,
linkable6 left,
benchable6 left,
statisfiable6 left,
bisectable6 left,
releasable6 left,
sourceable6 left,
reportable6 left,
unicodable6 left,
committable6 left,
evalable6 left,
shareable6 left,
tellable6 left,
bisectable6 joined,
releasable6 joined
04:18
sourceable6 joined,
benchable6 joined
04:19
statisfiable6 joined,
bloatable6 joined,
quotable6 joined,
committable6 joined,
coverable6 joined,
greppable6 joined,
reportable6 joined
04:20
evalable6 joined,
tellable6 joined,
nativecallable6 joined,
unicodable6 joined,
linkable6 joined,
notable6 joined,
shareable6 joined
04:52
xinming left
04:53
xinming joined
04:58
Kaiepi left
05:18
perlbot left,
simcop2387 left
05:19
simcop2387 joined,
perlbot joined
06:07
camelia left,
crystalfrost[m] left,
pierrot left,
maettu left,
gordonfish left,
toddr left,
tbrowder left,
merpaderp left,
lucs left,
esh_ left,
SmokeMachine left,
tonyo left,
mtj left,
drakonis left,
maettu joined,
lucs joined,
merpaderp joined,
mtj joined,
esh joined,
lucs left,
lucs joined,
SmokeMachine joined,
tbrowder joined,
drakonis joined,
tonyo joined,
toddr joined
06:08
reportable6 left,
drakonis left,
drakonis joined,
crystalfrost[m] joined,
pierrot joined,
gordonfish joined
06:09
reportable6 joined
06:14
camelia joined
06:18
lockywolf left,
dutchie left,
charsbar left,
pjlsergeant left,
charsbar joined,
pjlsergeant joined
06:19
lockywolf joined,
dutchie joined
06:23
Sgeo_ left
|
|||
nine | yet | 06:30 | |
06:49
jjido joined
07:30
abraxxa joined
07:33
abraxxa left
07:35
abraxxa joined
07:39
abraxxa left
07:40
abraxxa joined
|
|||
moritz | working on it? :D | 07:42 | |
lizmat is reminded of the final episode of Dollhouse | 07:47 | ||
"Despite its best efforts, the L.A. Dollhouse has been unsuccessful in stopping the mind-wiping technology from spreading out of control." | |||
"depicts a post-apocalyptic future where the mind-wiping technology of the Dollhouse has developed to the extent that vast numbers of people can be remotely wiped and have new personalities implanted" | |||
en.wikipedia.org/wiki/Dollhouse_(TV_series) | 07:48 | ||
CIAvash | I'm reminded of Ghost in the Shell | 07:53 | |
MasterDuke | en.wikipedia.org/wiki/The_Left_Hand_(Dollhouse) was a fantastic episode, Victor as Topher was a phenomenal acting job | 07:55 | |
also reminiscent of Altered Carbon | 07:57 | ||
08:02
dakkar joined
08:33
jjido left
09:07
frost left
09:09
frost joined
09:12
p6steve_ left
09:27
frost left
|
|||
kawaii_ | Why does smartmatch against true always match? | 09:41 | |
I've got this sub here, which checks a cache first and then a database if nothing returned from the cache, and I wanted a DRYer way of doing the log output than just if/else based on the state of $cached. www.irccloud.com/pastebin/JGXlYhj8/ | 09:46 | ||
But apparently I can't use `when True` or `when False` here as they always smartmatch? | 09:47 | ||
MasterDuke | `when * === True` should work | 09:49 | |
09:50
abraxxa left
09:51
abraxxa joined
|
|||
kawaii_ | oh, they do, thanks! | 09:52 | |
09:59
abraxxa left
10:01
abraxxa joined
10:05
abraxxa left
10:06
abraxxa joined
10:09
Kaiepi joined
|
|||
nine | kawaii_: it's simply by definition. It's simply useful to have an "always matching" and "never matching" value, .e.g in $my-version ~~ ($desired-version // True) | 10:10 | |
10:24
Altai-man joined
10:37
frost joined
11:13
mexen joined
11:16
jjido joined
11:28
maettu left
11:50
maettu joined
12:06
reportable6 left
12:07
reportable6 joined
12:32
jjido left
12:38
jrjsmrtn left
13:03
bigdata joined
13:14
wingfold left
13:19
Sgeo joined
13:20
Sankalp- joined,
Sankalp left,
Sankalp- is now known as Sankalp
|
|||
moritz | kawaii_: if I remember correctly, it was introduced because people wrote things like { $_ > 0 } or * > 0 as smart-matchers, and those return True when evaluated. If smart-match then went on smart-match the original value against that return value, it would confuse the heck out of everyone | 14:12 | |
14:20
linkable6 left,
evalable6 left
|
|||
lizmat | and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2022/05/23/2022-21-math-like/ | 14:21 | |
14:23
evalable6 joined,
linkable6 joined
14:27
Guest35 joined
|
|||
[Coke] | lizmat++ | 14:29 | |
14:55
frost left
15:27
ChanServ sets mode: +o [Coke]
|
|||
[Coke] | ? Someone just gave me ops? | 15:28 | |
15:30
ChanServ sets mode: -o [Coke]
|
|||
tonyo | fish sucks | 15:44 | |
[Coke] | squash: what | 16:01 | |
there used to be a bug called "squashable" - gone, yes? | |||
s/bug/bot/ | |||
lizmat: in the live log viewer, topic setting shows as just a send from a user, not that the user has set the topic. | 16:04 | ||
(e.g. raku-doc from a few moments ago) | |||
16:04
Xliff left
|
|||
Geth | doc/old-docs: 8e4d915c9b | Coke++ | 3 files Remove references to Squashatons * explainer doc * reference in community page, including defunct bot closes #4066 |
16:10 | |
doc/old-docs: 55fe1e9973 | Coke++ | 3 files Revert "Remove references to Squashatons" This reverts commit 8e4d915c9b1e3654a0cd09f07869f0ffdc4c1fee. (Wrong branch, apologies) |
16:12 | ||
doc: 165ea10539 | Coke++ | 3 files Remove references to Squashatons * explainer doc * reference in community page, including defunct bot closes #4066 |
|||
16:13
linkable6 left
16:14
linkable6 joined
16:38
dakkar left
16:46
jjido joined
|
|||
lizmat | [Coke]: not just on the live view, also on the daily: irclogs.raku.org/raku-doc/2022-05-23.html | 17:05 | |
hmmmm | |||
17:12
nebuchadnezzar left
17:16
Altai-man left
|
|||
tonyo | does finanalyst hang out in here? | 17:24 | |
lizmat | looks like he last left the channel on 28 Mar 2022 | 17:26 | |
irclogs.raku.org/search.html?nicks...annel=raku | 17:27 | ||
17:32
mexen left
|
|||
guifa | Would be there a way to do a pragma for different compilers? Obv we only have Rakudo, so it's pointless, but just thinking if you had code that could be like if $*COMPILER ~~ Rakudo { optimized-NQP-code } else { vanilla-Raku-code } | 17:34 | |
I guess maybe Macros could handle that pretty easily | |||
17:53
jrjsmrtn joined
|
|||
[Coke] | finanalyst is mainly an email person, I think. | 17:53 | |
He did join the raku-doc call this past weekend, briefly. | 17:54 | ||
17:54
abraxxa left
|
|||
[Coke] | guifa: assuming macros were evenly distributed across compilers. | 17:54 | |
m: say $*COMPILER | |||
camelia | Dynamic variable $*COMPILER not found in block <unit> at <tmp> line 1 |
||
guifa | or whatever that dynamic variable was to get at the compiler / VM | 17:55 | |
[Coke] | but (assuming we find the right var), checking that var is probably easiest. | ||
lizmat | m: say Compiler.new.version | 17:56 | |
camelia | v2022.04.75.g.19.c.3.bd.180 | ||
lizmat | m: say Compiler.new.backend | 17:57 | |
camelia | moar | ||
lizmat | m: say Compiler.backend | ||
camelia | moar | ||
[Coke] | m: say Compiler.new.keys; # awww | ||
camelia | (0) | ||
lizmat | m: say Compiler.^methods | 17:58 | |
camelia | (TWEAK backend id verbose-config supports-op release codename Str gist name auth version signature desc BUILDALL) | ||
[Coke] | m: say Compiler.new.^methods; #ahh | ||
camelia | (TWEAK backend id verbose-config supports-op release codename Str gist name auth version signature desc BUILDALL) | ||
[Coke] | heh. I did it in another channel by accident, but you beat me to it. :) | 17:59 | |
lizmat | m: dd Compiler.new.name | ||
camelia | "rakudo" | ||
18:06
reportable6 left
18:08
reportable6 joined
|
|||
tonyo | m: dd $*VM | 18:12 | |
camelia | VM moar = VM.new(config => {:ar("ar"), :arflags("rcs"), :arout(""), :as("as"), :asm(".s"), :asmout("-o "), :asmswitch("-S"), :auxclean("\@:"), :be("0"), :bindir("/home/camelia/rakudo-m-inst-1/bin"), :booltype("_Bool"), :can_specific_werror("1"), :can_… | ||
18:20
jjido left
18:21
sftp left
18:22
sftp joined
18:54
zsomta joined
18:55
zsomta left
|
|||
tbrowder | hi, i have a question about using raku and zef for the debian root user: | 19:03 | |
does root have to have its own /root/.raku directory? | 19:04 | ||
another question: can the zef executable work properly if linked to /usr/local/bin? | 19:06 | ||
question 3: if root installs a module, where is it stored? | 19:08 | ||
the questions are somewhat rhetorical since i think the zef standards have changed a bit over the years, and also may be implemented differently between os types and whether they are this | 19:10 | ||
*third party packages, local installs, or official packages from the OS provider. | 19:11 | ||
then genesis of my query is the need for spinning up new hosts from a variety of sources such as digital ocean, my favorite bare-iron provider, etc. i would like them all to have the same default behavior: raku (with zef) is installed by root in a location available to all users. when root installs a module with zef, it is installed in the default location for all users to search first. | 19:19 | ||
i am having problems with inconsistent behavior between my primary host having started with raku/zef many years ago versus a new debian 11 host using the rakudo-pkg installation. | 19:23 | ||
19:41
n1to joined
19:47
Xliff joined
19:48
p6steve joined
|
|||
Xliff | m: my % = (a => 1, b => 2, c => 3, d => 4); %a.pairs.map( { .key .= uc if .value %%2 == 0 }); %a.gist.say | 19:48 | |
camelia | ===SORRY!=== Error while compiling <tmp> Variable '%a' is not declared. Perhaps you forgot a 'sub' if this was intended to be part of a signature? at <tmp>:1 ------> % = (a => 1, b => 2, c => 3, d => 4); ⏏%a.pairs.map( { .key… |
||
Xliff | m: my %a = (a => 1, b => 2, c => 3, d => 4); %a.pairs.map( { .key .= uc if .value %%2 == 0 }); %a.gist.say | ||
camelia | Cannot modify an immutable Str (a) in block <unit> at <tmp> line 1 |
||
Xliff | You can't modify the key of a pair? | ||
19:49
Sauvin left
19:50
Sauvin joined
|
|||
Xliff | m: my %a = (a => 1, b => 2, c => 3, d => 4); %a.pairs.map( { .value .= succ if .value %%2 == 0 }); %a.gist.say | 19:51 | |
camelia | {a => 2, b => 2, c => 4, d => 4} | ||
[Coke] | m: say 6 %% 2 | 19:56 | |
camelia | True | ||
[Coke] | m: say 6 % 2 | ||
camelia | 0 | ||
[Coke] | fyi | ||
20:39
guifa left
20:52
jrjsmrtn left
20:53
merpaderp left,
jrjsmrtn joined
20:54
merpaderp joined
21:11
discord-raku-bot left
21:12
discord-raku-bot joined
21:18
guifa joined
21:39
bigdata left
22:00
jj58 joined
22:04
jjido joined,
n1to left
22:07
jj58 left
22:46
Xliff_ joined
|
|||
[Coke] | should we remove REA from default zef searches? | 23:03 | |
shouldn't dead modules be the sort of thing you have to go looking for? | |||
ah, not just dead but also "slightly out of date but still a prereq for something". nevermind | 23:04 | ||
23:14
grondilu joined
|
|||
grondilu | I get an annowing warning "unhandled Failure in DESTROY". | 23:15 | |
since it's during destruction, it's kind of hard to debug. | |||
also it's not consistent: sometimes it appears, sometimes not. | 23:16 | ||
it shows about once at of ten on some minimal code I wrote. | |||
but everytime on the original code. | 23:17 | ||
here is the "minimal code" : gist.github.com/grondilu/39bcb969f...33a1289049 | |||
it's not really small, but hopefully it's clear enough. | |||
I could possibly try to minimalize it more, but since the warning does not show at each execution, it's kind of hard to find the truly minimal version. | 23:18 | ||
it's for my chess module FYI | 23:19 | ||
it might be related to github.com/rakudo/rakudo/issues/4852 | |||
Xliff_ | grondilu: Have you tried adding a "submethod DESTROY { CATCH { default { .message.say; .backtrace.concise.say } }; nextsame }" to class Square? | 23:20 | |
grondilu | no, I haven't | ||
Xliff_ | Let me know if that works for you. | 23:21 | |
grondilu | I've just tried on my original code, which complains all the time, and I see no differencee | 23:22 | |
(actually almost all the time) | 23:23 | ||
Xliff_ | Ah well, it was worth a shot. | 23:28 | |
grondilu: You might want to range check your .pred calls | 23:31 | ||
m: 0.pred.say | |||
camelia | -1 | ||
Xliff_ | m: Nil.pred.say | ||
camelia | Nil | ||
Xliff_ | m: 'a'.pred.say | 23:32 | |
camelia | Decrement out of range in block <unit> at <tmp> line 1 |
||
Xliff_ | grondilu: ^^ | ||
23:32
jjido left
|
|||
grondilu | oh yes but in my original code I had a subset so -1 was supposd to generate an error too | 23:32 | |
grondilu edited the gist | 23:34 | ||
what I don't get is why would DESTROY call .left? | 23:36 | ||
23:40
grondilu left
23:42
silug left
23:43
silug joined
|
|||
Xliff_ | grondilu: Donno. But sticking a guard on that would effectively kill the Failure. | 23:55 | |
tellable6 | Xliff_, I'll pass your message to grondilu |