»ö« 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
|