🦋 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:07 reportable6 left 00:10 reportable6 joined 00:28 SqrtNegInf joined 00:46 releasable6 joined 00:47 shareable6 joined, greppable6 joined 00:48 statisfiable6 joined, committable6 joined 00:56 markmark joined, markmark left, markmark joined 00:59 markmarkmark left 01:01 tejr left 01:02 tejr joined 01:06 markmark is now known as markmarkmark 01:09 eseyman left 01:11 eseyman joined 01:26 frost joined 01:48 coverable6 joined, nativecallable6 joined 02:46 bisectable6 joined 02:48 sourceable6 joined 03:48 notable6 left, reportable6 left, sourceable6 left, nativecallable6 left, statisfiable6 left, greppable6 left, shareable6 left, bisectable6 left, coverable6 left, quotable6 left, evalable6 left, unicodable6 left, benchable6 left, bloatable6 left, linkable6 left, squashable6 left, tellable6 left, releasable6 left, committable6 left, bloatable6 joined 03:49 notable6 joined, unicodable6 joined 03:51 squashable6 joined, nativecallable6 joined, releasable6 joined, reportable6 joined, evalable6 joined 04:48 linkable6 joined 04:49 tellable6 joined 04:50 quotable6 joined, committable6 joined, benchable6 joined, statisfiable6 joined 04:51 sourceable6 joined 05:30 squashable6 left 05:33 squashable6 joined 05:42 squashable6 left 05:45 squashable6 joined 05:49 bisectable6 joined 05:50 coverable6 joined 05:51 shareable6 joined 06:06 reportable6 left 06:08 reportable6 joined 06:20 Sgeo left 06:26 andinus joined 06:50 greppable6 joined 06:58 Darkcoal joined 07:19 abraxxa joined 07:23 abraxxa left, abraxxa joined 07:46 qorg11 left 07:48 qorg11 joined 07:53 jjido joined 08:06 jjido left 08:07 dakkar joined 08:21 qorg11 left 08:23 qorg11 joined 08:37 qorg11 left 08:39 squashable6 left 09:17 jjido joined 09:22 tejr left, tejr joined 09:42 squashable6 joined 09:45 sena_kun left 09:47 sena_kun joined, abraxxa left 09:57 abraxxa joined 10:00 jjido left 10:03 synthmeat left 10:58 Xliff joined 11:01 Xliff left 11:03 djerius left 11:07 razetime joined 11:08 djerius joined 11:57 p6steve left 12:08 reportable6 left, reportable6 joined 12:09 synthmeat joined 12:18 Altai-man joined 12:24 hethw joined 13:17 Sgeo joined 13:19 SqrtNegInf left 13:20 xinming left 13:22 xinming joined 14:09 Guest83 joined, Guest83 left
Anton Antonov Should I expect any (significant) "performance penalties" from using `sym<>` regexes or rules? I plan to do my own experiments, but any related observations or knowledge from others would help... 14:17
14:18 razetime left
lizmat if there are any penalties, it's in compile time 14:18
[Coke] going to try to write something with ansi terminal sequences for my utility script need. I basically want something I can plug Terminal::Spinners into to get the status update line on the bottom of the screen, and have all output emitted from the script scroll in the area above. Would anyone else find this sort of thing useful? 14:19
lizmat probably :-)
[Coke] I think I'd take over the whole window. Ideally if I knew I was in a pipe, I'd ignore all of this and just pass through the output. 14:20
14:22 hethw_ joined 14:24 hethw left
japhb [Coke]: Yeah, and I'm curious to see exactly what sequences you use. (Most of the ones I use are the ones needed for Terminal::Print or Terminal::LineEditor.) 14:26
14:34 hethw_ left
[Coke] ah, nifty, thanks. 14:35
Anton Antonov @lizmat Thank you! (And it makes sense.) 14:36
[Coke] the literal "AUTHOR" text here raku.land/zef:japhb/Terminal::LineEditor is vertical.
lizmat so don't do that in scripts :-) 14:37
[Coke] ah. Terminal::Print is not portable, is it. 14:39
(relies on termios)
Anton Antonov @Coke I want to use Raku for making chat-bots through CLI scripts, so the functionalities you mention would help ... 14:41
japhb [Coke]: Yeah ... I mean, I assume it probably works under WSL2, but I've never tried.
As for the AUTHOR text on raku.land, I have *no idea* why it is doing that. 14:42
lizmat japhb: that's a known issue in the renderer 14:44
14:49 jjido joined 14:51 razetime joined
aru Hi, I'm messing around with grammars. Could anyone give me a hint why in this example p.teknik.io/T3FeL this works, but if I use the other definition for words, I get nil for all the examples? From what I gathered both definitions should be equivalent 14:52
ahh, silly me 15:00
15:05 jjido left
aru but I'm still failing to use a newline as a delimiter 15:05
15:06 razetime left
moritz aru: 'rule' implies automatic matching of whitspace. Newline is also whitespace, so it'll be used up automatically 15:29
you could do something like token ws { \h+ }
aru right, I made it work in the meantime, without fully understanding what's going on
moritz \h matches only horizontal whitepsace
15:29 Altai-man left 15:30 Altai-man joined
moritz (and 'ws' is what 'rule` use to parse whitespace) 15:30
15:35 Xliff joined
Nemokosch oh, the legendary moritz... 15:35
Xliff Talk about interesting...
Nemokosch perhaps you know whether left recursion in grammars can be dealt with in Raku grammars? 15:36
Xliff Can someone post some links on educational resources for Raku?
15:36 qorg11 joined
Xliff An educational opportunity has rolled up on my desk. I'd like to submit a lesson plan centered around Raku. I then might be offered the opportunity to teach the class. 15:36
moritz Nomokosch: no left recursion in grammars, no 15:39
Xliff: perl6book.com/ has lots of resources, for one
Xliff Wasn't there a lesson plan for Raku? 15:40
Nemokosch tldr it seems like the grammar of Rust has left recursion in it and someone tried to parse it not so long ago
moritz andrewshitov.com/2021/01/13/the-course-of-raku/
Xliff moritz++ 15:41
moritz I don't think left-recursion is part of a language, just of a grammar. You can always come up with a grammar for the same language that's not left recursive
15:41 razetime joined
moritz in fact, there are parser generators that do that automatically (possibly bison?) 15:41
("always" is to be used with caution here; I think the theoretical proof applies to context-free grammars) 15:42
Nemokosch the question is, at what cost? 15:46
moritz with a bit of experience it's usually not too bad 15:47
Nemokosch > for example, we descend from <expression> into <expression-without-block>, into <operator-expression>, into <comparison-expression>, but then back up into <expression> 15:48
moritz there are lots of examples out there on how to structure an expression grammar that it doesn't run into left recursion 15:50
[Coke] wonders when moritz got famous. :) 15:51
also: hey, dude.
moritz [Coke]: i wondered that as well :-) Hi there 15:52
In fact I'm pretty sure that both the parsing book and my general raku book contain examples for mathemtical expressions that avoid this left recursion pitfall 15:54
15:55 Xliff left
Nemokosch well it's not my problem, thank God, so I'm perfectly satisfied with knowing that there are established solutions 😛 15:56
16:22 rir joined 16:26 thundergnat joined, Altai-man left 16:27 Altai-man joined
thundergnat {Coke] RE: ANSI terminal scroll regions. You may be able to steal some ideas from rosettacode.org/wiki/War_card_game#Raku or rosettacode.org/wiki/Launch_rocket...tdout#Raku . Or you may recoil in horror, who knows. :-) 16:28
Oops, wrong bracket... [Coke] ^^^ 16:29
16:29 thundergnat left
tonyo next module upload to zef will be the 1000th 16:30
16:35 dakkar left 16:44 japhb left 16:45 sena_kun_ joined 16:49 japhb joined, Altai-man left
[Coke] thundergnat: nifty 17:04
17:05 abraxxa left
rir Fiveish thinking: [ (), (0), (1,2) ].grep( .elems >= 2); How do I make a smartmatch work? Or am I missing a callable? 17:17
CIAvash rir: `.grep(*.elems >= 2)` or `.grep({ .elems >= 2 })` or `.grep: * ≥ 2` 17:23
17:26 razetime left
rir CIAvash, thanks for setting right. I was surprised then followed the no 'Bool as Matcher' in the wrong direction. 17:39
lizmat most newbies initially think of "*.elems" as some magic, without realizing it is actually just syntax to create a Callable 17:46
tonyo m: [ (), (0), (1,2) ].grep({@$_ >= 2}) 17:49
camelia ( no output )
tonyo m: dd [ (), (0), (1,2) ].grep({@$_ >= 2})
camelia ($(1, 2),).Seq
tonyo star also just works
m: dd [ (), (0), (1,2) ].grep(* >= 2);
camelia ($(1, 2),).Seq
Nemokosch this reminds me... 17:51
what is the difference between .cache and .List?
more specifically... it seems to me that .cache doesn't fetch the whole list 17:54
18:00 reportable6 left 18:03 reportable6 joined 18:04 morte_ joined 18:10 discord-raku-bot left, discord-raku-bot joined 18:11 discord-raku-bot left, discord-raku-bot joined
rir lizmat, that is because it is weird and found in other items' doc before one knows it exists. That invites copying w/o much comprehension when 'getting it done' overwhelms curiosity. Then that zero/tiny comprehension is validated... 18:12
lizmat I see... hmmm... 18:15
18:15 discord-raku-bot left 18:16 sena_kun_ left, discord-raku-bot joined 18:34 morte_ left 18:59 jjido joined, rir left 19:06 dmc7z joined 19:10 dmc7z left 19:13 Darkcoal left 19:30 sena_kun left 19:31 sena_kun joined
Geth ecosystem: 576e52ee4f | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | META.list
Delete modules uploaded to the fez ecosystem
20:15 jjido left 20:16 jjido joined
tonyo "Number::Denominate:ver<2.002002>:auth<zef:raku-community-modules>" is the 1k mark for zef's hosted dists 20:36
that version number, heh
21:14 jjido left 21:16 jjido joined 22:13 donaldh left 22:16 sena_kun left 22:18 sena_kun joined 23:18 sourceable6 left, greppable6 left, benchable6 left, notable6 left, evalable6 left, linkable6 left, squashable6 left, unicodable6 left, quotable6 left, releasable6 left, committable6 left, shareable6 left, evalable6 joined, squashable6 joined, unicodable6 joined 23:19 sourceable6 joined 23:35 jjido left 23:39 Xliff joined