šŸ¦‹ 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:11 lichtkind left 00:13 Doc_Holliwood left 00:19 markong left 00:24 orinthe left
guifa Xliff: happy birthday! 00:29
00:29 orinthe joined 00:34 aborazmeh joined, aborazmeh left, aborazmeh joined 00:45 wildtrees left 00:48 orinthe2 joined 00:49 orinthe left, orinthe2 is now known as orinthe 00:52 silug left 00:53 silug joined 00:54 orinthe left 01:00 orinthe joined 01:10 rbtca left 01:11 rbtca joined 01:12 oneeggeach joined
Xliff guifa: Thanks! :) 01:18
01:20 kotrcka joined 01:23 aborazmeh left 01:33 oneeggeach left 01:45 molaf left 01:48 Altai-man_ joined 01:51 sena_kun left 01:57 molaf joined 01:59 hungrydonkey joined 02:13 guifa left
japhb Happy birthday, Xliff! 02:14
tellable6 2020-04-03T05:30:10Z #raku <Xliff> japhb Ooh! Thanks. I'm snagging this! ;)
02:14 melezhik86 joined, melezhik86 is now known as melezhik2
melezhik2 AlexDaniel: looks like I found a fix - repo.westus.cloudapp.azure.com/raku...223468.txt 02:15
it's installing glibc on alpine 02:16
wget --no-check-certificate github.com/sgerrand/alpine-pkg-gli....31-r0.apk
apk add --allow-untrusted glibc-2.31-r0.apk
does the trick
02:27 melezhik2 left 02:33 hungrydonkey left 02:34 hungrydonkey joined
Xliff Given the following: 'require ::($_ = "GStreamer::Raw::Types");', how would I introspect the symbols from GStreamer::Raw::Types 02:39
^^ lizmat jnthn nine timotimo vrurg
vrurg Xliff: ::('Module').WHO 02:40
Xliff Hah! vrurg++ 02:41
02:42 melezhik left
Xliff Urg. That gives me 'Failure' 02:43
vrurg: Hmm... take a look at GStreamer::Raw::Types. I think what I am doing breaks that method. 02:44
github.com/Xliff/p6-GStreamer/blob.../Types.pm6 02:45
vrurg Xliff: sorry, running out of time today. Just one thing to try...
m: require ::(Test); say ::(Test).^name
camelia 5===SORRY!5=== Error while compiling <tmp>
Undeclared name:
Test used at line 1
Xliff vrurg: Thanks, but I need to be able to form the module require'd from a Str. 02:46
vrurg m: require ::('Test'); say ::('Test').^name
camelia Test
vrurg m: require ::('Test'); say ::('Test').WHO.keys.join(", ")
camelia EXPORT, &failure_output, &output, &todo_output
Xliff All it does is re-export symbols. 02:47
vrurg Xliff: WHO gives you everything in our scope.
Xliff Yeah, but there is no real package 02:48
vrurg Xliff: Never needed it that way, I was always dealing with a packagy things. 02:49
02:51 Guest17627 joined
vrurg Xliff: but actually in this case it injects symbols directly into your scope. 02:51
02:52 Guest17627 is now known as zorgate
vrurg Xliff: I can't resist a challenge... Briefly, 'require' wants to see the requested symbol in the compunit. So, `require ::('Module')` do find and load the module, but if it can't find a package 'Module' in the compunit ā€“ it's a failure. 03:04
Perhaps it is possible to find the compunit itself somewhere in the CompUnit module family guts and try to introspect it, but I don't know where to look at. 03:05
Xliff: one thing: after require there is %REQUIRE_SYMBOLS left in the lexical scope. It contains all symbols from all required compunits. 03:09
03:10 ukine1 left
Xliff vrurg: I fixed that. I can now do... 'require ::($_ = "GStreamer::Raw::Types"); ::("GStreamer::Raw::Types").^name.say' 03:10
But I still can't see anything in ::EXPORT
vrurg Xliff: do you have any 'is export' attached?
Xliff I have a lot of "need" statements that I re-export using Compunit::Util 03:11
Near as I can tell, these should be injected into the EXPORT table, which is the equivalent, yes?
03:12 zorgate left
vrurg Xliff: sorry, have to run. Depends on how you re-export. 'sub EXPORT' or 'package EXPORT'. 03:15
vrurg is &afk
Xliff CompUnit::Utils.re-export
github.com/LLFourn/p6-CompUnit-Uti...l.pm6#L156
03:20 guifa joined
guifa Is there a way to create a blob from several blobs efficiently? I feel like the only .new methods will require a coercion to a list of ints first 03:36
guifa . o O ( on the other hand, I guess if thereā€™s no performance penalty really for using a Buf over a Blob I could just use them by default ) 03:37
03:49 sena_kun joined 03:51 Altai-man_ left, pilne left 04:23 molaf left 04:34 Woodi joined 04:39 Doc_Holliwood joined 05:39 hacktor joined 05:48 Altai-man_ joined 05:51 sena_kun left 06:05 rindolf joined 06:12 kensanata joined 06:20 wamba[m] joined 06:21 hungryd85 joined 06:23 hungrydonkey left 06:25 Actualeyes joined 06:27 Doc_Holliwood left 06:33 hungryd85 left, hungryd28 joined 06:42 Actualeyes left 06:43 Actualeyes joined, ufobat_ left 06:47 TheAthlete joined 07:04 stux|RC-only joined
Geth_ doc: bd3c865319 | (Stoned Elipot)++ | doc/Type/Baggy.pod6
possessive clitic fixes
07:07
doc: 258b819467 | (Juan JuliĆ”n Merelo GuervĆ³s)++ (committed using GitHub Web editor) | doc/Type/Baggy.pod6
Merge pull request #3315 from Raku/possessive-clitic-fixes

