🦋 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 available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 8 June 2022.
guifa_ question is the classic counting one: is * and × one operator with two forms? Or two separate operators that map identically internally? 00:00
also yikes, that table got sorted alphabetically! 00:02
habere-et-disper Thanks guifa_. Can anyone recommend a coding typeface which has ligature support for raku? FiraCode comes close but needs set support. 00:06
00:06 reportable6 left 00:07 reportable6 joined 00:09 lichtkind left
tonyo set support? 00:10
i currently use a bastardized version of monaco with some ligatures added 00:11
habere-et-disper Sets... 00:13
ASCII Unicode(&)      ∩
(|)      ∪
(<)      ⊂
(>)      ⊃
(<=)     ⊆
(==)     ≡
(>=)     ⊇
(^)      ⊖
01:09 linkable6 left, evalable6 left 01:10 linkable6 joined 01:12 evalable6 joined 01:14 habere-et-disper left 01:59 jmcgnh left, sivoais left 02:11 jmcgnh joined 02:21 jmcgnh left 02:28 jmcgnh joined 02:40 sivoais joined 02:44 japhb left 02:46 japhb joined 02:51 vrurg joined 02:54 vrurg_ left 03:02 discord-raku-bot left, discord-raku-bot joined 03:14 Sankalp- joined, Sankalp left, Sankalp- is now known as Sankalp 04:14 quotable6 left, linkable6 left, releasable6 left, bloatable6 left, unicodable6 left, reportable6 left, bisectable6 left, coverable6 left, committable6 left, sourceable6 left, notable6 left, tellable6 left, statisfiable6 left, shareable6 left, evalable6 left, benchable6 left, greppable6 left, nativecallable6 left 04:15 benchable6 joined, quotable6 joined, greppable6 joined, nativecallable6 joined, coverable6 joined, tellable6 joined, statisfiable6 joined, committable6 joined 04:16 releasable6 joined, notable6 joined, evalable6 joined, reportable6 joined, linkable6 joined 04:17 bloatable6 joined, unicodable6 joined, sourceable6 joined, bisectable6 joined, shareable6 joined 04:32 elcaro left, a3r0 left, a3r0 joined, elcaro joined 04:35 vrurg_ joined, vrurg left 05:35 benchable6 left, nativecallable6 left, greppable6 left, reportable6 left, linkable6 left, committable6 left, notable6 left, sourceable6 left, shareable6 left, tellable6 left, unicodable6 left, quotable6 left, statisfiable6 left, evalable6 left, releasable6 left, bloatable6 left, bisectable6 left, coverable6 left, notable6 joined 05:36 benchable6 joined, bloatable6 joined, shareable6 joined, evalable6 joined, committable6 joined, quotable6 joined, bisectable6 joined 05:37 greppable6 joined, coverable6 joined, tellable6 joined, statisfiable6 joined, nativecallable6 joined, reportable6 joined, releasable6 joined, unicodable6 joined, linkable6 joined 05:38 sourceable6 joined 05:54 wawan joined 05:55 wawan left 06:05 reportable6 left 06:08 reportable6 joined 07:08 unicodable6 left, releasable6 left, coverable6 left, shareable6 left, bloatable6 left, benchable6 left, committable6 left, bisectable6 left, statisfiable6 left, committable6 joined, shareable6 joined 07:09 bisectable6 joined, coverable6 joined, statisfiable6 joined, bloatable6 joined, releasable6 joined 07:10 unicodable6 joined 07:11 benchable6 joined
Nemokosch I don't think it's "yikes" that it got sorted; I seem to recall something about this when I complained about precedence stuff 07:33
gfldex .tell habere-et-disper you can find a complete list of symbols in github.com/rakudo/rakudo/blob/mast...corekeys.t . Please note that this wont contain macro-ish stuff like the feed operators, .WHAT and friends. 07:43
tellable6 gfldex, I'll pass your message to habere-et-disper
08:05 sena_kun joined 09:05 benchable6 left, unicodable6 left, bisectable6 left, statisfiable6 left, reportable6 left, coverable6 left, sourceable6 left, committable6 left, bloatable6 left, evalable6 left, notable6 left, shareable6 left, greppable6 left, quotable6 left, tellable6 left, nativecallable6 left, linkable6 left, releasable6 left 09:06 bisectable6 joined, nativecallable6 joined, committable6 joined, notable6 joined 09:07 tellable6 joined, greppable6 joined, reportable6 joined, benchable6 joined, statisfiable6 joined, linkable6 joined 09:08 coverable6 joined, unicodable6 joined, bloatable6 joined, quotable6 joined, releasable6 joined, evalable6 joined, shareable6 joined, sourceable6 joined
gfldex lolibloggedalittle: gfldex.wordpress.com/2022/07/30/sw...g-sundays/ 09:30
Nemokosch ~~you copied my solution~~ 09:32
come on, that shift is not nice at all at the end... 09:39
gfldex It iterates just nicely, as it should. 09:40
Nemokosch I mean it works but I'd go as far as to say you won't find anyone who finds this loop better than an immutable for loop 09:41
it's not idempotent in the first place
gfldex I could define an infix ofc and then hyper it. However, the hyper would do exactly the same thing under the hood. 09:43
Nemokosch yes, you could
don't kill the hope that it can eventually operate better 😅
like any hope for parallelization is gone with these mutable operations
gfldex Hypers don't forward adverbs to the infix. :-/ 09:52
Nemokosch do adverbs even belong to the operator or they are just arguments? 09:55
gfldex They do, or %foo<somekey>:exists would not work. 09:57
Nemokosch sure? idk what the syntax is, it could still be a part of the signature 10:00
10:00 discord-raku-bot left, discord-raku-bot joined 10:41 Sgeo left 10:52 xinming left 11:15 lichtkind joined 12:07 dogbert11 left, reportable6 left 12:09 reportable6 joined 12:34 dogbert11 joined
> sub postcircumfix:<{ }>(%container, **@key, 13:32
> :$k, :$v, :$kv, :$p, :$exists, :$delete)
when I see something like this, I would think that it's just an argument that has some syntax magic that allows it to go right after the closing bracket
13:34 evalable6 left, linkable6 left 13:35 evalable6 joined 13:36 linkable6 joined 13:52 vrurg_ left, vrurg joined 14:07 linkable6 left, linkable6 joined
guifa_ Operator adverbs were one of those things that were a super cool idea, but outside of the circumfixes, never really seemed to pick up too terribly much use 14:14
10 / 3 :int; # result 3 14:18
^^ could have been a possible use
Nemokosch but that would require syntax black magic again, no? 14:20
eh, I guess if an infix could take more than one argument on the left, it should work
lizmat m: multi sub infix:</>($a, $b, :int!) { $a div $v }; say 10 / 3 :int
camelia ===SORRY!=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> multi sub infix:</>($a, $b, :⏏int!) { $a div $v }; say 10 / 3 :int
lizmat m: multi sub infix:</>($a, $b, :$int!) { $a div $v }; say 10 / 3 :int 14:21
camelia ===SORRY!=== Error while compiling <tmp>
Variable '$v' is not declared. Perhaps you forgot a 'sub' if this was
intended to be part of a signature?
at <tmp>:1
------> sub infix:</>($a, $b, :$int!) { $a div ⏏$v }; say 10 / 3 :int…
lizmat m: multi sub infix:</>($a, $b, :$int!) { $a div $b }; say 10 / 3 :int
camelia 3
lizmat :-)
no black magic needed 14:22
guifa_ One could also imagine for any math operators are a precision and/or width adverb 14:24
Nemokosch that "subscript adverb" is kinda hacky though
guifa_ It actually follows all the rules of the adverb
you have an operator
and an adverb
adverb gets passed to the operator
(remember, [ … ] is an operator in Raku, not specialized syntax ) 14:25
Nemokosch yes, that makes sense 14:26
[]:exists, though, is something that doesn't follow from the rules of an operator
[:exists] would
similarly to m:g// instead of m/:g/
guifa_ afk for a bit 14:27
14:49 dogbert11 left 14:50 jgaz joined 14:51 jgaz left 15:16 dogbert11 joined
guifa_ is there any tidy way to do a join but keeping things list-y? 15:31
like my @a = <a b c>; @b = @a.join(' + '); such that @b is ['a', ' + ', 'b', ' + ', 'c'] ? 15:32
gfldex m: my @a = <a b c>; my @b = (@a Z (' + ' xx *)).head(*-1); dd @b; 15:35
camelia Array @b = [("a", " + "), ("b", " + ")]
gfldex m: my @a = <a b c>; my @b = (@a Z (' + ' xx *)).flat.head(*-1); dd @b;
camelia Array @b = ["a", " + ", "b", " + ", "c"]
Nemokosch I was rather thinking of a reduction 15:36
guifa_ meh. I'll just build a sub for it 15:40
I'm having to change some actions frmo just string building (where join works perfectly) to generating a list of mostly strings, but a few things that stringify based on various settings
Nemokosch it doesn't stop bugging me, though 🙂 15:45
can functions return (quasi) anonymous operators? that is, can something returned from a function and generated "on the fly" have associativity assigned? 15:46
okay, I'm still curious if that works but it won't help a lot 15:53
15:53 Nemokosch joined
guifa_ grrr 15:54
Geth Documentable/devel: 00c4432728 | Altai-man++ | 3 files
Sort out situation with escaping URLs

