»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'p6: say 3;' or /msg camelia p6: ... | irclog: irc.perl6.org or colabti.org/irclogger/irclogger_log/perl6 | UTF-8 is our friend! 🦋
Set by Zoffix on 25 July 2018.
Kaypie thanks Xliff 00:00
00:00 greppable6 joined, Kaypie left 00:03 lelf left
Xliff yw 00:04
That will actually work for any perl6 project, so... =)
00:38 kurahaupo left, kurahaupo joined 00:49 zachk left 00:57 kurahaupo left, kurahaupo_ joined 00:58 Kaiepi joined 01:01 stux|RC-only left 01:04 lucasb left 01:08 klapperl_ joined 01:10 klapperl left
ugexe bisectable6: say (1,2,3).any.Str.WHAT 01:20
bisectable6 ugexe, Bisecting by output (old=2015.12 new=d5044de) because on both starting points the exit code is 0
ugexe, bisect log: gist.github.com/eb6c41c80ab7ea31ba...6a18ba22c8 01:21
ugexe, (2017-08-27) github.com/rakudo/rakudo/commit/7c...2339f64ce6
ugexe lizmat: ^
this is sort of tied to the classify with a junction thing 01:22
01:23 molaf left, cpan-p6 left 01:24 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
ugexe m: my $j := any(1,2,3); my $hash := Hash[Int, Junction].new: $j => 42; say $hash.perl; say $hash{$j} 01:27
evalable6 (exit code 1) (my Int %{Junction} = (any(1, 2, 3)) => 42)
Type check failed in binding to parameter 'key'; expected Junction but got Int (1)
in block <unit> at /tmp/nVFPKY9x9c line 1
01:31 jeromelanteri joined, AlexDaniel left, kurahaupo_ left 01:32 AlexDaniel joined
ugexe bisectable6: my $j := any(1,2,3); my $hash := Hash[Int, Junction].new: $j => 42; say $hash{$j} 01:33
bisectable6 ugexe, Bisecting by output (old=2015.12 new=d5044de) because on both starting points the exit code is 1
Kaiepi Xliff, i'll be a little bit longer, i had to upgrade my os and am upgrading packages now
what is it you wanted me to do again?
bisectable6 ugexe, bisect log: gist.github.com/4b7b1c1217f95bd327...09addd5e74
ugexe, (2016-02-18) github.com/rakudo/rakudo/commit/99...4283b48d0a
01:35 molaf joined
ugexe m: my $j := any(1,2,3); my $hash := Hash[Int, Junction].new: $j => 42; say $hash.perl; say $hash.AT-KEY($j) 01:36
evalable6 (my Int %{Junction} = (any(1, 2, 3)) => 42)
42
ugexe then again maybe its impossible to have both the general %hash{1|2|3} to match up to 3 keys while also allowing for a typed hash to a match only a single key that consist of that junction 01:38
since it could also be a junction of junctions 01:39
fuck you junction of junctions
Kaiepi i asked earlier in #perl6-dev but i have a sum type package that's almost finished that subclasses Perl6::Metamodel::SubsetHOW. should i call it Type::Sum or Metamodel::SumHOW? 01:40
01:40 kurahaupo joined 01:45 kurahaupo_ joined 01:47 kurahaupo left 02:01 Kaiepi left, aindilis left 02:05 Kaiepi joined, jeromelanteri left 02:07 kent\n left, squashable6 left 02:08 kurahaupo_ left
Kaiepi Cannot locate native library '/home/morfent/.perl6/share/perl6/site/resources/088D535EA9C2EAB9857D294E19C785EEE166CFE9.so': Cannot load specified object 02:10
how do i find out which library this is from?
02:11 squashable6 joined, ChanServ sets mode: +v squashable6
ugexe zef locate 088D535EA9C2EAB9857D294E19C785EEE166CFE9.so --sha1 02:12
im not sure why that even works though
since it requires the .so *and* --sha1 02:13
m: run("zef","locate","A6385C8D3FC58E9CD0BFF898227CEFEDC28AFCC4.json","--sha1") 02:14
evalable6 (exit code 1) The spawned command 'zef' exited unsuccessfully (exit code: 1)
in block <unit> at /tmp/zAs9RZCKHC line 1
02:14 squashable6 left
ugexe ===> From Distribution: zef:ver<0.7.2>:auth<github:ugexe>:api<0> 02:15
resources/config.json => A6385C8D3FC58E9CD0BFF898227CEFEDC28AFCC4.json
02:16 Kaiepi left 02:17 squashable6 joined, ChanServ sets mode: +v squashable6 02:27 Kaiepi joined
Xliff Kaiepi: No worries. You can take your time. I just want other eyes on some codfe. 02:32
Kaiepi: I ported this: github.com/GNOME/pango/blob/master...otwisted.c 02:34
To this: github.com/Xliff/p6-Pango/blob/mas...-twisted.t
02:34 Kaiepi left
Xliff And can't get the text to render properly. 02:34
It's a large mouthful, for sure. So if you can help, do it when you can. No rush. 02:35
02:41 buffet joined, kurahaupo joined, buffet_ left 02:53 stux|RC-only joined 02:55 Kaiepi joined
Kaiepi . 03:01
Xliff ,
Kaiepi was checking if i had any tells
Xliff Yeah, I figured.
Kaiepi was on/off constantly because i was setting up my dac
finally supported by openbsd 6.5!
AlexDaniel what an interesting failure mode! Just executed a python script that had no proper shebang, and it started taking screenshots because `import` 03:02
Xliff Kaiepi: colabti.org/irclogger/irclogger_lo...-04-06#l73
AlexDaniel well… that goddamn library is not compatible with python3 anyway :S 03:03
03:05 araraloren joined 03:11 vrurg left 03:16 vrurg joined
Kaiepi Xliff, why aren't you calling $path.destroy before calling $c.fill(:preserve) like in the example? 03:21
Xliff Hmmm.... 03:24
Looking. 03:25
I am thinking that line got nixed because it broke the output in some way. 03:26
Or... calling destroy on the path caused a SEGV 03:27
Adding it back doesn't cause a SEGV so I guess that's been fixed since then. 03:30
Thanks for checking! ;)
03:30 Cabanossi left
Xliff Kaiepi: Yeah. It was a SEGV. If you uncomment the call to draw_twisted in draw_dream, any call to $path.destroy in draw_twisted will cause a double-free and a SEGV. 03:36
Uncommenting that line also makes the code run much slower. But it will try to draw the twisted text. Forgot to mention that. *sheepish grin* 03:37
Seance[m] Can anyone exlpain this error to me? 03:38
"Cannot negate % because multiplicative operators are not iffy enough"
03:39 Cabanossi joined
Seance[m] I wasn't able to google it :| 03:39
Xliff Seance[m]: Can you post some code?
Just guessing, but did you try and do something like !($a % $b) ? 03:40
m: say !(0 % 2)
evalable6 True
Seance[m] I changed to not test for negativity
here is the resulting line: $i + 2 % 2 ?? @placeholder[i] = operate(@placeholder[i]) !! proceed;
so i previously had $i + 1 !% 2 03:41
as the condition
there are other errors in that line I'm sorting too :P
i.e. precedence for ternary operator
Xliff m: !((0 + 1) % 2) ?? 2 !! 1 03:42
evalable6 WARNINGS for /tmp/SBh8AJp2oo:
Useless use of constant integer 2 in sink context (line 1)
Useless use of constant integer 1 in sink context (line 1)
Xliff m: my $a = !((0 + 1) % 2) ?? 2 !! 1; $a.say
evalable6 1
Xliff Seance[m]: Probably better written as: !(($i + 1) % 2) 03:43
Seance[m] ok
Xliff Or: (($i + 1) % 2).so.not
Seance[m] i was probably jumbling the precedence
Xliff m: say (5 !% 2) 03:44
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/D9BfnNAa4U
Cannot …
Xliff, Full output: gist.github.com/e8d08c82776869405e...a71afd9577
Seance[m] i love using ternary operators and just wrecking my code with them
Xliff Yeah. I think that is better written without the ternary since one condition isn't doing the same as the other.
Seance[m]: That is probably better written as: "proceed unless ($i + 2) % 2; @placeholder[$i] = operate(@placeholder[i]);" 03:47
Errr...
proceed unless ($i + 2) % 2; @placeholder[$i] = operate(@placeholder[$i]); 03:48
Seance[m] iirc proceed only works in given/when
Xliff
.oO( Even I forgot the $i! )
Seance[m] 'proceed without when clause'
AlexDaniel` Seance: basically, you can only negate operators that return Bool 03:50
Seance: and `%` is not one of them, did you mean `%%`?
Xliff Ah. I keep forgetting that. 03:51
m: say 5 %% 3; say 5 % 3;
evalable6 False
2
03:51 araraloren left
Xliff m: say 5 !%% 3; say 5 % 3; 03:51
evalable6 True
2
Xliff Seance[m]: ^^
03:51 araraloren joined
Seance[m] I was initially using the divisibility operator, then used modulo to work around my error, effectively triggering the exact opposite conditions I was intending 03:51
I thought 0 was false 03:52
and anything else was true
03:52 aborazmeh joined, aborazmeh left, aborazmeh joined
Xliff so your condition would be: ($i + 1) !%% 2 03:52
Seance[m] so if i used modulo and returned 0 it'd be false
Xliff Yes, but !% does not exist.
!%% does
Seance[m] ahhhhh, I see now
because modulo isn't boolean 03:53
derp
Xliff Yeah. I know that feeling. :D
04:09 Kaiepi left 04:12 abraxxa joined
Seance[m] I have a second question, I seem to be getting blank indices added to a positional when i call .split 04:14
04:15 stux|RC-only left
Seance[m] my @placeholder = $input.trim.split(""); 04:15
say @placeholder; 04:16
for @placeholder {say "current index is " ~ $_}
04:16 aborazmeh left 04:17 abraxxa left
Seance[m] sent a long message: < matrix.org/_matrix/media/v1/downlo...JQpuDcjluc > 04:17
04:19 andrzejku joined 04:20 abraxxa joined, abraxxa left 04:22 Kaiepi joined
Seance[m] sorry, just read the 'split' section in the docs 04:24
disregard
didn't remember the empty index at beginning an end in previous uses 04:25
there must be an obvious use for such a function that I don't understand 04:26
04:28 stux|RC-only joined 04:35 stux|RC-only left 04:40 Kaiepi left 04:47 Kaiepi joined
Xliff m: my %a = ( a => 1, b => 2 ); my %b = ( c=> 3, d => 4); %a.append(%b); %a.gist.sat 04:50
evalable6 (exit code 1) No such method 'sat' for invocant of type 'Str'. Did you mean any of these?
Rat
say

in block <unit> at /tmp/9BxWGLcRQW line 1
Xliff m: my %a = ( a => 1, b => 2 ); my %b = ( c=> 3, d => 4); %a.append(%b); %a.gist.say
evalable6 {a => 1, b => 2, c => 3, d => 4}
04:55 Kaiepi left 05:17 benjikun_ left 05:27 sauvin joined 05:30 aborazmeh joined, aborazmeh left, aborazmeh joined 05:39 Kaiepi joined 05:41 vrurg left 05:51 andrzejku left 05:53 Kaiepi left 06:00 aborazmeh left 06:01 aborazmeh joined, aborazmeh left, aborazmeh joined 06:06 jmerelo joined
jmerelo squashable6: status 06:06
squashable6 jmerelo, 🍕🍕 SQUASHathon is in progress! The end of the event in 1 day and ≈7 hours. See github.com/rakudo/rakudo/wiki/Mont...Squash-Day
jmerelo, Log and stats: gist.github.com/8b2df1943b354d6c96...922461e8b4
06:06 Kaiepi joined
Kaiepi ok i give up on setting up my dac 06:07
openbsd really doesn't like usb audio v2 using usb 3 and guess what all the ports on my laptop are!
anyways that means i can finally get around to taking a look at what's wrong Xliff 06:08
06:08 skyscout left
squashable6 Webhook for perl6-community-modules/perl6-http-server is now active! Keep it logically awesome. 06:11
06:12 hasuwiz joined
hasuwiz Good morning #Perl6! 06:12
moritz good morning hasuwiz
squashable6 Webhook for perl6/perl6-most-wanted is now active! Encourage flow. 06:13
jmerelo hey
Kaiepi morning hasuwiz 06:16
jmerelo Here are the instructions for today's squashathon: github.com/rakudo/rakudo/wiki/Squa...ed-modules
Kaiepi i made some issues on Net::Telnet, which is in the most wanted page, for this squashathon github.com/Kaiepi/p6-Net-Telnet/issues/ 06:20
some of them don't require knowledge of telnet's protocol
jmerelo Kaiepi: can you please add a hook? 06:21
Kaiepi where?
jmerelo Kaiepi: to the webhooks in your repo
Kaiepi: whateverable.6lang.org:4243/ , pass squashathonmostwanted format application/json 06:22
Kaiepi do i check send me everything or just push? 06:23
jmerelo Kaiepi: Everything, I guess. That includes issues, for instance. 06:24
AlexDaniel Kaiepi: hold on… 06:26
Kaiepi: squashathonmostwanted
ugexe I've implemented a polyglot Perl 5/6 levenshtein damerau algorithm: gist.github.com/ugexe/e2436e5685bb...2babfe3c15
jmerelo ugexe: wow
AlexDaniel Kaiepi: ah omg, it was already mentioned
AlexDaniel goes back to bed :)
squashable6 Webhook for Kaiepi/p6-Net-Telnet is now active! Approachable is better than simple. 06:27
AlexDaniel \o/
ugexe Juerd: ^^^... array access was harder than expected (resulting in that splice madness) 06:28
Geth perl6-most-wanted: 4663403a18 | (JJ Merelo)++ | README.md
Minor editing
06:29
squashable6 🍕🍕🍕 First contribution by JJ++! ♥
🍕 JJ++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480478784 06:30
jmerelo Kaiepi: added to the squashathon page: github.com/rakudo/rakudo/wiki/Squa...ed-modules 06:31
Kaiepi awesome 06:32
those issues are the main things preventing me from uploading it to cpan atm 06:33
06:50 jmerelo left
squashable6 🍕 Kaiepi++ opened issue “Debug logging should onl…”: github.com/Kaiepi/p6-Net-Telnet/issues/12 06:52
🍕🍕🍕 First contribution by Kaiepi++! ♥
🍕 Kaiepi++ labeled issue “Debug logging should onl…” (good first issue): github.com/Kaiepi/p6-Net-Telnet/issues/12
discord6 <Tyler (Aearnus)> how do you require that a certain role is only implemented on objects which implement another role? 07:13
<Tyler (Aearnus)> e.x. i only want REPL objects to be able to do FileWatch 07:14
Kaiepi where's the perl6 discord? i'm more active there than on irc
07:15 molaf left
discord6 <Tyler (Aearnus)> Kaiepi: discord.gg/gg2a3T6 07:15
07:15 molaf joined 07:16 molaf left 07:29 netrino joined 07:32 domidumont joined 07:41 patrickb joined
discord6 <Tyler (Aearnus)> hey all, i finished the new perl6 repl I was working on. it's past feature parity with the default repl when used with rlwrap. it supports loading files and interacting directly with them. example here: asciinema.org/a/d4ThnRboPC7i0C01RgoOKn1h2 07:43
<Tyler (Aearnus)> (i accidentally end the video with a ^D instead of a ^C causing it to vomit a little bit -- but i just fixed that) 07:44
07:44 rtw_ joined 07:47 rtw_ left 07:49 ChoHag left 07:54 rindolf joined 08:00 ChoHag joined 08:05 aborazmeh left, sena_kun joined
patrickb tadzik: I have made some extensive changes in rakudobrew. They are backwards incompatible (wrt to `rakudobrew self-upgrade`) and can't be automatically post-upgrade-repaired. 08:08
tadzik: What do you think would be a good way forward? 08:09
I thought about creating a new repository in a newly created project also called rakudobrew and just start afresh there...
08:28 atweiden-air joined
tadzik patrickb: where can I see the changes? 08:31
patrickb github.com/patzim/rakudobrew 08:32
New features: PATH-modification mode as alterantive to shim based mode, bash commandline completion, new folder structure, split of rakudobrew into several files. 08:34
I still plan to implement a command to register an external rakudo build so it can be switched to using rakudobrew 08:35
atweiden-air anyone been able to install rakudo-2019.03 system-wide on linux lately? 08:43
`No writeable path found, /pkgbuilds/rakudo/pkg/rakudo/usr/share/perl6 not writeable in block <unit> at tools/build/install-core-dist.p6 line 28` 08:44
have `mkdir -p "$pkgdir/usr/share/perl6"`, and postop the path exists with multiple subdirs 08:45
no idea why, but this seems only broken on archlinux; voidlinux is fine
08:47 oftl left
patrickb nine, ugexe: ^ # Those two might have an idea. 08:51
tadzik patrickb: I see you implemented you own slurp() and spurt(); may I interest you in a core module, Path::Tiny? :) 09:04
and damn, that's a lot of changes indeed :) 09:05
squashable6 🍕 bduggan++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480488356 09:09
🍕🍕🍕 First contribution by bduggan++! ♥
09:10 japh left
patrickb tadzik: If I remember correctly you were the one implementing slurp() and spurt() in rakudobrew a long time ago. Path::Tiny looks promising. :-) 09:14
tadzik patrickb: could be! Maybe I didn't know about it then :) 09:15
I work with plenty of my old code and always sigh at the sight of File::Slurp these days
ooh, it's actually not a core module 09:16
that explains it :)
then yeah, fair enough having it reimplemented there
patrickb Well it is possible to just copy it hard. 09:17
Not sure it's worth it though... 09:18
What's bad about File::Slurp if I may ask? 09:19
tyil is there a way with DB::Pg to execute an SQL file? I'm trying to use $pg.query($file.slurp);, but this gives me an error that I cannot insert multiple commands into a prepared statement :< 09:20
patrickb tadzik: Ah I actually use FIle::Slurper most of the time. That superseded File::Slurp as well.
tyil (I was able to run a sql file in a similar fashion with DBIish, but iirc DB::Pg was better if you wanted to work with multithreading)
09:31 powerbit joined, aindilis joined 09:35 nevack joined 09:36 oftl joined
nevack Hi, may i ask you to help me with this one-liner? pastebin.com/wX3d8RPv Task is to say what value f(x) -> ? when x -> Inf 09:38
09:39 molaf joined
hahainternet nevack: it'd be polite to un-golf the sample before asking for generic help 09:40
nevack hahainternet: how can i do this? is there any tool? 09:42
09:45 gng joined
sena_kun nevack, first write it in long, but easy to understand form ("ungolfed"), and get it working right. once it works, you can make it shorter and shorter ("to golf"). 09:53
nevack sena_kun: ok, thanks. Also i need to optimise this, cause it works too long for x = 30, but i need x -> Inf. 09:57
patrickb tadzik: So what do you think would be a good way forward? 09:58
The basic incompatibility is that I moved the installations to a sub directory. Since all builds up to very recently are not relocatable, it's not possible to just move them over. 09:59
squashable6 🍕 Altai-man++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480491431
10:04 nevack left 10:05 aindilis` joined 10:06 aindilis left 10:07 pmurias_ left 10:13 gng left
Kaiepi m: say %*ENV<$ORIGIN> 10:17
evalable6 (Any)
10:18 squashable6 left 10:19 araraloren left, cpan-p6 left, araraloren joined 10:20 cpan-p6 joined, cpan-p6 left, cpan-p6 joined 10:22 rindolf left 10:23 squashable6 joined 10:27 aindilis` left 10:28 aindilis joined 10:30 AlexDaniel left 10:33 pistacch_ left 10:34 pistacchio joined 10:35 fatguy joined
fatguy what is the use case of using submethod TWEAK, looks like i can do all in BUILD ? 10:36
lizmat TWEAK is called *after* the object is already completely built 10:43
so you can use the normal initialization features and then tweak them to your liking
timotimo also, having a submethod BUILD will override everything else in that class, like default values for your attributes 10:45
fatguy so looks like the common use case is using TWEAK rather than BUILD ? i still can't think of the use case when to use BUILD and TWEAK, can you help by example or point me to right direction 10:49
lizmat nowadays, using TWEAK is probably the best way to go 10:50
fatguy ok, thanks @lizmat, @timotimo for the advice 10:51
10:58 aindilis left 10:59 aindilis joined 11:04 netrino left 11:11 ravenousmoose joined
cpan-p6 New module released to CPAN! Archive::Libarchive::Raw (0.0.9) by 03FRITH 11:20
11:21 awwaiid joined 11:24 pmurias joined 11:31 molaf left, samcv_ is now known as samcv 11:33 squashable6 left 11:35 squashable6 joined 11:39 molaf joined 11:45 Black_Ribbon left 11:49 MidCheck joined 11:50 pmurias left 11:52 ravenousmoose left 11:56 rindolf joined 12:00 fatguy left 12:01 pmurias joined 12:09 molaf left 12:12 vsss left 12:14 pmurias left 12:34 nevack joined 12:35 nevack left 12:38 atweiden-air left 12:42 araraloren left, araraloren_ joined 12:46 domidumont left 12:56 netrino joined 12:58 ctilmes1 joined
ctilmes1 tyil: You can do multiple statements (not queries to get results) with DB::Pg.execute 13:00
tyil: $pg.execute('insert into foo values (42); insert into foo values(57)');
tyil: also no placeholders/arguments
13:01 ctilmes1 left, cpan-p6 left 13:03 cpan-p6 joined, cpan-p6 left, cpan-p6 joined
Juerd ugexe: It's interesting how the 5/6 polyglots look like 5 from a distance, not 6. 13:07
ugexe: And it's painful that in this example, 6 takes 10 times as long :( 13:08
13:10 rindolf left 13:11 ufobat__ joined
jnthn Juerd: I'm looking through the log here but don't see the code in question; link? :) 13:11
Juerd jnthn: gist.github.com/ugexe/e2436e5685bb...2babfe3c15 13:12
13:14 ufobat_ left 13:15 MilkmanDan left, MilkmanDan joined 13:18 nevack joined 13:24 rtw_ joined 13:25 sena_kun left 13:26 rtw_ left
tyil ctilmes: ah, thanks! 13:27
it's all stand-alone scripts to create the database, so I don't need to pass in arguments from the Perl side of things 13:28
13:31 rtw_ joined 13:33 rtw_ left 13:37 ChoHag left 13:43 lucasb joined 13:44 rindolf joined 13:45 pmurias joined 13:50 pmurias left 13:51 pmurias joined 13:52 sena_kun joined 13:56 ChoHag joined 13:59 random_yanek left 14:00 hasuwiz left, hasuwiz joined, zakharyas joined 14:08 vrurg joined 14:11 random_yanek joined
guifa just realized that module names can have single apostrophes. That seems … like it could be abused haha 14:11
Or identifiers in general wow
14:12 MilkmanDan left
sena_kun m: class Isn'tItFun {}; say Isn'tItFun.new; 14:14
evalable6 Isn'tItFun.new
sena_kun m: class Isn'tItF'un {}; say Isn'tItF'un.new; 14:15
evalable6 Isn'tItF'un.new
lizmat m: my don't = True; say $don't
evalable6 (exit code 1) 04===SORRY!04===
Type 'don't' is not declared
at /tmp/XXutiBWS…
lizmat, Full output: gist.github.com/7b657e131956dd70df...a5e1c5c3b2
lizmat m: my $don't = True; say $don't 14:16
evalable6 True
guifa Kinda makes me happy though because Ge’ez is best spelt with an apostrophe 14:17
14:17 MilkmanDan joined
guifa m: my $’ = 9; say $’ 14:19
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/eIczGsfGZ8
Name mu…
guifa, Full output: gist.github.com/22a14ceb07162c7775...547eb69452
14:25 AlexDaniel joined
ugexe Perl 5 has allowed ‘ in package names as the separator since forever 14:29
mst it's somewhat deprecated but used for jokes a fair bit 14:31
squashable6 🍕 Xliff++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480508857 14:33
🍕🍕🍕 First contribution by Xliff++! ♥
🍕 JJ++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480509046 14:35
14:39 zakharyas left
squashable6 🍕 alabamenhu++ wrote a comment on “Add Intl-CLDR”: github.com/perl6/ecosystem/pull/44...-480509572 14:43
🍕🍕🍕 First contribution by alabamenhu++! ♥
🍕 JJ++ wrote a comment on “Add Intl-CLDR”: github.com/perl6/ecosystem/pull/44...-480509639 14:44
🍕 taboege++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480509868 14:47
🍕🍕🍕 First contribution by taboege++! ♥
14:54 lgtaube left 14:59 jeromelanteri joined
ugexe Juerd: changing it to use the perl6 built in min/max is 10s slower than the polymin/polymax 15:06
15:07 pmurias left 15:09 lgtaube joined, MidCheck left
squashable6 🍕 AlexDaniel++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480511719 15:11
15:16 squashable6 left 15:19 squashable6 joined 15:26 mowcat joined, mowcat left 15:27 mowcat joined 15:29 molaf joined
guifa In case anyone were desperately wanting them, I just added roman and ge’ez numerals to Intl::CLDR :-) 15:44
15:46 MidCheck joined
Geth mu: dc4d901a94 | (JJ Merelo)++ | examples/functional/monads.p6
Arregla los tests
15:59
16:05 molaf left, jeromelanteri left 16:07 clarkema joined
Juerd ugexe: Built-in is slower than the weird sub? Whoa. 16:20
16:23 stux|RC-only joined 16:27 vrurg left 16:29 |oLa| joined 16:34 ctilmes_ joined 16:36 ChoHag left 16:38 ctilmes left
MasterDuke huh, just tried to --profile ugexe's most recent polyglot and the OOM killer got it 16:50
16:50 ctilmes_ left, ctilmes joined 16:52 ChoHag joined
ugexe github.com/ugexe/Acme--Polyglot--L...n--Damerau 16:56
installable / testable Perl5/6 polyglot distribution :facemelt:
[zef install | cpanm] github.com/ugexe/Acme--Polyglot--L...amerau.git 16:57
the secret export sauce is string interpolation 16:58
"{gist(&GLOBAL::Acme::Polyglot::Levenshtein::Damerau::dld = &dld)}";
16:58 pmurias joined
timotimo that's certainly impressive 16:59
AlexDaniel weekly: colabti.org/irclogger/irclogger_lo...04-06#l473
notable6 AlexDaniel, Noted!
guifa Wow
ugexe couldnt find a nice way to do `"0" and plan(5) or plan(tests => 5);` as single plan ala `plan("0" and ...)` 17:12
MasterDuke heh, finally got a profile by reducing the number of iterations in the benchmark to 20. this is the number of interpreted frames: -0.14% (-25,746) 17:13
huh. reify-until-lazy at SETTING::List:99 had 113k entries, and 112k de-opt ones and 112k OSRs 17:15
ugexe fwiw a more idiomatic perl6 version (use native types) runs in 4.5s instead of 12s github.com/ugexe/Perl6-Text--Leven...amerau.pm6 17:21
but is otherwise the same algorithm 17:23
timotimo i can just plop that at the beginning of the benchmark to compare, yeah? 17:25
oh, i see MD already put it into the profiler 17:26
that's an odd result for sure
ugexe no, i plopped the benchmarking loop into the module noted above and ran it via `perl6 lib/Text/Levenshtein/Damerau.pm6` 17:28
it doesn't otherwise have the proper full namespace
well it might work if you just plop it in there 17:29
i dunno how it'll work with an existing &dld and importing another &dld
MasterDuke ugexe: if you're interested in string difference algorithms, have you seen my implementation of Sift4? it runs that benchmark in ~0.3s compared to ~7s for lev-dam 17:30
using your lev-dam from github, not the polyglot versino 17:31
ugexe i think the transposition is what dominates performance (if i remember correctly from implementing the non-damerau variant). but i needed the additional accuracy of transposition scores since i was working with lots of shorter works (mostly names) 17:33
MasterDuke i first came across sift4 because my usecase didn't need the exactness of lev, but did need to be faster 17:35
sift4 obviously makes different tradeoffs 17:36
AlexDaniel MasterDuke: yeah but that's using nqp ops? 17:40
and you have to multiply that by 13 if you can't use nqp ops, right? 17:41
( github.com/MasterDuke17/Text-Diff-...6c61e4a772 )
MasterDuke would be interesting to revert that and see how much slower the original version is now 17:42
17:44 andrzejku joined
ugexe you could release a `nqp` module to cpan -- Not Quite Polyglot` -- to get you most of the way to a polyglot version 17:46
17:46 araraloren_ left, mowcat left
ugexe kinda like the butterfly project in reverse 17:48
MasterDuke oooo, it's only about twice as slow now. ~0.8s instead of ~0.3s 17:53
AlexDaniel MasterDuke: wait what, 0.3s with nqp ops and 0.8s without? 17:55
17:57 domidumont joined
MasterDuke AlexDaniel: yep 17:57
AlexDaniel still unacceptable but pretty cool 17:59
17:59 ravenousmoose joined
squashable6 🍕 bduggan++ wrote a comment on “Most wanted, 2019 edition”: github.com/perl6/perl6-most-wanted...-480524583 18:00
Woodi 0.8s with start up ? 18:02
MasterDuke yeah, just using `time` on the command line 18:03
AlexDaniel ah… well…
18:03 vrurg joined
AlexDaniel m: say (0.8 - .5) / (0.3 - .5) 18:04
evalable6 -1.5
AlexDaniel m: say (0.8 - .15) / (0.3 - .15)
evalable6 4.333333
18:05 vrurg left 18:06 vrurg joined
MasterDuke Deopt one requested by JIT in frame 'reify-until-lazy' (cuid '5076') (108 -> 120) Failed to find deopt index for offset 108 Completed deopt_one in 'reify-until-lazy' (cuid '5076') with potential uninlining 18:07
that doesn't seem to say why the deopt one was requested? 18:08
18:10 zachk joined 18:11 zachk left 18:12 zachk joined, zachk left, zachk joined
MasterDuke jnthn, timotimo: ^^^ ? 18:14
timotimo does it ever? 18:23
MasterDuke dunno. i turned on the deopt log to get that output. any way to tell why? 18:25
timotimo with GDB and a bit of fiddling
exposing more info about deopts is on the menu for my profiler grant. it's a bit hairy, though
18:29 MidCheck left, ravenousmoose left 18:31 hasuwiz left, amfabasti joined 18:38 otulp joined 18:39 andrzejku left 18:49 vrurg left, agentzh left, domidumont left 18:50 dgl joined 18:51 agentzh joined, agentzh left, agentzh joined 18:54 dgl left 19:03 vrurg joined 19:06 nevack left 19:13 zakharyas joined 19:15 Black_Ribbon joined 19:17 vrurg left 19:19 TreyHarris left, vrurg joined 19:21 vrurg left
Kaiepi perl 6 needs an equivalent to n or nvm on node 19:21
something that allows you to install multiple versions of perl 6 and switch between them whenever
19:21 vrurg joined 19:24 vrurg left
lizmat Kaiepi: have you looked at rakudobrew? 19:25
19:25 vrurg joined
Kaiepi rakudobrew isn't quite what i'm looking for 19:29
sjn Kaiepi: maybe p6env then? github.com/skaji/p6env 19:31
19:33 TreyHarris joined
Kaiepi that's more like it 19:33
thanks
sjn yw 19:34
19:39 andrzejku joined 19:41 kybr_ is now known as kybr 19:42 lucasb left 19:53 clarkema left
ugexe hmmm, PAUSE will treat any tar.gz with a META6.json as perl 6 (even if I dont put it in the perl 6 folder) so it wont be visible on e.g. metacpan.org 19:58
cpan-p6 New module released to CPAN! Acme::Polyglot::Levenshtein::Damerau (0.1) by 03UGEXE 19:59
Geth perl6-most-wanted: 32f59771c2 | (Tom Browder)++ (committed using GitHub Web editor) | most-wanted/bindings.md
my most desired at the momen
20:00
squashable6 🍕🍕🍕 First contribution by tbrowder++! ♥
20:20 andrzejku left 20:21 clarkema joined, lichtkind joined
lichtkind does someone know if alread can ==> and >> implicitly parallel? 20:22
thanks 20:23
lizmat neither one is currently 20:24
20:29 kurahaupo_ joined 20:33 kurahaupo left 20:36 vrurg left 20:37 domidumont joined, domidumont left
lichtkind thank you liz 20:47
lizmat++
lizmat all good at the low lands? 20:48
20:50 molaf joined
discord6 <Bearhug> Hey everyone, just learning Perl6. I don't seem to see a difference between Z+ and <<+>> other than the hyper operator generates an Array and Z returns a Seq, is there anything else? 21:02
timotimo yes, Z+ will stop at the shorter sequence when both aren't the same length 21:07
whereas <<+>> will extend the shorter one by repeating it from the beginning
and >>+<< will throw an exception when they aren't the same length
on top of that, Z is lazy, i.e. works fine with infinite sequences, but hyper-operators are eager (in fact, hyper is past eager on the lazy-eager scale) 21:08
discord6 <Bearhug> I see, very similar but the differences are in the details. Thanks :) 21:10
timotimo yup! :)
discord6 <timotimo> feel free to ask loads of questions 21:17
21:17 molaf left 21:37 MidCheck joined 21:41 zakharyas left, kent\n joined 21:43 ayerhart joined 21:47 vrurg joined 21:54 clarkema left
Xliff m: say (1, 2, 3) Z+ (2, 3, 4) 22:03
evalable6 (3 5 7)
Xliff m: say (1, 2, 3) Z (2, 3, 4)
evalable6 ((1 2) (2 3) (3 4)) 22:04
Xliff m: say (1, 2, 3) Z- (2, 3, 4)
evalable6 (-1 -1 -1)
Xliff m: say (1, 2, 3) Z* (2, 3, 4)
evalable6 (2 6 12)
Xliff m: say (1, 2, 3) Z/ (2, 3, 4)
evalable6 (0.5 0.666667 0.75)
Xliff m: say (1, 2, 3) «+» 2
evalable6 (3 4 5)
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; @b.map(/^{ @a }/).gist.say 22:09
evalable6 (exit code 1) No such method '!cursor_start' for invocant of type 'Str'
in block <unit> at /tmp/XPGczLUcbs line 1
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; @b.map(* ~~ /^{ @a }/).gist.say
evalable6 (「」 「」 「」)
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; @b.grep( /^{ @a }/ ).gist.say
evalable6 (lions tigers bears)
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; @b.grep( * ~~ /^{ @a }/ ).gist.say
evalable6 (lions tigers bears)
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; say @b[1] ~~ /^ { @a }/ 22:10
evalable6 「」
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; say @b[2] ~~ /^ { @a }/
evalable6 「」
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; say @b[2] ~~ /^ "@a"/
evalable6 Nil
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; say @b[2] ~~ /^ @a/
evalable6 「b」
Xliff m: my @a = <a b c>; my @b = <lions tigers bears>; say @b[1] ~~ /^ @a/ 22:11
evalable6 Nil
Xliff m: my @a = <li be>; my @b = <lions tigers bears>; say @b[1] ~~ /^ @a/
evalable6 Nil
Xliff m: my @a = <li be>; my @b = <lions tigers bears>; say @b[0, 1] ~~ /^ @a/
evalable6 「li」
Xliff m: my @a = <li be>; my @b = <lions tigers bears>; say @b ~~ /^ @a/
evalable6 「li」
Xliff m: my @a = <li be>; my @b = <lions tigers bears>; say @b[2] ~~ /^ @a/
evalable6 「be」
Xliff Sorry for the evalable spam, but no one seems to be talking soo.....
m: my @a = <li be>; my @b = <lions tigers bears>; say @b[2] ~~ s/^ (@a)/{ $0.uc }/ 22:17
evalable6 「be」
0 => 「be」
Xliff m: my @a = <li be>; my @b = <lions tigers bears>; say @b[2] ~~ s/^ (@a)/{ $0.uc }/; say @b[2]
evalable6 「be」
0 => 「be」
BEars
22:35 nekomune left 22:36 nekomune joined 22:39 hamhu3 joined
Geth docker: jstuder-gh++ created pull request #24:
Update Rakudo Star version to 2019.03
22:39
22:41 nekomune left, nekomune joined 22:43 sena_kun left
AlexDaniel Xliff: just fyi, perlbot can answer private messages 22:52
r: say 42
perlbot AlexDaniel: 42␤
22:53 cpan-p6 left 22:54 nekomune left, nekomune joined, cpan-p6 joined, cpan-p6 left, cpan-p6 joined 23:02 rindolf left 23:03 patrickb left, quester joined 23:04 Sgeo__ joined
Xliff AlexDaniel: OK. I tried evalable, but he was too shy. 23:06
23:06 TreyHarris left, Xliff left 23:07 Sgeo_ left 23:20 quester left, quester joined 23:24 vike left 23:26 vike joined 23:27 pmurias left 23:34 AlexDani` joined 23:35 AlexDaniel left 23:37 quester left 23:38 quester joined 23:39 AlexDani` left 23:41 quester left, quester joined 23:46 quester left, MidCheck left 23:47 quester joined 23:54 kurahaupo_ left, kurahaupo joined