possessive clitic fixes
linkable6 Link: docs.raku.org/type/Baggy
07:08 cpan-raku left, cpan-raku joined, cpan-raku left, cpan-raku joined 07:14 hungryd28 left 07:22 pecastro joined 07:29 dakkar joined 07:43 rbtca left, rbtca joined 07:44 hungrydonkey joined 07:47 Actualeyes left, Actualeyes joined 07:49 sena_kun joined 07:51 Altai-man_ left, hungrydonkey left 07:52 hungrydonkey joined 08:05 hungrydonkey left 08:07 poohman joined
poohman hello all 08:08
is there an operator to find the common elements of 2 or more arrays/lists?
MasterDuke (elem) i think
oops 08:10
m: say (1, 2, 3) (&) (2, 3, 4) (&) (3, 4, 5) # poohman
camelia Set(3)
poohman cool 08:11
MasterDuke: Thanks
dakkar m: say [(&)] ((1,2,3),(2,3,4),(3,4,5))
camelia Set(3)
dakkar also that 08:12
(which is exactly the same thing, written differently)
poohman thanks
dakkar notice that you get a Set back, not a list
AlexDaniel dakkar: how is that the same thing 08:13
ah
yes, right, I was looking at (elem) suggestion above :)
dakkar :)
lizmat So I was thinking of adding a (==) operator, to apply Set semantics on the operands 08:15
(1,2,3) (==) (3,1,2) would then be True
it would be functionally the same as (1,2,3).Set eqv (3,1,2).Set 08:16
but with the advantage that it would not have to create full Set objects 08:17
dakkar why would == map to eqv?
lizmat hmnmm... so you're saying it should be called (eqv) ?
dakkar or use == semantic 08:18
08:18 k-man left
dakkar similar things should look similar, right? 08:18
lizmat m: dd (1,2,3).Set == (4,5,6).Set
camelia Bool::True
lizmat that would just compare the number of elements
dakkar so let's not do that :) 08:19
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]);
camelia ( no output )
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">; 08:20
camelia [[1 2 3] [2 3 4] [3 4 5]]
AlexDaniel greppable Set.*==
greppable: Set.*==
greppable6 AlexDaniel, 87 lines, 13 modules: gist.github.com/d610d99eb42427c242...bac0156607
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">.*== 08:21
camelia 5===SORRY!5=== Error while compiling <tmp>
Malformed postfix call
at <tmp>:1
------> 034]);%a<"a">.push([3,4,5]); say %a<"a">.*7ā5==
AlexDaniel lizmat: what's that? github.com/colomon/List-Utils/blob...ions.t#L17
dakkar "are all the elements in this array different?"
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">; 08:22
camelia [[1 2 3] [2 3 4] [3 4 5]]
AlexDaniel dakkar: ah, it's actually correct then
lizmat AlexDaniel: that's another way of finding out whether all elements of an array are different from each other ?
dakkar it only becomes odd when you have Set on both sides of the == ("do these two things have the same number of distinct elements?" is an odd question) 08:23
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">.reduce(&[&]);
camelia all([1 2 3], [2 3 4], [3 4 5])
AlexDaniel dakkar: yeah, I was just wondering if anybody misused == for sets 08:24
but I guess not
poohman for the example above, any simple way of finding the common element? 08:25
MasterDuke m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">.reduce(&[(&)]); 08:26
camelia Set(3)
poohman aah
thanks
lizmat also, ā‰” would then be the unicode version of that set operator
MasterDuke np 08:27
lizmat aka U+2261
MasterDuke m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">.reduce(&[(āˆ©)]); # unicode version
camelia 5===SORRY!5=== Error while compiling <tmp>
Missing infix inside []
at <tmp>:1
------> 3a">.push([3,4,5]); say %a<"a">.reduce(&[7ā5(āˆ©)]); # unicode version
expecting any of:
argument list
infix
infiā€¦
MasterDuke m: my %a;%a<"a">.push([1,2,3]);%a<"a">.push([2,3,4]);%a<"a">.push([3,4,5]); say %a<"a">.reduce(&[āˆ©]); # unicode version 08:28
camelia Set(3)
08:34 k-man joined
AlexDaniel u: ā‰” 08:38
unicodable6 AlexDaniel, U+2261 IDENTICAL TO [Sm] (ā‰”)
cpan-raku New module released to CPAN! Gnome::Gtk3 (0.27.3) by 03MARTIMM 08:42
New module released to CPAN! Gnome::Gio (0.5.0) by 03MARTIMM
New module released to CPAN! Gnome::N (0.17.3.1) by 03MARTIMM
lizmat clickbaits rakudoweekly.blog/2020/04/06/2020-...spectives/ 09:11
09:15 mowcat joined 09:26 xelxebar left 09:27 Doc_Holliwood joined 09:28 xelxebar joined 09:29 sauvin left 09:32 markong joined, Black_Ribbon left 09:36 k-man left 09:40 chloekek joined 09:42 markong left, markoong joined 09:43 k-man joined 09:48 Altai-man_ joined 09:51 sena_kun left 09:57 cyg0x7 joined
cyg0x7 p6: say 3; 09:58
camelia 3
10:02 Actualeyes left, xinming left, Actualeyes joined 10:04 sauvin joined, xinming joined 10:05 cognomin_ joined 10:07 Doc_Holliwood left 10:10 cognominal left 10:15 aborazmeh joined 10:16 aborazmeh left, aborazmeh joined 10:19 jjatria left, jjatria joined 10:21 jjatria left, jjatria joined 10:22 jjatria left, jjatria joined
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"b">.push([2,3,4]);%a<"c">.push([3,4,5]);say %a; 10:31
camelia {"a" => [[1 2 3]], "b" => [[2 3 4]], "c" => [[3 4 5]]}
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"b">.push([2,3,4]);%a<"c">.push([3,4,5]);say %a.flat; 10:32
camelia ("b" => [[2 3 4]] "c" => [[3 4 5]] "a" => [[1 2 3]])
poohman is there any way to get all the values in one array or array of arrays 10:33
MasterDuke .append 10:34
poohman m: my %a;%a<"a">.push([1,2,3]);%a<"b">.push([2,3,4]);%a<"c">.push([3,4,5]);say %a.append; 10:37
camelia {"a" => [[1 2 3]], "b" => [[2 3 4]], "c" => [[3 4 5]]}
poohman MasterDuke: some help? 10:38
MasterDuke m: my %a;%a<"a">.append([1,2,3]);%a<"b">.append([2,3,4]);%a<"c">.append([3,4,5]);say %a;
camelia {"a" => [1 2 3], "b" => [2 3 4], "c" => [3 4 5]}
MasterDuke oh, sorry. i thought you were putting them all into one key 10:39
10:39 Doc_Holliwood joined
MasterDuke m: my %a;%a<"a">.append([1,2,3]);%a<"b">.append([2,3,4]);%a<"c">.append([3,4,5]);say gather %a.values.deepmap(*.take); 10:43
camelia (3 4 5 2 3 4 1 2 3)
MasterDuke m: my %a;%a<"a">.push([1,2,3]);%a<"b">.push([2,3,4]);%a<"c">.push([3,4,5]);say gather %a.values.deepmap(*.take); 10:44
camelia (3 4 5 1 2 3 2 3 4)
poohman hmmm let me try 10:50
thanks 10:51
10:51 xinming left 10:52 xinming joined 10:55 TheAthlete left 11:04 lichtkind joined 11:27 aborazmeh left 11:38 xinming left 11:39 xinming joined 11:40 MasterDuke left 11:41 Doc_Holliwood left, lichtkind_ joined
Xliff Given the following: 'require ::($_ = "GStreamer::Raw::Types");', how would I introspect the EXPORT table from GStreamer::Raw::Types 11:42
lizmat ::($_ ~ "::EXPORT::DEFAULT") ?? 11:48
11:49 sena_kun joined 11:50 Altai-man_ left 11:58 cyg0x7 left 12:21 kensanata left, wamba joined 12:34 dakkar left, dakkar joined 12:37 Doc_Holliwood joined
Xliff lizmat++: 'require ::($_ = "GStreamer::Raw::Subs"); ::($_ ~ "::EXPORT::DEFAULT").WHO.keys.say' 12:39
lizmat: Are you familiar with CompUnit::Util/
12:45 wamba left 12:50 hungrydonkey joined
holyghost I've just finished my second PhD thesis, I cannot give a hyperlink as my uni didn;t want to share too much. It was based on the Hawking Boltzmann models in p6-Game-Bayes on github 12:57
There's some code for it inthere 12:58
I am now going to bootstrap myself into other perl6 code and research, genetic algorithms, DNA evolution etc
12:58 melezhik joined
holyghost probably, but I need some rest now 12:59
chloekek Congrats! But why would they not want to share knowledge?
holyghost the Hawking Boltzmann model code is in the examples directory above
melezhik ŠŸŃ€ŠøŠ²ŠµŃ‚стŠ²ŃƒŃŽ! ŠÆ тŠ°Š¼ рŠµŃˆŠøŠ» ŠæрŠ¾Š±Š»ŠµŠ¼Ńƒ с alpine/whateverable
holyghost chloekek : further research 13:00
thank btw
holyghost is AFK 13:01
melezhik sorry, written in wrong place ... ((-; 13:02
13:02 poohman left
cpan-raku New module released to CPAN! Gnome::Gio (0.5.0.1) by 03MARTIMM 13:03
13:06 hungrydonkey left 13:09 hungrydonkey joined 13:11 Doc_Holliwood left, xinming left 13:12 xinming joined 13:13 hungrydonkey left 13:16 aborazmeh joined, aborazmeh left, aborazmeh joined 13:22 hungrydonkey joined
Geth_ doc: uzluisf++ created pull request #3316:
Index :api and add bit of documentation
13:35
13:36 hungrydonkey left
uzl[m] jmerelo: Could you take a look at this PR, github.com/perl6/Pod-To-HTML/pull/66 ? 13:38
tellable6 uzl[m], I'll pass your message to jmerelo
uzl[m] I wonder what's Jonathan Stowe's nick...
tobs uzl[m]: logs tell me it's 13:41
.seen RabidGravy
tellable6 tobs, I saw RabidGravy 2017-12-17T01:40:19Z in #perl6: <RabidGravy> that's perl6advent.wordpress.com/2017/12/...ier-title/ if you want to get in early
tobs or used to be, at one point. 13:42
timotimo RG hasn't been on the irc for a long while 13:43
but he does tweet
uzl[m] Thanks. Yeah, it looks like that...
AlexDaniel weekly: you can now easily test your module on various distros/rakudo versions using RakuDist, see repo.westus.cloudapp.azure.com/rakudist/ (perhaps it's not very user-friendly yet but your feedback will be appreciated!) 13:44
notable6 AlexDaniel, Noted! (weekly)
AlexDaniel melezhik: ā†‘ like this? :)
13:48 Altai-man_ joined 13:50 melezhik left 13:51 sena_kun left
Geth_ doc: 12fecf7fbf | (Tom Browder)++ (committed using GitHub Web editor) | doc/Language/syntax.pod6
Add examples of common errors

Show various errors with no digit after a radix point.
13:53
linkable6 Link: docs.raku.org/language/syntax
13:54 melezhik joined
melezhik >like this? 13:54
upss, sorry wrong place again ... 13:55
I wish my browsers irc client would be more intuitive ... (((=:
13:57 JulianLevens joined, poohman joined 14:00 kensanata joined 14:04 aborazmeh left 14:10 MasterDuke joined 14:15 hungrydonkey joined 14:24 hungryd47 joined, hungrydonkey left 14:53 Kaiepi left 14:56 xinming left 14:57 Ven`` joined, xinming joined 15:23 stoned75 left 15:25 lichtkind_ left, lichtkind left 15:26 srandon111 joined
srandon111 guys why people on perl 5 is so rude?? 15:26
15:27 Doc_Holliwood joined, wildtrees joined
AlexDaniel srandon111: There are a lot of nice people in perl5 community, maybe try again later? 15:28
srandon111: no community is perfect
srandon111 AlexDaniel, i just entered, and asked if perl5 was a dying language, and they accused me of troll and banned me 15:30
like i sent two messagess to be banned
i see that no community is perfect, but can't understand what's wrong with the admins of that channel
15:30 wamba joined
mst srandon111: because you did this on March 17 as well, were answered then, and then rejoined today and asked the exact same question 15:32
we answered it politely the first time
as such, I suggest you stop lying to #raku and either ask a relevant question or leave them in peace 15:33
Altreus mst is everywhere
mst and has a long memory and very good logs
15:33 hungryd47 left
Altreus Are you doing raku or just peacekeeping? 15:33
That sounded rude but was genuine
mst I've been playing around, not done anything serious, have helped out with e.g. getting raku to start using CPAN as a distribution mechanism 15:34
15:35 chloekek left
tadzik Brutal. Savage. Rekt. 15:36
Altreus I've been playing around by making myself responsible for something I'm underequipped to write
Basically I'm now that person who wrote code he's not smart enough to debug
mst I was *planning* some stuff involving the grammar engine, and in a couple months was going to sync up with the person on the raku side who properly understood what I was doing and was planning to help me figure it out 15:37
unfortunately for that plan, said person was DrForr
Altreus oh no :(
15:38 hungrydonkey joined
Altreus He was on the compiler team? 15:38
15:38 veesh_ joined, wildtrees left 15:39 wildtrees joined
mst he was doing a shitload of conversion of antlr grammars and we had some ideas about config file parsing and modification that we were going to work on 15:40
15:40 veesh left 15:41 veesh_ is now known as veesh
mst plus lizmat silently deleting all of her cpan modules in a fit of spite and thereby breaking various of my users' ability to install their dependencies makes me worry about writing hybrid perl5/raku code since I now know there's a raku core team member who's happy to fuck over the perl5 community without warning, and I'm not sure it's ethically acceptable for me to ask perl5 people to depend on her work a second time under the ... 15:45
... circumstances
lizmat refrains from commenting 15:46
15:46 wildtrees left
mst I've never had cpan installs suddenly break from deliberate sabotage like that except for Marc Lehmann before now 15:47
srandon111 mst, banning does not seem to me a valid reason for someone who asked the same question twice in a distance of a month 15:48
to be humble
i mean i didi not offend anyone or used any racist/sexist language or spammed 15:49
mst srandon111: your complaints about #perl opping are off topic for #raku, which is a different language with its own community. please desist.
lizmat srandon111: an irc channel like #perl is a bit of a football club canteen
15:49 sena_kun joined
srandon111 lizmat, i nticed that.... sorry for polluting the channel byye mst 15:50
lizmat srandon111: would you walk into a football club canteen asking if the team is losing ?
mst also, if it was a genuine mistake, you could've /msg-ed me
rather than join #freenode and saying < srandon111> it was the first time for me on the channel
which was provably untrue 15:51
15:51 Altai-man_ left
mst if you attempt to lie to the freenode staff about the problem rather than discussing it with the ops of the channel, nobody's going to believe you're operating in good faith 15:51
beyond that, I have no further comment.
Altreus: the fun part for me is going to be getting stuff to keep whitespace and etc. 15:54
since for obvious reasons PEG grammars tend to not bother because they don't need to
but I want to be able to modify configs while leaving them diffing nicely
Altreus I'm unfamiliar with the problem space but I suspect it is not the only one with whitespace concerns
15:59 Xliff left, wamba left 16:00 pmurias joined
pmurias mst: did you look at boomerang? 16:01
mst: I remember we talked at a YAPC about your config modifying tool
mst pmurias: er. which boomerang? 16:02
pmurias mst: programming language
mst: and boomerang allows writing bidirectional programs to extract and change some part of data/config file/etc.
mst oh, yes, that was kinda interesting 16:03
pmurias mst: en.wikipedia.org/wiki/Boomerang_(p..._language)
mst completely unaccessible to mortals, I suspect, but some fascinating theory
pmurias mst: on the flip side it's an ML dialect
lizmat Note: to encourage deletions, all of past CPAN glory is collected on history.perl.org/backpan/ # mst 16:04
mst lizmat: note: deleting the latest version of something that other cpan module are still depending on is still a deliberate choice to cause harm to downstream users
*I* know how to make things fall back to backpan, sure 16:05
that's hardly the point
Grinnz backpan is an archive, not a backup 16:06
AlexDaniel lizmat: fwiw I was somewhat angry when someone deleted their raku modules thinking that nobody is using them (there were multiple other modules that depended on them)
pmurias mst: I assume having to learn a new programming language with unusual ancestry at that is a major obstacle for just modifing a config file
AlexDaniel lizmat: if someone did this on purposeā€¦ >:E
mst especially given cpan has an ADOPTME tag for "this is unsupported by the original author, please adopt it if you want another release" 16:07
which would've been *fine* as a way to say "I withdraw from the community"
lizmat *all* of my modules had been tagged with ADOPTME for *years*
mst going scorched earth had unnecessary collateral damage
yeah, well, they were still working as upstream dependencies
lizmat *nobody* expressed any interest in them
and the only thing I got was flak
Grinnz we are toolchain, we always expect unexpected dependents 16:08
mst well, yeah, that's because you're a pretty decent programmer and they kept working
sena_kun feels like some random (likely) troll was attempting to start a flame and _somehow_ succeeded.
Grinnz sena_kun: kind of an unrelated discussion, i wouldn't blame the troll :P
mst if you'd talked to #toolchain, or andreas, or anybodt, we could've sorted something out
lizmat well, you could consider PAUSE not allowing an author to delete all versions of a module
Grinnz it could show a warning at least, yeah 16:09
lizmat but to this day, nothing has been done
sena_kun Grinnz, hard to prove if would or wouldn't if you ask me... But still wondering.
mst sena_kun: nah, this was following on from Altreus' question to me
lizmat mst: I was done talking to the Perl community
and still mostly am
cpan-raku New module released to CPAN! ArrayHash (1.0.0) by 03HANENKAMP 16:10
Grinnz goes to add github issue for pause so the idea is not lost
16:11 rbtca left
AlexDaniel moritz: btw github.com/moritz/perl6-all-modules šŸ‘isšŸ‘stillšŸ‘broken 16:11
mst lizmat: I don't consider users who've never spoken to you and as such are entirely unrelated to your throwing your toys out of the pram to be acceptable collateral damage
16:11 SCHAPiE left
lizmat mst: so *why* did you bring up this fact? 16:11
16:11 rbtca joined
lizmat was it pertinent to the conversation we had in here 16:11
or were you just waiting to throw this at me?
Altreus What happened to refraining from comment 16:12
lizmat Altreus: you're right
guifa mst: what grammar work were you doing? Iā€™m starting up some now to create a binary/object grammar, but will be trying to tightly integrate it with rakuā€™s
lizmat mst has the uncanny capability of pressing my buttons in the wrong way
Altreus well yes he's mst
mst it was pertinent because that, combined with your attempts to blackmail me into silence over other issues by threatening to cause further damage to the perl community, is a primary reason why I'm reluctant to recommend perl people try raku currently
moritz AlexDaniel: I know, have tried three times to fix it, but no luck :(
lizmat if I hadn't deleted all of my Perl modules yet, I would now be very close to doing it again
mst if you hadn't gone full Lehmann I wouldn't be nearly this annoyed 16:13
AlexDaniel moritz: what's the error that you're seeing? Maybe there's a quick fix of some sort
Altreus mst: perhaps we can move on for the sake of the public interest
lizmat goes afk to cool down&
mst guifa: like I say, config file definitions that understood indentation
AlexDaniel moritz: it's all done by this script? github.com/moritz/perl6-all-module...opulate.p6
moritz: or is there anything else?
moritz AlexDaniel: some errors from git subrepo
AlexDaniel: yes, all done by that script 16:14
AlexDaniel moritz: alright I'll take a look
moritz: can I have push access? 16:15
guifa okay, this is probably a totally random question and the answer is almost certainly no, but ā€¦Ā 
any chance 6.e will implement infixes ~<, ~> and prefix ~^ ? 16:16
mst guifa: /w 409
guifa doesnā€™t know if itā€™s pending a MoarVM update
mst bah, sorry
AlexDaniel guifa: to do what?
guifa: like, what's the proposed functionality of ~< and ~^ ? 16:17
moritz AlexDaniel: sure, invite sent
guifa AlexDaniel: they are buf bitwise ops
16:18 SCHAPiE joined
guifa ~< left shifts a buf, ~> right shifts, and ~^ flips it 16:18
16:18 natrys joined
guifa I can work around it but with massive perf penalties Iā€™m sure 16:18
16:18 hungrydonkey left
guifa (which isnā€™t a huge deal, Iā€™m still at the early implementation of Binex so performance isnā€™t a concern, but itā€™s something I noticed) 16:19
Altreus the ~ implies string but I don't know how to interpret left- and right-shift in string context
except to cycle the characters like a queue
16:20 hungrydonkey joined, Kaiepi joined
mst guifa: are those implementable yourself so you get the syntax etc 16:21
AlexDaniel Altreus: no, no more ops that work on Strs and Bufs, ~ was a mistake
mst guifa: and then you can present the profile to demonstrate it'd be a good ide?
yeah, a Str and a Buf should never ever be interchangeable
otherwise mojibake will ensue in the best case scenario 16:22
AlexDaniel Altreus: it sounded like a great idea but it falls appart pretty quick: docs.raku.org/language/traps#Using...t_of_blobs
guifa: file a ticket here asking for the functionality you need: github.com/Raku/problem-solving/is...amp;title= 16:23
guifa Altreus: on operators, a prefix + means bitwise operator, and prefix ~ means bufwise operator
AlexDaniel guifa: it won't happen as ops, but maybe as
guifa: *as methods on Buf/Blob
guifa AlexDaniel: itā€™s a defined operator, but the docs say ā€œnot implementedā€
AlexDaniel ā€¦ ohā€¦ 16:24
guifa +& = bitwise OR, ~& = bufwise OR
err AND
AlexDaniel no no no no noā€¦
:D
guifa +| and ~| for OR, +^ and ~^ for XOR
guifa grumbles about having to travel during the pandemic and is afk& 16:25
AlexDaniel mst: it's not so much about unicode strings breaking, we just can't have it with the type system 16:26
I mean, we can, but it's ugly and not useful 16:27
mst ah, ok
Altreus I think there was an explanation but I don't have the basis to understand it
I know how to apply operators bitwise but not bufwise 16:28
jnthn tbh, the [~] thing feels a bit weak for saying that we should inconvenience working with Bufs in general by not allowing operators on them. Not to mention that the trap is oddly specific; `my num @foo; my num $total = [+] @foo;` has the same issue. 16:31
mst pmurias: ah, I remember, boomerang is trying to do bidi text transforms ina very clever way but the central infospace doesn't really exist-as-such from my reading 16:32
pmurias: I really like the ideas but I don't *think* the sort of transforms I have in mind quite fit the model 16:33
I may be wrong though
possibly when I finally get a prototype of something you can look and tell me what you think I've screwed up
(because there's bound to be something ;)
AlexDaniel jnthn: it's cool to have ops for working with bufs, but why would we abuse the same Str ops for it
m: my num @foo; my num $total = [+] @foo; say $total 16:34
camelia 0
AlexDaniel jnthn: what issue btw?
you mean like 16:35
jnthn Huh, I thought that'd blow up 'cus the base value is 0?
Which is Int, not Num
AlexDaniel m: my @foo; my num $total = [+] @foo; say $total 16:36
camelia This type cannot unbox to a native number: P6opaque, Int
in block <unit> at <tmp> line 1
AlexDaniel this
I guess?
jnthn Wow, so, it's smart enough to look at the type on a native num array?
16:37 dakkar left
jnthn m: my @foo; dd [+] @foo 16:37
camelia 0
jnthn m: my num @foo; dd [+] @foo
camelia 0e0
jnthn m: my Num @foo; dd [+] @foo
camelia 0
AlexDaniel maybe [~] should learn that too then?
jnthn heh :) Not *that* smart
Yes, then you can do `my Blob @foo` and no trap any more :)
Well, if you type :P
There was a long discussion in the past about `~`, the conclusion of which was that blobs are stringy things also, and just like + is a Numeric op, ~ is a Stringy op 16:38
16:38 kensanata left
AlexDaniel m: my Blob @foo; dd [~] @foo 16:38
camelia ""
jnthn m: say Blob ~~ Stringy
camelia True
AlexDaniel moritz: O_o github.com/moritz/perl6-all-modules/pull/4 16:40
jnthn should make dinner; bbl 16:41
poohman hi all, quick question
m: [0..20].map(*.say) 16:42
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
poohman in my reply and application I get a True every time I map to a say function
why the extra True and what is the better way to do it? 16:43
AlexDaniel poohman: yep, .say returns True, so essentially you're mapping your values to True
a better way is to use a proper loop
m: .say for [0..20]
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
AlexDaniel m: for [0..20] { .say } 16:44
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
vrurg Or, if map is essential, then
m: say (0..20).map: { .say; $_ } 16:45
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20)
poohman Thanks AlexDaniel and vrurg
rypervenche m: .say for ^20 16:46
camelia 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
16:54 melezhik left
srandon111 lizmat, yes i see :D that thing about the football club 16:57
AlexDaniel jnthn: if it's so stringy why do we have subbuf instead of using substr 17:00
jnthn: a lot of stuff was discussed in the past, fortunately we have a better view of things now 17:02
ā€œ~ concatenates things as stringsā€ is a very simple behavior that didn't need to be complicated with ā€œā€¦ oh, and also it does this, and for these edge cases it does that!ā€ 17:03
17:03 hungrydonkey left 17:04 hungrydonkey joined, hungrydonkey left 17:12 pmurias left, Doc_Holliwood left 17:23 Tirifto joined 17:26 wamba joined
AlexDaniel m: loop { state $n = 0; put $n++; last if $n > 2; FIRST { put "Starting loop. \$n is n" } LAST { put "Finishing loop. \$n is n" } } 17:30
camelia 5===SORRY!5=== Error while compiling <tmp>
Strange text after block (missing semicolon or comma?)
at <tmp>:1
------> 3 FIRST { put "Starting loop. \$n is n" }7ā5 LAST { put "Finishing loop. \$n is n" }
expecting any of:
ā€¦
AlexDaniel m: loop { state $n = 0; put $n++; last if $n > 2; FIRST { put "Starting loop. \$n is n" }; LAST { put "Finishing loop. \$n is n" } } 17:31
camelia Starting loop. $n is n
0
1
2
Finishing loop. $n is n
AlexDaniel huh?
6c: gist.github.com/AlexDaniel/a6c6b1a...e4ede26b2c
committable6 AlexDaniel, gist.github.com/35720e1609f790954b...368a15feb8 17:32
AlexDaniel 6c: gist.github.com/AlexDaniel/3e08966...1fbdf493f3
committable6 AlexDaniel, gist.github.com/4514afe3f74294184a...00aac08219 17:33
17:37 melezhik joined 17:41 Maylay left 17:42 maggotbrain joined 17:48 Altai-man_ joined 17:51 sena_kun left 17:55 lichtkind joined 18:08 chloekek joined
chloekek Is it possible to interpolate multiple strings with metacharacters in them into a regex? 18:14
p6: my @s = <a b-c d>; say /<{@s}>/
camelia /<{@s}>/
chloekek p6: my @s = <a b-c d>; say ?/<{@s}>/ given ''; 18:15
camelia 5===SORRY!5===
Unrecognized regex metacharacter - (must be quoted to match literally)
at /home/camelia/EVAL_1:1
------> 3anon regex { b7ā5-c}
Malformed regex
at /home/camelia/EVAL_1:1
------> 3anon regex { b-7ā5c}
chloekek p6: my @s = <a b-c d>; say ?/$(@s)/ given ''; 18:16
camelia False
chloekek p6: my @s = <a b-c d>; say ?/$(@s)/ given 'b-c'; 18:17
camelia False
chloekek p6: my @s = <a b-c d>; say ?/@s/ given 'b-c';
camelia True
chloekek So I have to make this an @-variable, and it canā€™t be any list-returning expression?
p6: my %h = a => 1, b-c => 2, d => 3; say ?/@(%h.keys)/ given 'b-c'; 18:22
camelia True
chloekek Ah nice.
Iā€™ll update the docs. 18:23
Geth_ doc/@-interp-regex: 7f23a010fe | ChloƩ++ | doc/Language/regexes.pod6
Document @(code) interpolation in regex
18:30
doc: chloekek++ created pull request #3317:
Document @(code) interpolation in regex
18:31
18:35 cpan-raku left, cpan-raku joined, cpan-raku left, cpan-raku joined 18:53 wamba left, wamba joined 19:02 Tirifto left 19:07 chloekek left 19:21 CrtxReavr joined
CrtxReavr Yikes! 19:21
19:21 CrtxReavr left
AlexDaniel jnthn: and then also, ok you might get an Int when you expect a Str, not very awesome but you can relatively easily just call .Num on whatever you get 19:32
what do you do with a Str though
`|| Blob.new` to make sure you don't get it in the first place? 19:33
oops: ā€œwhen you expect a *Num*ā€ of course 19:35
and yeah `|| Blob.new` is what I wrote in the docs 19:36
cpan-raku New module released to CPAN! Date::Calendar::Gregorian (0.0.1) by 03JFORGET 19:37
19:43 vike left 19:48 natrys left 19:49 sena_kun joined
poohman m: $a="a ;b;c";@a=$a.split(";");say @a.elems 19:49
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '$a' is not declared
at <tmp>:1
------> 3<BOL>7ā5$a="a ;b;c";@a=$a.split(";");say @a.elem
poohman m:my $a="a ;b;c";my @a=$a.split(";");say @a.elems 19:50
evalable6 3
poohman m:my $a="a ;b;";my @a=$a.split(";");say @a.elems
evalable6 3
poohman m:my $a="a ;b;";my @a=$a.trim.split(";");say @a.elems
evalable6 3
19:51 Altai-man_ left
poohman m:my $a="a ;b;";my @a=$a.trim.split(";");say @a.elems;for @a {.say} 19:51
evalable6 3
a
b
19:54 molaf joined
poohman hello all, 19:57
m:my $a="a ;b;";my @a=$a.trim.split(";");say @a.elems;for @a {.say}
evalable6 3
a
b
AlexDaniel poohman: hi 19:58
poohman any way to ensure the 3rd element does not get considered
AlexDaniel m: my $a="a ;b;"; my @a=$a.trim.split(";", :skip-empty); say @a.elems; for @a {.say} 19:59
camelia 2
a
b
AlexDaniel m: my $a="a ;;b;"; my @a=$a.trim.split(";", :skip-empty); say @a.elems; for @a {.say}
camelia 2
a
b
poohman AlexDaniel: Thanks again 20:00
20:01 Ven`` left 20:12 pilne joined 20:26 zorgate joined, zorgate left 20:28 vike joined 20:33 patrickb joined
tbrowder .seen dwarring 20:37
tellable6 tbrowder, I saw dwarring 2018-08-03T19:34:39Z in #perl6: * dwarring HTML::Canvas really is bit-rotted
20:48 wamba left 20:55 wamba joined 21:11 rindolf left
tobs I'm looking at a recent docs PR and noticed the formulation Ā«Versioning, authorship, and API can be applied via the adverbs :ver<>, :auth<> and :api<>Ā». I'd like to ask around how you think about the use of the word "adverb" in that sentence. 21:24
It's something I've noticed a few times before, that literal colon pairs are referred to as adverbs, even when there is no verb they modify.
In this case, aren't they extended identifier syntax? 21:25
Maybe my understanding of adverb is too limited and this use is linguistically sound. But I would be reluctant to call something an adverb when it doesn't modify the behaviour of something sub-like. 21:26
21:32 vike left 21:33 poohman left 21:34 vike joined
uzl[m] tobs: "There is now a generalized adverbial form of Pair notation, also known as a "colon pair" form. The following table shows the correspondence to the "fatarrow" notation:" 21:44
design.raku.org/S02.html#Adverbial_Pair_forms
I think the reason you state makes sense but I'm not a linguist though. We might TimToady here ;-)! 21:45
*might need 21:47
21:48 Altai-man_ joined 21:51 sena_kun left
tobs uzl[m]: thanks, yes I see that they (along with a bunch of other stuff like :2<1110> number notation) are called adverbial forms. It doesn't quite dispel my doubts but synopses are a very good argument. 21:51
uzl[m] tobs: I go back to them more than I'd like to admit. šŸ˜‚ 21:53
21:55 patrickb left 21:58 lucasb joined
wildtrees[m] is there something like :t / :type from ghci/haskell in the raku repl for looking at type signatures of functions and methods? 22:13
22:21 hahainternet left 22:23 wamba left
timotimo many things have introspection methods 22:24
m: say &sqrt.raku
camelia proto sub sqrt ($, *%) {*}
timotimo m: say &sqrt.candidates.raku
camelia (multi sub sqrt (Numeric \x) { #`(Sub|49290128) ... }, multi sub sqrt (Cool \x) { #`(Sub|49290280) ... }, multi sub sqrt (num $a --> num) { #`(Sub+{Callable[num]}|49290432) ... })
uzl[m] m: .say for &sqrt.candidates>>.signature 22:25
camelia (Numeric \x)
(Cool \x)
(num $a --> num)
wildtrees[m] nifty, how about for a method? 22:26
timotimo method lookup is done with .^lookup or .^find_method
the difference is one will pun roles for you, the latter one
m: Str.^lookup("say") 22:27
camelia ( no output )
timotimo m: Str.^lookup("say").raku.say
camelia proto method say (Mu: |) {*}
wildtrees[m] ok thanks 22:30
22:30 __jrjsmrtn__ left
cpan-raku New module released to CPAN! Net::IP (2.1.1) by 03TBROWDER 22:31
uzl[m] m: say Str.^lookup('say').candidates>>.signature
camelia ((Mu: *%_))
uzl[m] m: say Str.^lookup('trim').candidates>>.signature
camelia ((Str:D: *%_ --> Str:D))
22:31 __jrjsmrtn__ joined 22:38 pecastro left 23:03 |oLa| joined
SmokeMachine I've being playing with the concept of monads... trying to understand it... and come up with this glot.io/snippets/fmaof6fik9 23:03
is there a better way of doing that? 23:04
I need to pass the type for Nothing... is there a better way of doing that?
wildtrees[m] say Method.^methods #the error messages from this aren't awesome in the repl 23:07
m: say Method.^methods #the error messages from this aren't awesome in the repl
camelia (gist BUILDALL raku The 'ForeignCode' class is a Rakudo-specific
implementation detail and has no serviceable parts inside The 'ForeignCode' class is a Rakudo-specific
implementation detail and has no serviceable parts inside package leave gist Thā€¦
23:08 |oLa| left 23:10 aborazmeh joined, aborazmeh left, aborazmeh joined
wildtrees[m] SmokeMachine: I am not sure what your bind actually does, maybe you shoud implement bind in terms of join and fmap? 23:17
SmokeMachine wildtrees[m]: yes, fmap! I think that's how bind should be called 23:18
wildtrees[m] :) 23:20
SmokeMachine wildtrees[m]: (sorry... I'm very new to this things...)
wildtrees[m] I was thinking about the Maybe monad in raku the other day, and was wondering if you could just use Nil for Nothing, cause any type can be nil, and was wondering about adding an optional chaining method call operator, I think swift has something like that , if it's nil the method operator just returns nil without running the method, not sure how to do it though, kinda new to raku 23:21
SmokeMachine wildtrees[m]: I'm trying to implement an ACCEPTS to make Nothing match any Maybe[Type]
wildtrees[m]: you mean chaining method call operator like? 23:23
23:23 telex left
wildtrees[m] yea but Nothing needs to have a type, and sometimes that is figured out via type inference, in languages that support it , maybe some sort of coercion here? 23:23
? already works??
SmokeMachine m: given 42 { say .is-prime; say .head; say .tail } 23:24
camelia False
42
42
SmokeMachine m: "yes".?say 23:25
camelia yes
wildtrees[m] m: %h = %() ; say %h{"none"}.trim #something so you can chain trim onto that oh like that :)
camelia 5===SORRY!5=== Error while compiling <tmp>
Variable '%h' is not declared
at <tmp>:1
------> 3<BOL>7ā5%h = %() ; say %h{"none"}.trim #somethin
wildtrees[m] m: my %h = %() ; say %h{"none"}.?trim 23:26
camelia Nil
wildtrees[m] yea like that :)
SmokeMachine m: class C { multi method ACCEPTS(42) {say "HERE"; True} }; sub a(--> C) { 42 }; a # should this work? 23:28
camelia Type check failed for return value; expected C but got Int (42)
in sub a at <tmp> line 1
in block <unit> at <tmp> line 1
SmokeMachine m: class C { multi method ACCEPTS(42) {say "HERE"; True} }; 42 ~~ C 23:29
camelia HERE
SmokeMachine m: class C { multi method ACCEPTS(42) {say "HERE"; True} }; say 42 ~~ C
camelia HERE
True
SmokeMachine doesn't the test for return value use ~~? 23:31
23:32 Xliff joined
Xliff If a role has a TWEAK, then another role composed on the same object with die... right? 23:32
I would think that a submethod in a role would run for all roles it is defined in.
Gotta re-jigger some code, now. :/ 23:33
If I want a piece to run every time a role is punned... how would that be accomplished? 23:35
23:37 lichtkind left 23:40 mowcat left 23:44 mowcat joined 23:46 mowcat left 23:49 sena_kun joined 23:51 Altai-man_ left 23:55 rbtca left 23:56 rbtca joined