🦋 Welcome to Raku! raku.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: colabti.org/irclogger/irclogger_log/raku
Set by ChanServ on 14 October 2019.
00:06 ufobat_ left 00:11 cpan-raku left 00:12 cpan-raku joined, cpan-raku left, cpan-raku joined 00:13 leont left 00:25 thdrmz1 joined 00:26 thdrmz left, thdrmz1 is now known as thdrmz 00:42 RaycatWhoDat joined 00:55 JRaspass left, notagoodidea left 01:07 pecastro left 01:11 hungrydonkey joined 01:13 hungrydonkey left 01:24 abraxxa joined 01:51 jmchael left 02:00 Doc_Holliwood left 02:19 stoned75 joined 02:48 hungrydonkey joined
Geth doc/nextsame-and-friends: 4a0b621a34 | (Stoned Elipot)++ | doc/Type/Method.pod6
Broaden link to nextsame and friends
doc: stoned++ created pull request #3766:
Broaden link to nextsame and friends
hungrydonkey m:say '#' ~~ /^\#/ 02:49
evalable6 「#」
hungrydonkey m:say '#' ~~ /^ \#/
evalable6 (exit code 1) 04===SORRY!04===
hungrydonkey, Full output: gist.github.com/91782153fa075f9633...cb221f34d6 02:50
hungrydonkey m:say '#' ~~ /^ \# $/ 02:51
evalable6 (exit code 1) 04===SORRY!04===
hungrydonkey, Full output: gist.github.com/ca985990602c656847...c8d4622001
02:53 perryprog_ joined
hungrydonkey m:say "# " ~~ /^\#/ 02:53
evalable6 「#」
hungrydonkey m:say " # " ~~ /^ \s \#/ 02:54
evalable6 (exit code 1) 04===SORRY!04===
02:54 perryprog_ is now known as perryprog
evalable6 hungrydonkey, Full output: gist.github.com/f4431c66862c17c4cf...233e4dadd0 02:54
02:54 fvox left
hungrydonkey m:say " # " ~~ /\s \#/ 02:54
evalable6 (exit code 1) 04===SORRY!04===
hungrydonkey, Full output: gist.github.com/ec904c9a1f4d9cc9d4...25403944c2
hungrydonkey m:say "# " ~~ /\#/ 02:55
evalable6 「#」
02:55 ingy joined
hungrydonkey m:say " # " ~~ /\s\#/ 02:56
evalable6 「 #」
hungrydonkey m:say " # " ~~ /\s \#/
evalable6 (exit code 1) 04===SORRY!04===
hungrydonkey, Full output: gist.github.com/957595fc3941a0ce25...fd145deb62
02:56 fvox joined
hungrydonkey m:say " ' " ~~ /\s \' \s/ 02:56
evalable6 「 ' 」
02:57 stoned75 left
hungrydonkey m:say " ' " ~~ /\s \' / 02:57
evalable6 「 '」
02:57 markmarkmark joined 03:00 hungrydonkey left 03:25 marcusr joined 04:10 frost-lab joined 04:20 __jrjsmrtn__ joined 05:16 sortiz left 05:17 MitarashiDango[4 joined 06:04 parabolize left 06:09 brtastic joined 06:37 jmcgnh left 06:46 jmcgnh joined 07:08 kanopis joined 07:10 jmerelo joined 07:19 ufobat_ joined 07:21 ufobat_ is now known as ufobat
Geth doc: fe2ce3601c | (Stoned Elipot)++ (committed by Juan Julián Merelo Guervós) | doc/Type/Method.pod6
Broaden link to nextsame and friends
linkable6 Link: docs.raku.org/type/Method 07:34
07:37 sjm_uk joined 07:46 v_m_v joined
notandinus so i'm writing a cli util, it used a dispatch table in perl, it's called like: `util <action> <file>` 07:50
currently i've just defined a single MAIN sub with $action annd $file var and then used a given/when block on $action
i could use a multi MAIN for different actions instead of given/when but then there are some flags that i want to include in all of them (like --verbose, --quiet) how do i achieve this? 07:51
like if i use a multi MAIN then i'll have to include 'Bool $verbose' in all multis, how do i avoid that? 07:52
El_Che I don't see much the point in multiple mains if the signature is the sam 07:53
action and file are both strings
put the swich/handling in a separate function?
07:54 rindolf joined
notandinus i see, so i'll keep the current structure, i was just wondering if there was a better way to do this 07:54
also how do i accept a list from stdin?
say `<action> <file1> <file2> ...` 07:55
07:57 brtastic left
El_Che yes, using an array 07:58
or slurpy at the end
main is a regular function signature wise as far as I know
notandinus m: unit sub MAIN(Str $a, Array @t); 08:01
camelia Usage:
<tmp> <a> <t>
notandinus ^^ like this ?
El_Che not type Array 08:04
08:07 stoned75 joined
MasterDuke you might be able to put the shared flags and such in the proto? 08:08
notandinus i don't know about proto, i'll check it out 08:11
i was looking at how zef is written but it's huge
MasterDuke docs.raku.org/syntax/proto 08:12
El_Che gist.github.com/nxadm/207cfa75d3d5...e7e341ea6c 08:13
MasterDuke a lot of times you just end up using the one automatically created when you declare a couple multis. but if you want to implement some shared functionality between the multis an explicitly created proto can sometimes be used 08:14
08:18 Sgeo left 08:31 domidumont joined 08:37 Doc_Holliwood joined 08:41 pecastro joined, stoned75 left 08:42 stoned75 joined 08:44 jmchael joined, abraxxa left 08:46 abraxxa joined 08:54 brtastic joined 09:18 brtastic left 09:19 Altai-man joined, brtastic joined 09:20 v_m_v left, v_m_v joined 09:24 v_m_v left 09:29 kanopis left, aborazmeh joined, aborazmeh left, aborazmeh joined 09:41 wamba joined 09:42 vike1 left, JRaspass joined 09:46 xelxebar_ joined
notandinus i see, thanks 09:47
is zef + META6.json the equivalent of Make? i was wondering how to distribute this simple script 09:48
jmerelo notandinus: it's not a task runner, it's not a building tool 09:49
notandinus: you might want to use Ake as a substitute for Make
(I meant a build-instructions tool above) 09:50
notandinus i just use make for installating binaries and manuals,
oh i see, i'll checkout Ake
jmerelo notandinus: it's a whole task manager. it's amazing, once you get to know all it's got. Anyway, closest to make is Ake, which is a proper task manager where you can specify tasks and what needs to be done to achieve them 09:51
notandinus i see, what is the ideal way of distributing Raku programs to others?
Geth doc: 3256bb001d | (JJ Merelo)++ | doc/Language/syntax.pod6
Separate angular parens to avoid them being gobbled.

Closes #3763
linkable6 Link: docs.raku.org/language/syntax
DOC#3763 [closed]: github.com/Raku/doc/issues/3763 [bug][docs] <<<>>> on Syntax page isn't rendered
jmerelo notandinus: one thing is distributing, other thing is building them. You're good to go with META6.json, though. You can then use zef to build/install locally. 09:53
notandinus i see, i'm using zef. can i make it install the manual too in desired location?
it does install all binaries and libraries correctly 09:54
jmerelo notandinus: I don't think zef has any kind of provision in that sense, if what you want is your pod6 rendered to groff (which is the manual format) and installed to the usual manual pages (/usr/man). Also depends on the format you're using for the manual 09:55
If you use pod6, and your manual pages are in lib/ just like the rest, those pages are precompiled and installed and you should be able to check them with rakudoc 09:56
Anyway, there's no single of standard way of dealing with manual pages that I know of.
notandinus hmm i haven't written it in pod6 format, it's mandoc format written manually, just need to place the tool.1 file in /usr/local/man 09:57
i see, thanks
10:01 v_m_v joined
kawaii Hi, I have a module which has a hash structure declared like; `our %documentation is export`, and my main script is `use`'ing this module, when my main script does `if %documentation{$arg}:exists { ... }` it never returns True, even when I know `$arg` is a valid key inside that hash. 10:03
Is this because my hash is contained within the module? It works when I move it into the main script but I wanted to tidy it away whilst still referencing it 10:04
10:06 asymptotically joined 10:07 v_m_v left
tyil kawaii: try `%Module::documentation`, where Module is the name of the module 10:08
10:08 v_m_v joined 10:12 v_m_v left
kawaii tyil: that works, thanks! :D 10:13
10:15 maggotbrain left 10:17 aborazmeh left, maggotbrain joined 10:19 v_m_v joined 10:24 vike joined 10:32 v_m_v left, v_m_v joined 10:36 v_m_v left 10:39 notagoodidea joined
Geth doc: 373de7c403 | (JJ Merelo)++ | doc/Language/syntax.pod6
Revisions and reflows.
doc: 4f10478825 | (JJ Merelo)++ | doc/Type/Associative.pod6
Clarifications and some examples
doc: 7a406bb060 | (JJ Merelo)++ | doc/Type/Method.pod6
Improve structure and adds clarifications.
11:01 v_m_v joined
linkable6 Link: docs.raku.org/language/syntax 11:01
linkable6 Link: docs.raku.org/type/Associative 11:02
Link: docs.raku.org/type/Method
tbrowder hi, all
i'm having a problem with zef and how it selects a module
with different authors and versions. does it select for highest version or alpha order on author or number on api? 11:04
Geth doc: 360220433b | (JJ Merelo)++ | doc/Language/syntax.pod6
Clarify where whitespace can't be removed, @Altai-man++
linkable6 Link: docs.raku.org/language/syntax 11:08
11:14 ilogger2 joined
tbrowder also, i see a need for some kind of module version cancellation list. the situation is with my new module with same name as david warring's older module. the both have some of the same dependencies which have also had version bumps to disambiguate them. unless the two (or more) older modules are retired, zef's default search appears to not work properly. 11:15
11:26 v_m_v joined 11:27 asy joined 11:31 asy is now known as asymptotically 11:33 v_m_v left, v_m_v joined 11:38 v_m_v left, yonnybg joined
tbrowder .tell ugexe ^^^ 11:39
tellable6 tbrowder, I'll pass your message to ugexe
tyil tbrowder: isn't :auth<> ment to disambiguate between different authors using the same name for a module?
kawaii Hi, when running this `map` operation on one of the arrays which only contains a single hash, I end up with a malformed `fields` array which contains a second item out of nowhere (github.com/kawaii/raku-mimi/blob/m...kumod#L32) - `fields => [{name => Install, value => docs.mybb.com} {name => (Any), value => docs.mybb.com/1.8/install/}]` instead of the expected single item array 11:45
11:45 yonnybg left
kawaii note how one item has the correct name, and the other the correct value 11:46
when testing with one of the documentation arrays containing multiple items, it works perfectly
tbrowder yes, but a basic request without versions should get the higher number i thought. but it looks like that is not the case. 11:48
tyil tbrowder: I'm not sure how zef resolves this, but I can tell you for sure that you should always use the most specific unitspec in your deps, so always include a :auth<> :p 11:49
leave nothing to chance or implementation of the particular module installer 11:50
tbrowder david has updated the older dependencies' version numbers, and my module has a higher version number than david's old module of the same name, but zef doesn't find them without specifying the version number.
tyil (I would generally also recommend pinning your deps to a specific version, fwiw)
tbrowder i have done that in my module. 11:51
given what david and i have done version-wise, the ver<0.4.5+> style specs should work. 11:53
i agree the auth shoudld 11:54
*should be used in certain cases, but this is a coordinated rename so the version only should be fine. 11:55
tyil it's generally safer to make sure only a single release can match in my experience
elcaro kawaii: single-arg rule is kicking in, your array doesn't contain a single Hash, it contains a Pair 11:56
tbrowder and that is what we have (unless of course we have overlooked something) 11:57
tyil tbrowder: show me your META6.json 11:58
11:58 sena_kun joined
tbrowder it will take a few minutes... 11:58
El_Che buy him dinner first
tyil lol 11:59
kawaii elcaro: ah I wasn't aware of this at all! Do I need to change the syntax for the single items to %() instead of {} to explicitly say they're hashes?
elcaro kawaii: i'm not sure that will help... i've constructed a minimal reproducable test, and that doesn't seem to help 12:01
so far the only thing that help is putting a commma after the pair, eg, topic => [{ key => val },] 12:02
but that is not really a good solution
trying to figure a better way
kawaii I mean that sounds cleaner than the hack I was going to do of checking the `.elems` in each array and just doing something else entirely if it's `= 1` :P 12:03
12:03 animalmother2 joined
elcaro tbh, i dunno how your constructing %documentation in the first place, i didn't look that far 12:04
if it's easy to throw a comma in there, then do it! :)
kawaii elcaro: github.com/kawaii/raku-mimi/blob/m...rakumod#L8
it's manually written, so no problem :)
elcaro i'm sure there's probably a "cleaner" way, but i'm tired and it's not coming to me atm
kawaii no problem, thanks for your help and explanation of the issue! 12:05
tbrowder see gist gist.github.com/tbrowder/b6eb14527...ff5317635a 12:06
animalmother2 question: How come I need a ':' in `.say for (^10).map: { $_ * $_ };` but not in `.say for map { $_ * $_ }, (^10);`? 12:07
elcaro animalmother2: short answer is the first example calls map as a method, the second is map as a function (with 2 args) 12:08
ie. second example is really `map({ $_ * $_ }, (^10))
but just calling as a function without parens 12:09
animalmother2 sure. and I see that `(^10).map({$_ * $_})` also works. So : is necessary when.. calling methods without parens?
elcaro methods can be called without parens, but require a colon, eg. @array.push: 'this'
animalmother2 ok. where is this documented? 12:10
Can't exactly google for ":"...
elcaro yeah, not sure... it is briefly mentioned here: docs.raku.org/language/syntax#Impl...in_blocks) 12:11
i'm sure it's elsewhere, just not sure where
you can call methods with parens too, ie: (^10).map({ $_ * $_ }) 12:12
notagoodidea animalmother2: docs.raku.org/language/syntax#Subroutine_calls
animalmother2 also found this: "Similarly, multiple arguments can be specified by placing a colon after the method and separating the argument list with a comma" docs.raku.org/language/objects#Methods
thanks guys. I'm not sure if I just know perl 5 too well or if raku has even more syntax to learn lol 12:13
elcaro animalmother2: typically i prefer parens, but i might drop them inside a map to avoid too many parens, eg. @lines.map(*.split: '-') 12:14
notagoodidea I don't know perl but raku has a lot of alternative syntax (beginner pov)
elcaro or, if my map is multi-line (or long enough to go on it's own line) i will `map: { `. this has the added benefit of not requiring a semi-colon 12:15
because closing brace acts as statement terminator
(erm, providing there's nothing after the closing brace on the same line) 12:16
notagoodidea animalmother2: like you example can skip map with `^10 [Z*] ^10` (I love the Z and R operators :D) 12:17
codesections another trick to avoiding parens (that I'm still not sure I fully understand is to use a combo of , and ; in an argument list) 12:18
m: <codesections> same, except that I don't have the "close the tab" step [11:09] 12:19
<[Coke]> I tend to have under a half dozen windows open longer than a day or
two. my kid regularly has 100 for weeks. I don't understand it.
<codesections> hence the need for bankruptcy
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3<codesections>7⏏5 same, except that I don't have the "clo
expecting any of:
infix stopper
statement end
codesections <notagoodidea> codesections: One day I will be able to dot that one day. I
hoard tab with the group manager plugin based on context. Like
my "Job hunt" group have LinkedIn and a few applications I have
to answer too now or later, some group are contextualized by
activity, if I want to look at Chess stuff, I want to have X
websites at hand. [11:10]
<notagoodidea> I don't have find a good way to do it yet. Containers don't
help to not hoard tabs. [11:11]
<tadzik> the fact that hoarding tabs like this is a common theme makes me
think that there's an enormous room for improvement in bookmark
managers [11:12]
<codesections> agreed 12:20
<notagoodidea> agreed
<tadzik> if my home page had a section for "bookmarked last week" and another
for "bookmarked last year" I'll be likely to actually click on them,
or just remove them once I forget what I wanted them for
<codesections> and browser UI in general
<tadzik> I still wonder if we'd ever get browser tabs if window managers were
better in the IE6 days [11:13]
<tadzik> though most of the mainstream ones still aren't :P
<notagoodidea> If I good group-bookmark and reopen the all group that will
tadzik ouch
codesections reduce a lot of hoarding.
<tadzik> but instead all the browsers are trying to reimplement window
notagoodidea Ouch that paste :/
codesections managers, poorly [11:14]
<notagoodidea> s/good/could
<tadzik> notagoodidea: I'm sure there are browser extensions for that,
<notagoodidea> Kind of, there is a few with different trade-off, tried a few,
I am using Simple Tab Group rigth now but meh. [11:16]
animalmother2 apparently pastes are throttled lol
codesections <tadzik> yeah, native stuff tends to work better when it's available. I'm yet
to see a Speed Dial as good as the one from old Opera [11:18]
<tadzik> or new Opera, for that matter 12:21
El_Che kick to poor bastard so he can rejoin afterwards
codesections *** chovy (~chovy@pdpc/supporter/active/chovy) has left channel #raku: #raku
elcaro kawaii: `topic => [ ${ ... } ]` also forces item context and makes a Hash (or `[{ ... }.item]`)
codesections [11:20]
<notagoodidea> Trying to make it play nice with Containers in Firefox is a
chore too.
<El_Che> I love firefox containers [11:21]
<tadzik> they're a lifesaver
<El_Che> certainly as cookie autodelete works well with them [11:22]
<notagoodidea> I tend to use more more fo thematic grouping than anything so
lots of friction on the way. [11:27]
<El_Che> notagoodidea: you can sort tabs by container [11:29]
*** kanopis (~kanopis@p548878b7.dip0.t-ipconnect.de) has quit: Ping timeout:
260 seconds [11:30]
*** melezhik (62c662c5@c-98-198-98-197.hsd1.tx.comcast.net) has joined channel
#raku [11:32]
notagoodidea animalmother2: In fact `^10 Z* ^10` works too
codesections <melezhik> .tell tony-o - please let me know if you need any help with new eco
system / sparrow testing things ... I'd glad to help ...
<tellable6> melezhik, I'll pass your message to tony-o
<melezhik> is it a bug in raku.land? Sparky should 0.0.29, but it's still
0.0.26 - modules.raku.org/dist/Sparky:cpan:MELEZHIK VS
raku.land/cpan:MELEZHIK/Sparky [11:37] 12:22
<JRaspass> Looks like the version in the META6.json wasn't updated, it shows
0.0.26 in the 29 tarball for me [11:39]
<JRaspass> we generally trust the json file, not the filename
<codesections> unrelated: there's a global Slack outage at the moment. [11:40]
*** patrickb (~quassel@55d467ab.access.ecotel.net) has joined channel #raku
<patrickb> .
<tellable6> hey patrickb, you have a message:
* codesections smug IRC user
<jdv79> nobody knows who runs the irc logger? [11:43]
<melezhik> codesections ++ we see at our \@job [11:44]
<jdv79> i just realized its down. it looked ok until i tried to send a msg.
<melezhik> JRaspass, -
github.com/melezhik/sparky/blob/ma...6.json#L38 , oh
, interesting ... [11:46]
<MasterDuke> the colabti website was (still is?) down also
*** patrickb (~quassel@55d467ab.access.ecotel.net) has quit: Ping timeout: 246
<melezhik> I use sparrowhub.io/plugin/raku-utils-mi6/0.000003 to 12:23
release new versions ... I wonder if it's mi6 issue ...
<JJAtria[m]> I've had similar issues with mi6 occasionally not updating a
version number. I've made it a point to manually check before
uploading nowadays [11:47]
*** hungrydonkey (~frost@ has joined channel #raku [11:48]
notagoodidea No chan op around?
codesections <JJAtria[m]> Although I think in my case it was not the META file that was not
bumped, but the version in one of the modules
<JRaspass> i like the image in the markdown though, looks good on the site :-)
<melezhik> JRaspass, yeah, thanks , looks good for me to ))) [11:50]
*** brtastic (~Thunderbi@2a02:a315:413a:7580:879e:25b4:92ae:7858) has quit:
Ping timeout: 264 seconds [11:53]
<jdv79> moritz: you ran the first irc logger, right? [12:04]
*** leont (~leont@86-87-152-242.fixed.kpn.net) has quit: Quit: Leaving [12:07]
*** Kaiepi (~Kaiepi@ has quit: Ping timeout: 260 seconds [12:17]
*** aluaces (~aluaces@ has quit: Excess Flood
*** aluaces (~aluaces@ has joined channel #raku [12:28]
*** rindolf (~rindolf@inkscape/contributor/rindolf) has quit: Quit: Shlomi
Fish ("Rindolf") has left the server. “Some people grow older and
wiser. Not I. I grow older and more foolish.” [12:35] 12:24
<tony-o> 2. [12:36]
<tellable6> 2021-01-04T16:32:46Z #raku <melezhik> tony-o - please let me know
if you need any help with new eco system / sparrow testing things
... I'd glad to help ...
rindolf wtf?
codesections *** notagoodidea (~notagoodi@ip-213-127-99-21.ip.prioritytelecom.net) has
quit: Ping timeout: 264 seconds
<tony-o> .tell melezhik start uploading with fez would help me identify some
issues with it
<tellable6> tony-o, I'll pass your message to melezhik
<melezhik> tib started a lot of issues/feature requests for Sparky -
github.com/melezhik/sparky/issues , if someone is
kawaii ?
codesections interested in participating, please let us know ))) [12:40]
tadzik poor guy is probably apologizing already, but we won't see it until the paste finishes
codesections <melezhik> or just comments would be useful ... [12:41]
*** domidumont (~dodu@91-175-103-119.subs.proxad.net) has joined channel #raku
<tib> hey melezhik \o
<melezhik> hey! [12:44]
<tib> @all or just come to drop a star or leave a smiley on an issue ! :)
<melezhik> Sparky CI is written on Raku, here is a discussion for people who 12:25
think about try it out -
github.com/melezhik/sparky/discussions/43 [12:54]
aukkras AlexDaniel`: ^ can you do something about codesections
codesections *** Kaiepi (~Kaiepi@ has joined channel #raku [13:13]
*** domidumont (~dodu@91-175-103-119.subs.proxad.net) has quit: Ping timeout:
256 seconds [13:16]
12:25 jess joined
codesections *** ggoebel (~ggoebel@c-73-82-150-51.hsd1.ga.comcast.net) has joined channel 12:25
#raku [13:19]
*** abraxxa (~abraxxa@tsa-tc-flod-1.t-systems.at) has quit: Read error:
Connection reset by peer [13:28]
*** notagoodidea (~notagoodi@ip-213-127-99-21.ip.prioritytelecom.net) has
joined channel #raku [13:31]
*** wamba (~wamba@193-194.moravanet.cz) has quit: Ping timeout: 260 seconds
*** wamba (~wamba@193-194.moravanet.cz) has joined channel #raku [14:03]
notagoodidea tadzik: hoping that the past does cover the last 24h.
codesections *** brtastic (~Thunderbi@89-64-2-152.dynamic.chello.pl) has joined channel
#raku [14:11]
*** leont (~leont@86-87-152-242.fixed.kpn.net) has joined channel #raku
notagoodidea does not*
codesections [14:13]
*** ufobat (~martin@dynamic-095-114-131-237.95.114.pool.telefonica.de) has
quit: Ping timeout: 260 seconds [14:28] 12:26
t;Geth> ¦ doc: 5cad6f55bf | (Stoned Elipot)++ | doc/Type/Associative.pod6
Fix whitespace
aukkras ...
12:26 mori017 joined
codesections [14:29] 12:26
jess how long's this been happening
codesections <linkable6> Link: docs.raku.org/type/Associative
kawaii :)
codesections <moritz> jdv79: yes, I did [14:49]
*** SqrtNegInf (~SqrtNegIn@c-73-53-5-92.hsd1.wa.comcast.net) has joined
jess the codesections stuff i mean
codesections channel #raku [14:50]
*** Altai-man (~sena_kun@ has joined channel #raku [14:57]
kawaii few minutes now jess
12:26 ChanServ sets mode: +o jess
codesections *** Doc_Holliwood (~holli@dslb-084-059-122-250.084.059.pools.vodafone-ip.de) 12:26
12:26 jess sets mode: +q codesections!*@*
codesections has joined channel #raku [15:00] 12:26
12:26 jess sets mode: -o jess
tadzik codesections: may I recommend weechat, which warns you if you're about to paste more than one line at a time? 12:26
jess codesections: toss me a message when you can and i'll pull the +q 12:27
12:27 brtastic joined 12:34 aborazmeh joined, aborazmeh left, aborazmeh joined
frost-lab Too many messages:] 12:34
:) 12:35
12:35 mori017 left
animalmother2 just curious, can you define custom junctions? like, can you write an `any2` junction? 12:35
moritz not easily at least 12:36
12:37 Deadly_Alive joined, cpan-raku joined, cpan-raku left, cpan-raku joined
animalmother2 gotcha, I'll stop thinking about it for now 12:38
12:38 codesections joined, ChanServ sets mode: +o jess, jess sets mode: -q codesections!*@*
jess codesections: all good? 12:38
codesections I believe so 12:39
12:39 jess sets mode: -o jess
jess fantastic 12:39
codesections very sorry about that
jess no bother, accidents happen
codesections I recently switched from WeeChat to Erc, and must not have it configured correctly 12:40
I have a non-nil value for `erc-accidental-paste-thresholld-seconds`, which I _thought_ was all I needed… 12:41
MasterDuke fyi, looks like colabti is back 12:49
codesections And here I was hoping it didn't capture that flood. Oh well 12:51
12:52 Deadly_Alive left 12:59 cog joined
tadzik hah 12:59
codesections: that thresholld sounds like a typo
cog In Perl, refaddr can be used to create a key in a hash. What would be the Raku equivalent ? The port of Scalar::Util says : Returns the internal memory address of the object as a plain integer. Please note that Raku implementations do not require the memory address of an object to be constant: in fact, with MoarVM as a back end, any longer living object will have its memory address changed over its lifetime. 13:00
codesections tadzik: yeah, but it's correct in my config/the variable I checked. I just tested an over-large paste in a msg to myself, and I was properly protected/warned. So truly no idea why it didn't save me (us?) here 13:02
cog Maybe it is good enough for that use. Or we may potentially have a problem similar to the ABA problem, here manifesting as not having the guarantee of the unicity of a key. 13:04
Geth doc: e9d0b234cf | (JJ Merelo)++ | doc/Language/operators.pod6
Tries to reorganize metaoperators ("compound" operators)

So that they're easier to find, if not exactly responding to #3768
linkable6 Link: docs.raku.org/language/operators
DOC#3768 [open]: github.com/Raku/doc/issues/3768 [docs] built-in compound assignment operators like "~=" are not searchable
MasterDuke cog: you can create object hashes and use the object directly as the key. if you really want some some of unique string representation. use `.WHICH` 13:07
m: my @a = [1,2]; my @b = [1,2]; say @a.WHICH; say @b.WHICH
camelia Array|72633944
cog So WHICH is guaranteed not to change over time ? 13:08
Anyway, object as its own key is good enough, thx MasterDuke 13:10
MasterDuke cog: yeah. .WHERE is the memory address, which can change, but .WHICH is a unique id (though "different" value objects may have the same id) 13:12
m: my $a = 1; my $b = 1; say $a.WHICH; say $b.WHICH 13:13
camelia Int|1
MasterDuke m: my @a = [1,2]; my @b = [1,2]; say @a.WHICH; say @b.WHICH; say @a.WHERE; say @b.WHERE; my $c; for ^100_000 { my @a = ^10; $c = @a.tail }; $*VM.request-garbage-collection; $*VM.request-garbage-collection; say $c; say @a.WHICH; say @b.WHICH; say @a.WHERE; say @b.WHERE 13:15
camelia Array|71206384
13:27 aborazmeh left, notagoodidea joined 13:30 tomasmu joined 13:35 berber44 joined 13:43 MorayJ joined 13:46 animalmother2 left 13:57 berber44 left 14:03 Doc_Holliwood joined 14:06 Tirifto joined 14:24 aborazmeh joined, aborazmeh left, aborazmeh joined
kawaii what's the correct capture for `!d`, `!doc` and `!docs`? I have `/ ^ '!' d 'oc'? s? /` at the moment but I don't think this is right and it also captures `!ds` ;( 14:26
vrurg_ m: say '!doc' ~~ / ^ '!d' ['oc' 's'?]? $/; 14:31
camelia 「!doc」
tellable6 2020-12-29T00:51:49Z #raku <melezhik> vrurg finally I got your example working - rakudist.raku.org/sparky/report/RakuPlay-1/8889
vrurg_ m: say '!docs' ~~ / ^ '!d' ['oc' 's'?]? $/;
camelia 「!docs」
vrurg_ m: say '!ds' ~~ / ^ '!d' ['oc' 's'?]? $/;
camelia Nil
vrurg_ kawaii: I'd do it like this unless there is another requirement.
m: say '!d' ~~ / ^ '!d' ['oc' 's'?]? $/;
camelia 「!d」
14:33 aborazmeh left
kawaii vrurg: that seems to match !do also when I test 14:33
vrurg m: say '!do' ~~ / ^ '!d' ['oc' 's'?]? $/;
camelia Nil
vrurg No, it doesn't.
kawaii hmmm
ah see, I don't have the ending anchor 14:34
vrurg And it can't because 'oc' is an atom.
kawaii which I guess is the 'other requirement'
since I have arguments after it
vrurg m: say '!do' ~~ / ^ '!d' ['oc' 's'?]? /;
camelia 「!d」
Altreus do we need all that?
vrurg It does match without $ but it it only matches the part you need.