And streamline forming of the search index entry fragment URL.
Since the beginning, results of the url method for search index entries and secondary pages were not percent encoded, ... (14 more lines)
guifa_ just realized my solution needs to also flatten the whole thing
guifa_ I'm going to be lazy and use old fashion iteration
Nemokosch m: sub joiner($separator) { return { ($^a , $separator, $^b).Slip } }; my &plus-joiner = joiner ' + '; dd [[&plus-joiner]] <a b c>; 15:55
camelia slip("a", " + ", "b", " + ", "c")
tellable6 2022-07-29T08:35:03Z #raku <jjatria> Nemokosch: I guess that's the big question: is the fact that even in a "trusted" ecosystem anyone can "hijack" a distribution a feature or a bug?
2022-07-29T12:07:01Z #raku <ugexe> Nemokosch: its all very intentional and somewhat related to the dbic ownership problem from years ago, not "for the lolz"
2022-07-29T13:02:34Z #raku <lucs> Nemokosch: Thanks too.
2022-07-29T18:56:33Z #raku <japhb> Nemokosch: Better to ping me directly from IRC. irssi (my IRC client) doesn't highlight anything the bridge bot says, so I can easily miss stuff. (And this channel is too chatty to read everything all the time.)
Nemokosch seems like the return is needed 15:56
guifa_: what do you think? 15:57
guifa_ it's definitely a way to do it. I think to do the associativity you'd ultimately need to use EVAL or RAST 15:59
Nemokosch it looked like it didn't explicitly refuse sub (...) is assoc<list> 16:00
but I realized that it wouldn't get me closer to a solution
guifa_ I just ultimately did sub list-join(@x,$y) { my @z = @x.head[]; append @z: |$y, |$_ for @x.skip(1); @z } 16:01
Since I'm refactoring code, being able to say @foo.join --> @foo.&list-join makes life easier 16:02
Nemokosch > append @z: |$y, |$_ 16:03
oh, this is a method call. You are probably the first one that I see using this syntax
guifa_ I think it reveals some of my perl background 16:04
for instance, in Perl you'd say push @list, $element 16:05
Most of the time in Raku you see @list.push($element) or @list.push: $element 16:06
Nemokosch it's unusual for me, that's for sure :D
16:07 Nemokosch left
guifa_ all the new kids on the black are so OO they always think "subject verb object", but older code often would be verb subject object 16:08
Nahita in this amazing video, it is mentioned, i remember it from there :p youtu.be/Odce4aH0_gY?t=916
guifa_ Nahita: unsurprisingly (see what I did there?) that's my presentation :-)
Nahita yes yes :p\p 16:10
Nemokosch not sure why I didn't remember this was your presentation, almost sure I've seen it 16:11
Nahita it is an amazing presentation i think, thank you for it, i learned \*a lot\* from it
maybe i forgot a lot, too, but still
guifa_ I just love that the powers that be back in the day really realized the utility in not really strictly distinguishing methods from subs
Nemokosch as someone who raises issues almost every day, I would be a bit wary with that "unsurprising" there 😅 16:13
anyway, these are the last days of pondering whether I can define and compile a presentation (other than the lightning talk) for the conference 16:15
guifa_ I'm going to redo my module one, but touch it up a bit 16:16
I definitely noticed one or two things I forgot during it
Nemokosch that's cool; it really was my main source to even start with modules 16:17
guifa_ I'm never doing three talks in one conference again though lol, that was stressful 16:18
Although Ruth beat me out with 4 16:19
(on the Perl side)
Geth Pod-To-HTML/devel: 813ef63bf8 | Altai-man++ | lib/Pod/To/HTML.pm6
Generate URL fragments for index entries according to new schema

Prior to this, URI fragments rendered were aligned with the format Documentable expected to follow, however it was recently changed to address number of issues such as:
  - Absence of special characters escaping in the fragments
  - Relying on the formatting code parts that should be flexible
   in long term
guifa_ She got reeled in to do an extra talk because Odin lost his passport and couldn't give his talk :-O
Nemokosch What I still fail to decide is whether the presentation should have a strict structure or it could be mainly driven by my sheer "Raku journey" in the last year
yes, I've seen at least one from Ruth, maybe two even
the first one, now that was definitely fun for someone who knows nothing about Perl, too xD 16:20
guifa_ She's great. Actually was the first person from the conference I saw when I walked in, and made me feel super welcome there
Nemokosch my private jet hadn't arrived so I could go to that conference :DD 16:23
guifa_ I'd been really wanting to go to an in person event ever since I started getting sucked into the Raku world 16:24
And then between dissertation and pandemic, wasn't able to for years 16:25
Nemokosch It could be nice indeed but the distances, man 16:30
Even Riga or Amsterdam would have been some trip but Houston... 16:31
guifa_ What part of the world do you hail from? 16:53
Geth Documentable/devel: 0a8418d2be | Altai-man++ | t/202-references.t
Update test data
Nemokosch ~~middle of it~~ Post-Eastern Europe 17:06
17:07 evalable6 left, linkable6 left 17:08 linkable6 joined 17:09 evalable6 joined
Geth Pod-To-HTML/devel: c939f02adb | Altai-man++ | 2 files
Update test data
17:29 Xliff left 17:52 sena_kun left 17:57 sena_kun joined 18:07 reportable6 left 18:09 reportable6 joined
guifa_ Ah yeah, that's a long flight to houston 18:31
18:52 sena_kun left 18:53 sena_kun joined 19:17 Sgeo joined 19:45 dmc00 left 20:01 jmcgnh left 20:05 sena_kun left 20:12 jmcgnh joined 20:52 jaguart left 21:17 ecocode_ left 21:20 ecocode joined 22:20 coverable6 left, linkable6 left, unicodable6 left, nativecallable6 left, sourceable6 left, notable6 left, bisectable6 left, quotable6 left, shareable6 left, benchable6 left, greppable6 left, releasable6 left, evalable6 left, reportable6 left, committable6 left, tellable6 left, bloatable6 left, statisfiable6 left, sourceable6 joined, quotable6 joined, evalable6 joined, bisectable6 joined 22:21 releasable6 joined, unicodable6 joined, greppable6 joined, tellable6 joined, committable6 joined, bloatable6 joined, nativecallable6 joined 22:22 statisfiable6 joined, notable6 joined 22:23 linkable6 joined, coverable6 joined, reportable6 joined, benchable6 joined, shareable6 joined 23:23 committable6 left, nativecallable6 left, evalable6 left, greppable6 left, shareable6 left, notable6 left, quotable6 left, bisectable6 left, bloatable6 left, reportable6 left, linkable6 left, unicodable6 left, releasable6 left, coverable6 left, tellable6 left, sourceable6 left, benchable6 left, statisfiable6 left, tellable6 joined 23:24 nativecallable6 joined, greppable6 joined, evalable6 joined, benchable6 joined, sourceable6 joined, coverable6 joined 23:25 quotable6 joined, committable6 joined, reportable6 joined, releasable6 joined, linkable6 joined, notable6 joined, bloatable6 joined, unicodable6 joined, shareable6 joined, bisectable6 joined 23:26 statisfiable6 joined 23:59 lichtkind left