Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2017-07-22

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 skids joined #perl6
00:05 mcmillhj joined #perl6
00:05 goofy joined #perl6
00:10 mcmillhj joined #perl6
00:13 b2gills joined #perl6
00:18 bpmedley joined #perl6
00:19 bpmedley left #perl6
00:20 mcmillhj joined #perl6
00:21 Geth ¦ doc: 75658435b2 | (Will "Coke" Coleda)++ | xt/space-after-comma.t
00:21 Geth ¦ doc: Another file causing trouble
00:21 Geth ¦ doc:
00:21 Geth ¦ doc: Part of #1414
00:21 Geth ¦ doc: review: https://github.com/perl6/doc/commit/75658435b2
00:21 Geth ¦ doc: ac744523f8 | (Will "Coke" Coleda)++ | doc/Language/traps.pod6
00:21 Geth ¦ doc: no trailing whitespace
00:21 Geth ¦ doc: review: https://github.com/perl6/doc/commit/ac744523f8
00:29 cdg joined #perl6
00:31 mcmillhj joined #perl6
00:43 mcmillhj joined #perl6
00:46 BenGoldberg joined #perl6
00:46 deep-book-gk_ joined #perl6
00:47 deep-book-gk_ left #perl6
00:54 mcmillhj joined #perl6
00:54 mspo joined #perl6
01:04 mcmillhj joined #perl6
01:09 mcmillhj joined #perl6
01:12 Cabanossi joined #perl6
01:20 mcmillhj joined #perl6
01:31 mcmillhj joined #perl6
01:37 Geth ¦ whateverable: d2cd30b0cb | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
01:37 Geth ¦ whateverable: Fix issues with )
01:37 Geth ¦ whateverable:
01:37 Geth ¦ whateverable: It was an ugly hack and now it is an ugly hack that works.
01:37 Geth ¦ whateverable:
01:37 Geth ¦ whateverable: Resolves issue #142
01:37 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/d2cd30b0cb
01:41 cdg joined #perl6
01:48 ilbot3 joined #perl6
01:48 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
01:50 alexi5__ joined #perl6
02:06 noganex joined #perl6
02:09 Geth ¦ whateverable: 1e3d0c8fe7 | (Aleks-Daniel Jakimenko-Aleksejev)++ | Unicodable.p6
02:09 Geth ¦ whateverable: Add unicodable limits
02:09 Geth ¦ whateverable:
02:09 Geth ¦ whateverable: Resolves issue #139.
02:09 Geth ¦ whateverable:
02:09 Geth ¦ whateverable: Ideally we want to have a global limit for gist size, but the thing
02:09 Geth ¦ whateverable: with unicodable is that it *has* to bail out early.
02:09 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/1e3d0c8fe7
02:15 eyck joined #perl6
02:16 mr-foobar joined #perl6
02:26 gdonald joined #perl6
02:42 Cabanossi joined #perl6
03:00 cdg joined #perl6
03:07 cdg joined #perl6
03:22 goofy Hello, I'm having a problem install IO::Socket::SSL on Windows 10 Rakudo Star version 2017.04.3.
03:22 goofy I've traced it to the OpenSSL package test 02-socket. It is trying to connect to google.com on port 443 using IO::Socket::INET.new(:$host, :port(443)).
03:22 goofy From the REPL: IO::Socket::INET.new(host => 'www.google.com', port => 443)  Failed to connect: connection timed out
03:22 goofy However: IO::Socket::INET.new(host => 'stackoverflow.com', port => 443) connects just fine
03:23 goofy More importantly, I was wanting to experiment with GTK and its build process gets the dll's from https://gtk-dlls.p6c.org/ which requires the above.
03:24 goofy BTW... I'm very new to Perl so I may be doing something entirely wrong
03:25 MasterDuke goofy: are you using zef to install IO::S::SSL?
03:25 goofy Yes
03:25 MasterDuke i think you can pass --/test to the install command to skip tests
03:26 goofy I tried that and it does install. However, when I try to install GTK::Simple. GTK::Simple fails for the same reason.
03:26 goofy And GTK::Simple will not build without downloading the dll files from https://gtk-dlls.p6c.org/
03:28 MasterDuke i haven't installed GTK::Simple, so take this with a grain of salt, but you may be able to just clone it manually, download the dlls manually, and the do a 'zef install .' from its directory
03:29 goofy I will give it a try. Thanks for the tip.
03:29 MasterDuke assuming it checks whether the dlls are already present or not before trying to download them
03:31 Zoffix goofy: and don't forget to report this problem on the appropriate repo so the author could fix it
03:31 Zoffix buggable: eco IO::Socket::SSL
03:31 buggable Zoffix, IO::Socket::SSL 'IO::Socket::SSL for Perl 6 using OpenSSL': https://github.com/sergot/io-socket-ssl
03:31 Zoffix buggable: eco GTK::Simple
03:31 buggable Zoffix, GTK::Simple 'Simple GTK 3 binding using NativeCall': https://github.com/perl6/gtk-simple 2 other matching results: https://modules.perl6.org/#q=GTK%3A%3ASimple
03:36 goofy HA I've never reported a bug before... or even used github for that matter. This will be interesting.
03:37 Zoffix There's a first time for everything :) But if you don't report it, then likely the next person to try what you're trying will have the same problem
03:39 goofy From what I can tell, the issue is with IO::Socket::INET and not GTK::Simple.  GTK::Simple just happens to use IO::Socket::INET which causes it to fail. So do I report this in both or just IO::Socket::INET?
03:40 Cabanossi joined #perl6
03:45 goofy MasterDuke: Downloading the dependant dlls manually worked. A quick test GTK app worked as expected! Thank you.
03:45 Zoffix goofy: IO::Socket::INET is a core class. If there's a failure with it you can report it like all the other Rakudo bugs, by emailing to rakudobug@perl.org
03:46 Zoffix And include what Rakudo version you got ( perl6 -v )
03:47 goofy Zoffix: Thank you for the information.
03:49 Zoffix Any time.
03:54 cdg joined #perl6
03:58 Zoffix Check it out. The most expensive toilet on the planet :) https://www.google.com/maps/@29.5603465,-95.0853519,3a,75y,300.3h,85.9t/data=!3m7!1e1!3m5!1sH344uAn0-24AAAQvxgbyDw!2e0!3e5!7i10000!8i5000
03:58 Zoffix .. or near it :)
04:00 mcmillhj joined #perl6
04:02 TEttinger Zoffix: I dunno, Trump Tower has solid gold ones
04:03 Zoffix According to Trump? :)
04:03 cdg joined #perl6
04:04 TEttinger is it something that would be out of character?
04:05 Zoffix According to a price for a solid-gold toilet in Chine, it's $5m, but the ISS toilet is evidently $19m, so it's still winning, by a lot
04:09 TEttinger haha indeed
04:09 TEttinger too much winning
04:10 Cabanossi joined #perl6
04:11 mcmillhj joined #perl6
04:12 zengargoyle hythm: IIRC the buffer is used only at the end when it's faster to just linear search through the last N KB of data in memory rather than seeking back and forth to narrow it down.
04:13 goofy Zoffix: Just a quick follow up. I think it is IPv6 related. If I disable IPv6 on the ethernet adapter, it works just fine. If I re-enable it, it breaks. Possibly something on my end? although other software and dev environments work normally.
04:13 zengargoyle hythm: Search::Dict is pretty much a port of the p5 module of the same name (IIRC).  when benchmarking i never found where the buffer-size helped vs p6 IO at the time.
04:16 zengargoyle hythm: so it does binary search for a while, seek and readline, then when it's down to less than buffer-size between low and high it just searches that last bit in one go.
04:16 Zoffix goofy: it might be a bug in IO::Socket::INET. It still needs a lot of love. I'd suggest reporting it; if it turns out to be not a bug, then no harm done, but if it is, then we can fix it.
04:18 * Zoffix goes to bed
04:18 Zoffix \o
04:20 zengargoyle hythm: i meant you could maybe use the binary search algo from Search::Dict to find your start-time.  i don't see how you could actually use Search::Dict as-is.  it only matches against *whole* lines.
04:21 zengargoyle (and probably only works on ascii data and would barf on unicode when it seeks into the middle of a character...)
04:21 mcmillhj joined #perl6
04:52 ugexe /buffer 4
05:16 cdg joined #perl6
05:25 Cabanossi joined #perl6
05:29 alexi5_ joined #perl6
05:31 Guest90987 joined #perl6
05:34 setty1 joined #perl6
05:35 cpage_ joined #perl6
05:55 zoll left #perl6
05:57 ufobat joined #perl6
06:06 moritz masak: https://metafluff.com/2017/07/21/i-am-a-tab-hoarder/ :-)
06:40 gdonald joined #perl6
06:56 domidumont joined #perl6
07:03 domidumont joined #perl6
07:11 wamba joined #perl6
07:46 araraloren_ joined #perl6
08:01 Cabanossi joined #perl6
08:03 darutoko joined #perl6
08:16 Actualeyes left #perl6
08:29 mcmillhj joined #perl6
08:41 Cabanossi joined #perl6
08:49 rindolf joined #perl6
08:51 parv joined #perl6
09:03 parvx joined #perl6
09:09 TimToady joined #perl6
09:26 nadim joined #perl6
09:27 AlexDaniel joined #perl6
09:36 pmurias joined #perl6
09:38 cgfbee joined #perl6
09:50 Miro_ joined #perl6
09:51 alexi5__ joined #perl6
09:56 leah2 joined #perl6
10:03 dct joined #perl6
10:04 AlexDaniel ∞×≤…«π✓✗ RT…
10:04 AlexDaniel “Message body is not shown because it is too large.”
10:05 AlexDaniel and so your only option is to download it as html
10:14 araraloren joined #perl6
10:17 hankache joined #perl6
10:18 gfldex joined #perl6
10:22 El_Che joined #perl6
10:37 moritz I've made some small progress regarding the IRC log encoding issues
10:38 moritz if I retrieve the data without 'set names utf8' or similar, they come to Perl 5 land as encoded UTF-8 strings (bytes)
10:39 moritz (at least for data written before the upgrade)
10:42 alexi5 joined #perl6
10:45 Cabanossi joined #perl6
10:46 alexi5_ joined #perl6
10:51 hankache_ joined #perl6
10:51 SCHAPiE joined #perl6
11:15 gdonald joined #perl6
11:19 tbrowder hi #perl6, is anyone else having travis failures before getting to one's own module? my jobs keep failing on test::deeply::relaxed
11:38 lizmat joined #perl6
11:46 Cabanossi joined #perl6
11:49 tbrowder can anyone please show me a .travis.yml file that works in the current environment?
11:52 moritz lol I blogged: https://perlgeek.de/blog-en/perl-6/2017-018-perl6-fundamentals-available-for-purchase.html
11:52 araraloren joined #perl6
12:04 jnthn moritz++ # yay \o/
12:04 araraloren tbrowder, you can try my travis config : https://github.com/araraloren/perl6-getopt-advance/blob/master/.travis.yml
12:12 tbrowder araraloren: thanks!
12:14 lizmat moritz++  # cool blog post, quote and book!
12:16 Cabanossi joined #perl6
12:30 lizmat joined #perl6
12:32 alexi5 joined #perl6
12:38 lucasb joined #perl6
12:44 lucasb That Larry Wall quote from the foreword is inspiring! Very nice.
12:44 lucasb congratulations for your book, moritz
12:55 moritz thanks jnthn, lucasb and lizmat!
12:58 araraloren What book ?
12:59 moritz araraloren: https://perlgeek.de/blog-en/perl-6/2017-018-perl6-fundamentals-available-for-purchase.html
13:00 moritz please retweet https://twitter.com/nogoodnickleft/status/888729231143956481 to spread the word
13:00 moritz I've also updated https://perl6book.com/
13:01 Cabanossi joined #perl6
13:01 araraloren moritz, thanks
13:01 El_Che moritz: done. Cheers!
13:02 araraloren Hmm sorry, I have no twitter.
13:02 moritz El_Che: thanks
13:02 moritz araraloren: no worries
13:03 moritz on a completely unrelated topic, I remember that there was some pretty compact geo coding scheme, with just a few (maybe 5 or 6) alphanumerics for each location
13:04 moritz does anybody know what I'm talking about, by chance, and know the name?
13:04 moritz my goolge-fu is too weak for this one
13:08 MasterDuke moritz: maybe http://www.movable-type.co.uk/scripts/geohash.html or mapcode.com ?
13:09 MasterDuke i think geohash is name of the concept
13:10 moritz MasterDuke: ah, thanks!
13:12 masak moritz: congrats on the book! <3
13:13 * masak doesn't know why he wrote "<3" when Unicode Is Your Friend: "♥"
13:14 masak um... under what conditions is a lib/ directory with a .precomp/ directory created for me when I run a Perl 6 script? :/
13:15 masak fortunately, I already have .precomp directories git-ignored, so it doesn't show up. but I was still surprised to find a lib/ that I hadn't myself created...
13:15 moritz masak: thanks
13:16 jnthn Odd, maybe it's a side-effect of `use lib` or -Ilib or some such?
13:16 moritz masak: re precomp, I think on first execution of a script that loads the module; maybe related to whether other locations are writable to you
13:16 jnthn moritz: Yeah, I think masak is saying there isn't a module and wasn't a lib directory at all before though
13:17 masak jnthn: the only thing I `use` in that script is Test.pm6
13:17 jnthn Hm, odd
13:18 masak but when I try to reproduce that in a script somewhere else, that's not enough. still looking.
13:18 jnthn And if you delete it and run the script again it comes back?
13:18 jnthn Do you have a PERL6LIB in your env?
13:19 masak oh!
13:19 masak I do!
13:19 masak good deduction
13:19 masak if I delete it and run again, it comes back, yes
13:19 masak it does not seem to be created in an env without PERL6LIB set
13:20 jnthn So, mystery solved-ish :)
13:21 masak ...and I had PERL6LIB set to 'lib', essentially a relative path
13:21 masak but in this case I was in a subdirectory, which did not have a lib/
13:21 ufobat joined #perl6
13:21 masak I guess it's debatable whether perl6 should ever create the PERL6LIB path if it's not there
13:22 masak I would prefer it didn't, even if that meant no caching ;)
13:22 jnthn I guess what it really wants is the .precomp folder there, and it creates it up-front, possibly because it avoids a bunch of existence checks down the road.
13:22 jnthn But I don't know the code's current form well enough to make a judgement on that :)
13:24 jnthn I've a slight preference for it not to create it also, though. And it's possible it's more accident than design.
13:30 nadim joined #perl6
13:46 nine I happen to know the author of that code somewhat well enough to claim that it's probably by accident
13:48 nine Well it just tries to create the .precomp directory but our mkdir is really an mkpath.
13:49 * nine never was really a fan of that and would have liked to see an explicit mkpath method in addition instead
13:49 Geth ¦ whateverable: 2f65612f41 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
13:49 Geth ¦ whateverable: Fix tests after 69cad472319a47943c712baa0cc5a500160f081e
13:49 Geth ¦ whateverable:
13:49 Geth ¦ whateverable: These tests were incorrect.
13:49 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/2f65612f41
13:49 Geth ¦ whateverable: 3326b57c1e | (Aleks-Daniel Jakimenko-Aleksejev)++ | Whateverable.pm6
13:49 Geth ¦ whateverable: Link files in “Original exception”
13:49 Geth ¦ whateverable:
13:49 Geth ¦ whateverable: Some exceptions contain “Original exception:” part which is indented a
13:49 Geth ¦ whateverable: little bit more. Maybe we should allow any amount of leading
13:49 Geth ¦ whateverable: whitespace, but for now this will do.
13:49 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/3326b57c1e
13:49 Geth ¦ whateverable: e8aac916cc | (Aleks-Daniel Jakimenko-Aleksejev)++ | 8 files
13:49 Geth ¦ whateverable: If you want to change the world…
13:50 Geth ¦ whateverable:
13:50 Geth ¦ whateverable: … stop changing your current directory.
13:50 Geth ¦ whateverable:
13:50 Geth ¦ whateverable: Resolves issue #90.
13:50 Geth ¦ whateverable:
13:50 Geth ¦ whateverable: I did not unchdirify build.p6 because I am so scared to break it.
13:50 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/e8aac916cc
13:51 moritz for more news about the IRC log encoding issues, please join #ilbot
13:53 andreoss joined #perl6
13:53 lizmat joined #perl6
13:53 andreoss m: sub use(Perl $p) { $p }; use $*PERL or die;
13:53 camelia rakudo-moar 752a32: ( no output )
13:54 andreoss m: sub use(Perl $p) { $p }; use Perl or die;
13:54 camelia rakudo-moar 752a32: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Undeclared routine:␤    or used at line 1␤␤»
13:54 nine I think the best fix would be to check the existence of FileSystem repositories and not even add them to the $*REPO chain if they don't exist. This way we'll use a different PrecompilationStore and would still get caching of precomp files.
14:01 nine And yes, that should be restricted to FileSystem repos, as you'd e.g. want the ~/.perl6 repo be created for you
14:02 andreoss m: sub use(Perl:U $p) { say $p.new }; use(Perl) or die;
14:02 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:03 andreoss there's no way to lose the parentesis?
14:03 andreoss what is `use` essentialy?
14:03 Zoffix A sub
14:04 Zoffix and also a module loading pragma
14:05 Zoffix m: sub uze(Perl:U $p) { say $p.new }; uze Perl or die;
14:05 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:05 Zoffix m: sub utilize(Perl:U $p) { say $p.new }; utilize Perl or die;
14:05 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:05 Zoffix :)
14:05 AlexDaniel m: sub use(Perl:U $p) { say $p.new }; \use Perl or die
14:05 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:05 Zoffix AlexDaniel++
14:06 Zoffix buggable: eco if
14:06 buggable Zoffix, if 'conditionally use packages': https://github.com/FROGGS/p6-if 36 other matching results: https://modules.perl6.org/#q=if
14:07 Zoffix andreoss: if you want the `use` really really hard. You could use the unofficial and unsupported slang interface to modify what `use` module loading pragma does and do it a sub instead. ^ that module has an example of how to do that
14:09 andreoss m: sub use(Perl:U $p) { say $p.new }; use $*PERL.WHAT or die;
14:09 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:09 andreoss so close
14:09 lizmat joined #perl6
14:12 Zoffix it sees '$' isn't part of module name and so goes for your sub
14:12 mr-foobar joined #perl6
14:14 domidumont joined #perl6
14:14 andreoss left #perl6
14:15 AlexDaniel m: sub üse(Perl:U $p) { say $p.new }; üse Perl or die;
14:15 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:21 AlexDaniel m: sub verwenden(Perl:U $p) { say $p.new }; verwenden Perl or die;
14:21 camelia rakudo-moar 752a32: OUTPUT: «Perl 6 (6.c)␤»
14:22 AlexDaniel I mean, I'd much rather use some other name than try to force “use” to work as a sub…
14:24 AlexDaniel m: sub o:o { say ‘hello’ }; o:o
14:24 camelia rakudo-moar 752a32: OUTPUT: «hello␤»
14:24 AlexDaniel hm, interesting. I thought it wasn't so easy to use : in sub names
14:30 tbrowder now i'm getting travis test errors with not finding module META6!! what am i doing wrong?
14:31 AlexDaniel I love this page: https://thelackthereof.org/Perl6_Colons
14:36 Zoffix hehe
14:37 Zoffix Who runs it?
14:38 Zoffix I'd have 2 contributions
14:38 Zoffix Oh, spotted one. OK, 1 contribution
14:38 Zoffix Oh, spotted one. OK, 0 contributions
14:38 Zoffix Oh, spotted one. OK, -1 contributions
14:41 AlexDaniel Zoffix: awwaiid++ does
14:41 AlexDaniel Zoffix: but you can edit the page yourself, it's a wiki
14:44 mr-fooba_ joined #perl6
14:45 Zoffix Ah
14:48 Aaronepower joined #perl6
14:48 AlexDaniel m: say (:?foo) # foo => False
14:48 camelia rakudo-moar fb7ecb: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Bogus statement␤at <tmp>:1␤------> 3say (:7⏏5?foo) # foo => False␤    expecting any of:␤        colon pair␤»
14:49 AlexDaniel why is this not working?
14:49 Aaronepower Hello, what is the recommended way to share perl6 snippets here?
14:50 AlexDaniel Aaronepower: github gists work fine, but you can also use gitlab and bitbucket snippets if you want to
14:52 Skarsnik joined #perl6
14:53 AlexDaniel ok RT #131781
14:53 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131781
14:53 Aaronepower Can anyone explain to me this "expecting any of: colon pair" in a string error? https://gist.github.com/Aaronepower/8b6d7e565a23977f18a9f2efe20994f3
14:54 AlexDaniel m: say "{25 + 5}"
14:54 camelia rakudo-moar fb7ecb: OUTPUT: «30␤»
14:54 Aaronepower I tried escaping the colon, but apparently that just made the compiler more confused.
14:55 AlexDaniel m: say qq[{25 + 5}];
14:55 camelia rakudo-moar fb7ecb: OUTPUT: «30␤»
14:55 AlexDaniel m: say qq:!c[{25 + 5}];
14:55 camelia rakudo-moar fb7ecb: OUTPUT: «{25 + 5}␤»
14:56 AlexDaniel Aaronepower: try qq:!c and see if it helps
14:56 Aaronepower What does that do?
14:56 AlexDaniel Aaronepower: {} in double quotes are understood as code blocks
14:56 Aaronepower AlexDaniel: Ah!
14:56 Aaronepower AlexDaniel: Yep, that worked thanks!
14:57 AlexDaniel Aaronepower: and :c tells it if this should happen or not. By default it's on it double quotes (or qq)
14:57 AlexDaniel in*
14:58 AlexDaniel Aaronepower: here is the part of the docs that is relevant: https://docs.perl6.org/language/quoting#Literal_strings:_Q
15:00 AlexDaniel Aaronepower: there's also a documented trap that you might be interested in: https://docs.perl6.org/language/traps#Quotes_and_interpolation
15:00 Cabanossi joined #perl6
15:01 Aaronepower AlexDaniel: Thank you. Also how do you remove all whitespace from a string?
15:02 AlexDaniel m: say ‘ hello   world  ’.trans(/\s/ => ‘’)
15:02 camelia rakudo-moar fb7ecb: OUTPUT: «helloworld␤»
15:02 AlexDaniel Aaronepower: something like this? ↑
15:02 AlexDaniel m: say ‘ hello   world  ’.subst(:g, /\s/, ‘’)
15:02 camelia rakudo-moar fb7ecb: OUTPUT: «helloworld␤»
15:02 Aaronepower AlexDaniel: Why do you those style of quotes?
15:03 AlexDaniel Aaronepower: you don't have to. You can use '' or ""
15:03 AlexDaniel Aaronepower: I prefer them because I can nest them, and I find them easier to read
15:03 AlexDaniel m: say “hello “world””
15:03 camelia rakudo-moar fb7ecb: OUTPUT: «hello “world”␤»
15:03 AlexDaniel m: say ‘also no need to escape ‘don't’ :)’
15:03 camelia rakudo-moar fb7ecb: OUTPUT: «also no need to escape ‘don't’ :)␤»
15:04 Aaronepower AlexDaniel: I was just wondering they actually had different semantics than the standard.
15:04 AlexDaniel Aaronepower: relevant docs: https://docs.perl6.org/language/unicode_texas
15:05 * Zoffix is -1 on :?
15:05 Zoffix Pointlessly making an already complex feature more complex
15:05 AlexDaniel Zoffix: no, it's making it consistent
15:05 AlexDaniel m: say ?25
15:05 camelia rakudo-moar fb7ecb: OUTPUT: «True␤»
15:05 AlexDaniel m: say !25
15:05 camelia rakudo-moar fb7ecb: OUTPUT: «False␤»
15:05 Zoffix But :! is not a colon followed by an operator. It's actual syntax
15:06 silug joined #perl6
15:06 AlexDaniel this doesn't really matter
15:06 Zoffix By that logic :+42foo should work too
15:06 AlexDaniel not really?
15:06 Zoffix And we might need an extra syntax in the future, so why waste it on something useless
15:06 AlexDaniel oh gosh…
15:07 Zoffix oh gosh what?
15:08 AlexDaniel :?foo will never be used for anything else because it is natural to assume that it gives you a * => True pair
15:08 AlexDaniel in fact, I almost edited the page being completely sure that it does work
15:08 AlexDaniel and then decided to try it, surprise-surprise!
15:09 Zoffix If you're going to suggest we need to lock in :?foo syntax for pointless feature because :!foo looks like a prefix ! op and we have ? prefix op too, I don't understand why you don't think :+42foo or :-42foo shouldn't work, since we have + and - prefix ops
15:10 AlexDaniel because ! gives me falsy things, and normally I can use ? to mean the opposite
15:10 AlexDaniel it's not so much about “prefix”
15:10 AlexDaniel ops*
15:10 Zoffix - gives me negative things, and normally I can use + to mean the opposite
15:11 AlexDaniel Zoffix: sure. Are there any places where + doesn't work like you expect when - does?
15:12 Zoffix AlexDaniel: nope. Just like ? works any place where I expect ! to work.
15:12 AlexDaniel except :?foo
15:13 AlexDaniel unless you don't expect :!foo to work, but that's a whole different thing :)
15:13 Zoffix AlexDaniel: it's not a ! in :!foo. It's ":!". By your logic it should be possible to write ?? !! as !! ?? to mean the inverse
15:13 Zoffix Colon pairs are probably the most complex syntax feature of the language. Expanding it even further for zero practical benefit is just stupid.
15:13 * Zoffix &
15:14 AlexDaniel heh, that's an interesting take on !! ?? :)
15:16 sebk joined #perl6
15:18 BenGoldberg joined #perl6
15:22 zakharyas joined #perl6
15:25 AlexDaniel Zoffix: as masak++ has once put it: “"strangely consistent" is all about using loose connections people have in their brains, so that a feature feels syntactically vaguely right for various reasons. your proposal does the opposite.”
15:26 AlexDaniel that's probably exactly what I wanted to say instead of the gibberish I produced :)
15:31 SmokeMachine Is anyone having problem installing Test::META?
15:33 awwaiid Zoffix: I had one or two edits from my talk that I never made
15:33 awwaiid But now I can't remember them offhand
15:34 AlexDaniel just watch the talk? :) It's like 5 minutes, isn't it?
15:35 SmokeMachine https://www.irccloud.com/pastebin/xksx5UIk
15:35 awwaiid yeah. technically I also have my slides :)
15:37 SmokeMachine m: https://travis-ci.org/FCO/6pm
15:37 camelia rakudo-moar fb7ecb: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>␤Confused␤at <tmp>:1␤------> 3https:7⏏5//travis-ci.org/FCO/6pm␤    expecting any of:␤        colon pair␤»
15:37 SmokeMachine https://travis-ci.org/FCO/6pm
15:38 konsolebox joined #perl6
15:42 konsolebox joined #perl6
15:43 Zoffix SmokeMachine: I think ugexe++ mentioned something failury about one of the JSON::* modules it depends on.
15:44 Zoffix If Test::META is busted, then boy... I guess lots of ecosystem is busted too.
15:45 Zoffix SmokeMachine: yeah, IIRC it's the :ver() thing that's busting it up.
15:46 SmokeMachine yes, but its META6:ver() required by Test::META
15:48 gdonald joined #perl6
15:49 wamba joined #perl6
15:51 ufobat joined #perl6
15:52 SmokeMachine https://www.irccloud.com/pastebin/lCSGWdCO/
15:58 Zoffix SmokeMachine: yes, as I've said, the declared :ver() in the module is problematic
15:58 Zoffix SmokeMachine: https://irclog.perlgeek.de/perl6-toolchain/2017-07-22#i_14906393
15:59 ugexe he accepted PRs on two other modules, so feel free to send PRs for others
15:59 ugexe basically just s/"..*"/"+"/
16:01 ugexe m: say v1.0..*; say Version.new("1.0..*"); # otherwise who knows what you'll get
16:01 camelia rakudo-moar fb7ecb: OUTPUT: «v1.0..Inf␤v1.0.*␤»
16:02 ugexe m: say Version.new(v1.0..*)
16:02 camelia rakudo-moar fb7ecb: OUTPUT: «v1.0.*␤»
16:02 awwaiid Colon page slightly updated, but turns out there were only clarifications no new colons
16:05 zakharyas joined #perl6
16:11 eater hmmm, can I give my grammar state? I have a certain match that will decide the length of a different match, how do I do that? while still being able to stay inside the grammar
16:12 cdg joined #perl6
16:12 lizmat joined #perl6
16:15 gfldex joined #perl6
16:15 moritz eater: you can assign to dynamic variables within the grammar, for example
16:16 moritz eater: and then use that in a <?{...}> assertion again
16:17 eater <?{ ... }> ?
16:17 moritz eater: search for ':my $*' in https://github.com/rakudo/rakudo/blob/nom/src/Perl6/Grammar.nqp and then further occurrences of these variables
16:17 moritz code assertions
16:17 eater moritz: those are not documentated afaik :o
16:17 moritz hey, that's a good topic I could talk about in my grammar book
16:18 eater \o/
16:18 moritz https://leanpub.com/perl6regex talks about <?{ ... }> assertions already
16:21 arnsholt In a nutshell <?{ CODE }> is a zero-width assertion that succeeds if CODE returns a true value, and fails if not
16:24 eater moritz: :') I am not allowed read that part w/o paying and I don't have the moeny, sorry :')))
16:25 eater arnsholt: that's pretty cool
16:26 El_Che moritz: with that many books out and in the pipeline, you can set a moritz booth at yapc-eu
16:26 eater altho that means if I want to have it set a length limit that it needs to be executed as many times as the length is?
16:28 moritz El_Che: two books hardly justify a booth :-)
16:28 moritz El_Che: and as I know lizmat++, she'll likely have a copy of my book at TPC if it ships early enough
16:29 lizmat yes, we'll order a bunch this weekend  :-)
16:30 moritz \o/
16:33 mr_ron joined #perl6
16:37 eater oh damn
16:37 eater I found the solution :)
16:38 eater m: say "please dont cut me off" ~~ /. ** { say "I am being run."; 1..4 }/
16:38 camelia rakudo-moar fb7ecb: OUTPUT: «I am being run.␤「plea」␤»
16:38 eater only executed once but control over length :)
16:38 eater thanks moritz and arnsholt
16:44 khw joined #perl6
16:45 El_Che moritz: you can have books and prospect leaflets for the future ones
16:45 El_Che :)
16:53 AlexDaniel eater: what do you mean by “once”?
16:53 Ven joined #perl6
16:53 lizmat joined #perl6
16:54 eater AlexDaniel: moritz suggested using <?{ ... }> but would mean that would get executed over every character if I wanted to specify length, which is not optimal
16:54 eater with the code I just showed, I can immeditially give the wanted length
16:54 AlexDaniel right
16:55 AlexDaniel well… I don't know…
16:56 eater AlexDaniel: how do you mean?
16:57 AlexDaniel eater: “once” is a very strong claim :)
16:57 AlexDaniel m: say ‘ooo’ ~~ /‘o’? \w ** { say ‘hello’; 3..4 }/
16:57 camelia rakudo-moar fb7ecb: OUTPUT: «hello␤hello␤「ooo」␤»
16:57 AlexDaniel m: say ‘ooo’ ~~ /‘o’? \w ** { say ‘once, right?’; 3..4 }/
16:57 camelia rakudo-moar fb7ecb: OUTPUT: «once, right?␤once, right?␤「ooo」␤»
16:58 eater haha
16:58 AlexDaniel eater: in practice, it will be once most of the time, but not quite always :)
16:59 eater yeah, true, but it will still be less then 255+ times, which was more my point :)
17:00 AlexDaniel eater: okay then, sure. That being said, I remember myself doing crazy stuff assuming things are only done once, and then being proven wrong later :)
17:00 Cabanossi joined #perl6
17:01 AlexDaniel case in point: RT #130117
17:01 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130117
17:02 AlexDaniel m: say ‘abcz’ ~~ /:r [‘a’ || ‘abc’ ] {say ‘once?’} ‘z’ /
17:02 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤「abcz」␤»
17:03 * AlexDaniel is no longer sure that it's a bug
17:06 eater the docs say that :r forces LTM??? https://docs.perl6.org/language/regexes#Ratchet
17:06 * zengargoyle totally re-jiggered my Time::Spec::at grammar to avoid having some grammar bits fire multiple times
17:07 AlexDaniel eater: no, simply tells it not to backtrack
17:07 AlexDaniel eater: if you're using | then LTM is already implied
17:08 zengargoyle probably my fault for starting with the BNF? grammar in the .y file w/o trying to re-write it into more grammar-ish from the start.
17:09 AlexDaniel but it seems that backtracking is defined as something that happens across regexes/tokens, so inside one regex it is allowed even with :r
17:10 AlexDaniel hm, or maybe not
17:10 AlexDaniel m: say ‘oooo’ ~~ /:r ‘o’ ** 3..4 ‘o’/
17:10 camelia rakudo-moar fb7ecb: OUTPUT: «Nil␤»
17:10 AlexDaniel okay, now I'm convinced again that it *is* a bug
17:10 AlexDaniel (RT #130117 I mean)
17:10 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=130117
17:11 zengargoyle m: say ‘oooo’ ~~ /:r ‘o’ **? 3..4 ‘o’/
17:11 camelia rakudo-moar fb7ecb: OUTPUT: «「oooo」␤»
17:12 zengargoyle AlexDaniel: ^^ greedyness
17:13 AlexDaniel m: say ‘oooo’ ~~ /:r ‘o’ **? 2..4 {say ‘once?’} ‘o’$/
17:13 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤「oooo」␤»
17:13 AlexDaniel zengargoyle: ok, now I don't know again
17:13 zengargoyle :)
17:13 dotness joined #perl6
17:14 AlexDaniel m: say ‘oooo’ ~~ /:r ‘o’ **? 2..4 <?{say ‘once?’; True}> ‘o’$/
17:14 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤「oooo」␤»
17:14 AlexDaniel it's very aggressive about it
17:14 zengargoyle but it's not backtracking, it's still going forward from the 'oo' first match.
17:15 zengargoyle it's only backtracking if it undoes the 'oo' match to try something else.  i'm thinking...
17:16 zengargoyle isn't there a 'cut' like operator that actually means fail if you got this far and don't finish....
17:23 zengargoyle m: say ‘oooo’ ~~ /:r ‘o’ **: 2..4 <?{say ‘once?’; True}> ‘o’$/
17:23 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤once?␤Nil␤»
17:24 AlexDaniel zengargoyle: here it backtracks over <?{}>
17:24 AlexDaniel zengargoyle: at least, that *was* my definition of backtracking… now I have no idea
17:27 eater maybe we can compare to diff langauges?
17:28 zengargoyle somehow i still think it's related to the candidate match only growing.  things like <?{}> get fired twice because they're that sort of action thingy, but the actual match never shrinks in size.  so yeah maybe definition of 'backtracking'
17:29 zengargoyle the .pos of the match never gets smaller....
17:35 tharkun joined #perl6
17:37 zengargoyle m: say ‘boooo’ ~~ / ^ ['o'||'b'] 'o' **: 1..4 <?{say ‘once?’; True}> ‘o’$/
17:37 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤Nil␤»
17:37 eater I feel like it has to do with the greediness
17:38 zengargoyle m: say ‘boooo’ ~~ / ^ ['o'||'b'] 'o' ** 1..4 <?{say ‘once?’; True}> ‘o’$/
17:38 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤「boooo」␤»
17:38 eater m: say 'help i like helps' ~~ / help \s* [ 'i' \s* [ .+ s ] || 'i' \s * 'like' ]/
17:38 camelia rakudo-moar fb7ecb: OUTPUT: «「help i like helps」␤»
17:38 eater m: say 'help i like helps' ~~ /:r help \s* [ 'i' \s* [ .+ s ] || 'i' \s * 'like' ]/
17:38 camelia rakudo-moar fb7ecb: OUTPUT: «「help i like」␤»
17:39 eater .+ will match as much as possible and not try to backtrack over it's selection to find a match for what follows up
17:40 eater m: say 'help i like helps' ~~ /:r help \s* [ 'i' \s* [ .+? s ] || 'i' \s * 'like' ]/
17:40 camelia rakudo-moar fb7ecb: OUTPUT: «「help i like helps」␤»
17:41 eater but if you make it non-greedy, it works
17:41 eater hmmmm
17:41 zengargoyle i think <?{}> is zero-width so doesn't count for backtracking.
17:42 eater even if it did, backtracking is still being done over [ || ], even when they're 2 levels deep
17:43 eater which makes sense, otherwise your regex would never match in some cases
17:44 zengargoyle i left the :r out to test the : on **:
17:44 zengargoyle m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' ** 1..4 <?{say ‘once?’; True}> ‘o’$/
17:44 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤Nil␤»
17:45 * zengargoyle sorta too confused
17:46 eater it's the qauntifier, im sure of it :')
17:46 eater m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' **? 1..4 <?{say ‘once?’; True}> ‘o’$/
17:46 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤once?␤「boooo」␤»
17:47 cdg joined #perl6
17:48 Zoffix If you don't need the value of code, you don't need to use `True`
17:48 itaipu joined #perl6
17:48 Zoffix m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' **? 1..4 {say ‘once?’} ‘o’$/
17:48 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤once?␤once?␤「boooo」␤»
17:49 Zoffix m: "foomeow" ~~ /foo {say ‘once?’} bar {say ‘twice?’} meow/
17:49 camelia rakudo-moar fb7ecb: OUTPUT: «once?␤»
17:50 eater m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' **? 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
17:50 camelia rakudo-moar fb7ecb: OUTPUT: «2␤3␤4␤「boooo」␤»
17:50 eater m: say ‘boooo’ ~~ / ^ ['o'||'b'] 'o' ** 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
17:50 camelia rakudo-moar fb7ecb: OUTPUT: «5␤4␤「boooo」␤»
17:50 eater m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' ** 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
17:50 camelia rakudo-moar fb7ecb: OUTPUT: «5␤Nil␤»
17:50 eater zengargoyle: ^
17:51 eater it does not backtrack over qauntified selections
18:19 zengargoyle m: say ‘boooo’ ~~ / ^ ['o'||'b'] 'o' ** 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
18:19 camelia rakudo-moar b14721: OUTPUT: «5␤4␤「boooo」␤»
18:19 zengargoyle backtrack
18:20 zengargoyle m: say ‘boooo’ ~~ / ^ ['o'||'b'] 'o' **? 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
18:20 camelia rakudo-moar b14721: OUTPUT: «2␤3␤4␤「boooo」␤»
18:20 zengargoyle increasing
18:20 zengargoyle m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' **? 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
18:20 camelia rakudo-moar b14721: OUTPUT: «2␤3␤4␤「boooo」␤»
18:21 zengargoyle m: say ‘boooo’ ~~ /:r ^ ['o'||'b'] 'o' **: 1..4 <?{say $/.CURSOR.pos;}> ‘o’$/
18:21 camelia rakudo-moar b14721: OUTPUT: «5␤Nil␤»
18:21 Geth ¦ whateverable: 0301ef4bd2 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
18:21 Geth ¦ whateverable: Show all characters if possible
18:21 Geth ¦ whateverable:
18:21 Geth ¦ whateverable: Unicodable will now print all characters in its last message (only if
18:21 Geth ¦ whateverable: it makes sense to do so).
18:21 Geth ¦ whateverable:
18:21 Geth ¦ whateverable: Resolves issue #104.
18:21 Geth ¦ whateverable:
18:21 Geth ¦ whateverable: <…commit message has 11 more lines…>
18:21 Geth ¦ whateverable: review: https://github.com/perl6/whateverable/commit/0301ef4bd2
18:22 zengargoyle i'm probably missing someting. 'tis often the case. :)
18:23 eater zengargoyle: what part are you missing?
18:49 ilbot3 joined #perl6
18:49 Topic for #perl6 is now »ö« Welcome to Perl 6! | https://perl6.org/ | evalbot usage: 'p6: say 3;' or rakudo:,  or /msg camelia p6: ... | irclog: http://irc.perl6.org or http://colabti.org/irclogger/irclogger_logs/perl6 | UTF-8 is our friend!
18:52 moritz Unicode test: ä²
18:52 moritz \o/
18:54 Anopperl6 joined #perl6
18:54 Anopperl6 How to use translation or tr in perl6
18:56 moritz m: say "this is magic".trans("aeiou" => "AEIOU")
18:56 camelia rakudo-moar b14721: OUTPUT: «thIs Is mAgIc?»
18:56 moritz Anopperl6: ^^
18:56 Ven joined #perl6
18:57 moritz Anopperl6: see https://docs.perl6.org/type/Str#method_trans
18:58 sjn m: my $f = "foo"; $f ~~ tr/ <a..z> / <m..za..n> /; say $f
18:58 camelia rakudo-moar b14721: OUTPUT: «raa?»
19:00 Cabanossi joined #perl6
19:07 cdg_ joined #perl6
19:12 TEttinger joined #perl6
19:20 zengargoyle eater: if i knew what i was missing i wouldn't be missing it. :)
19:20 eater zengargoyle: or would you?
19:21 eater if you dont know what you're missing, you're not missing anything right? :p
19:21 zengargoyle m: say "this is magic".trans(a => 'A', c => 'C')
19:21 camelia rakudo-moar b14721: OUTPUT: «this is magic?»
19:21 * zengargoyle always wanted ^^ to work.
19:21 moritz m: say "this is magic".trans("a" => 'A', "c" => 'C')
19:21 camelia rakudo-moar b14721: OUTPUT: «this is mAgiC?»
19:22 moritz m: say "this is magic".trans(["a", "c"] => ["A", "C"])
19:22 camelia rakudo-moar b14721: OUTPUT: «this is mAgiC?»
19:22 zengargoyle lol, never occured to me to use "" around key.
19:24 ufobat joined #perl6
19:28 zengargoyle m: say (a=>'A'); say ('a'=>'A');
19:28 camelia rakudo-moar b14721: OUTPUT: «a => A?a => A?»
19:28 zengargoyle m: say (a=>'A'),perl; say ('a'=>'A').perl;
19:28 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Undeclared routine:?    perl used at line 1??»
19:29 zengargoyle wha?
19:29 zengargoyle m: say (a=>'A').perl; say ('a'=>'A').perl;
19:29 zengargoyle doh.
19:29 lizmat joined #perl6
19:29 camelia rakudo-moar b14721: OUTPUT: «Resource temporarily unavailable»
19:30 zengargoyle m: say (a=>'A').perl; say ('a'=>'A').perl;
19:30 camelia rakudo-moar b14721: OUTPUT: «:a("A")?:a("A")?»
19:30 zengargoyle so why is "a" => "A" different from a => "A"?
19:31 zengargoyle m: dd (a=>'A'); dd ('a'=>'A');
19:31 camelia rakudo-moar b14721: OUTPUT: «:a("A")?:a("A")?»
19:31 zengargoyle m: dd (a=>'A'); dd ("a"=>'A');
19:31 camelia rakudo-moar b14721: OUTPUT: «:a("A")?:a("A")?»
19:32 moritz both construct a pair; the difference is named vs. positional in an argument list
19:32 zengargoyle is it all in the named ....
19:32 rindolf joined #perl6
19:32 BenGoldberg m: srand 42; say "h6eta,pJarrc euoklhrtn se ".comb.pick(*)
19:32 zengargoyle *nods*
19:32 camelia rakudo-moar b14721: OUTPUT: «(J u s t   a n o t h e r   p e r l 6   h a c k e r ,)?»
19:33 zengargoyle i don't think i grokked the argument thing when i first ran into my confusion.
19:34 eater m: say "this is magic".trans({a => 'A', c => 'C'})
19:34 camelia rakudo-moar b14721: OUTPUT: «this is mAgiC?»
19:34 eater :D
19:34 SmokeMachine m: Version.new: “v0.0.4+”
19:34 camelia rakudo-moar b14721: ( no output )
19:34 BenGoldberg m: dd Version.new: "v0.0.4+"
19:34 SmokeMachine m: say Version.new: “v0.0.4+”
19:34 camelia rakudo-moar b14721: OUTPUT: «Version.new('v.0.0.4+')?»
19:34 camelia rakudo-moar b14721: OUTPUT: «vv.0.0.4+?»
19:34 zengargoyle BenGoldberg: ++
19:35 BenGoldberg m: say Version.new("v0.0.4+").perl
19:35 camelia rakudo-moar b14721: OUTPUT: «Version.new('v.0.0.4+')?»
19:35 zengargoyle BenGoldberg++
19:35 BenGoldberg :)
19:36 SmokeMachine m: use META6:ver(v0.0.4+)
19:36 camelia rakudo-moar b14721: OUTPUT: «===SORRY!===?Could not find META6:ver<0.0.4+> at line 1 in:?    /home/camelia/.perl6?    /home/camelia/rakudo-m-inst-1/share/perl6/site?    /home/camelia/rakudo-m-inst-1/share/perl6/vendor?    /home/camelia/rakudo-m-inst-1/share/perl6?    Com…»
19:37 PerlJam joined #perl6
19:42 pmurias AlexDaniel: re strangely consistent wasn't Zoffix just proposing not adding something we don't need?
19:43 AlexDaniel pmurias: yes, but what do you mean?
19:46 pmurias AlexDaniel: I don't think we should add something just for strange consistency
19:47 AlexDaniel pmurias: well, what we have now is strange inconsistency
19:49 itaipu joined #perl6
19:50 AlexDaniel pmurias: but I'm not against discussing the topic properly. Maybe indeed it's not that good of an idea, just please no irrelevant nonsense
19:52 AlexDaniel fwiw, the change itself is a tiny 2 line patch
19:54 pmurias what would :?foo do?
19:56 AlexDaniel the opposite of :!foo
19:56 AlexDaniel I would have expected :foo to be a shortcut for :?foo, but you know :) Got them other way round
19:57 pmurias :?foo would be just a worse form of :foo
19:58 pmurias I don't see ? as an opposite of !
19:58 AlexDaniel m: say ?42
19:58 camelia rakudo-moar b14721: OUTPUT: «True?»
19:58 AlexDaniel too bad we have this then
19:59 pmurias I see ? as the "is this true?" operator not as a double negation
20:00 AlexDaniel that's an interesting point, I've never thought about it this way
20:00 AlexDaniel like, to me ? was the commonly missing counterpart for !
20:00 timotimo no, ! is the opposite of ?
20:00 timotimo :P
20:01 Skarsnik :?foo is not like optionnal parameter foo? xD
20:02 Skarsnik *confuzzled*
20:02 AlexDaniel Skarsnik: huh?
20:02 Skarsnik hm I am confusing with :?$foo is sub declaration maybe?
20:03 AlexDaniel Zoffix: Oh!
20:03 AlexDaniel m: sub foo($bar!) { say $bar }; foo()
20:03 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Calling foo() will never work with declared signature ($bar)?at <tmp>:1?------> 3sub foo($bar!) { say $bar }; 7?5foo()?»
20:03 AlexDaniel m: sub foo($bar!) { say $bar }; foo(42)
20:03 camelia rakudo-moar b14721: OUTPUT: «42?»
20:05 AlexDaniel so now we have two
20:05 dwarring joined #perl6
20:08 AlexDaniel on the other hand, we don't have ! in regexes
20:09 pmurias AlexDaniel: anyway I feel that just being strangely consistent is not a reason to add something, in programming languages there are always things that you can imagine how they would work and are not allowed
20:10 AlexDaniel pmurias: true, but why not allow them if it's so easy?
20:10 pmurias because they are useless
20:10 geekosaur maintenance costs down the road, for one
20:11 emeric joined #perl6
20:11 geekosaur sounds YAGNI to me
20:11 pmurias and strange consistentcy is subjective
20:11 AlexDaniel /o\ come on, that's not a feature that requires hundreds lines of code
20:11 AlexDaniel we've just spent more time discussing it than we'd have to spend to maintain the damn thing
20:14 pmurias why would anyone ever use :?foo?
20:15 AlexDaniel Interestingly, ?/! in signatures is probably the side effect of having positional parameters required by default and named parameters not required. With both ?/! you can switch back and forth
20:15 Skarsnik Did you discuss some defined operator? like to replace stuff like if $foo.defined and $foo < 6 ?
20:16 AlexDaniel Skarsnik: no, pairs
20:17 AlexDaniel m: say (:!foo)
20:17 camelia rakudo-moar b14721: OUTPUT: «foo => False?»
20:17 AlexDaniel therefore…
20:17 AlexDaniel m: say (:!foo) # ?
20:17 camelia rakudo-moar b14721: OUTPUT: «foo => False?»
20:17 AlexDaniel m: say (:?foo) # ?
20:17 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Bogus statement?at <tmp>:1?------> 3say (:7?5?foo) # ??    expecting any of:?        colon pair?»
20:17 Skarsnik Ok, carry on
20:18 AlexDaniel pmurias: one could be aligning the code vertically, but then you could say that a space or an unspace will do :)
20:18 AlexDaniel oh, unspace won't…
20:20 AlexDaniel for me the learning itself makes a good point. Like, once you understand that ? is used somewhere like this, then you immediatelly know about prefix:<?> and ! for required named args
20:22 AlexDaniel 20 minutes ago I didn't really know about required named args (I should've seen them somewhere, but it never really crossed my mind), now I do :)
20:22 AlexDaniel or maybe I did, I don't know now… given that I was assuming that you can switch from ? to ! and other way round, I guess I knew?
20:25 pmurias AlexDaniel: you assume that everyone views ? as an opposite of ! (double negation)
20:26 AlexDaniel well, I view it as non-negation, but I understand it in a weird way
20:26 AlexDaniel I assume people view ? and ! as two opposite things though, yes
20:27 AlexDaniel especially when this pattern is established by two precendents
20:32 alexi5_ joined #perl6
20:33 Zoffix AlexDaniel: have two what?
20:34 AlexDaniel Zoffix: well, two cases when ? does the opposite of !
20:34 AlexDaniel or other way round, doesn't really matter
20:34 Zoffix "that's not a feature that requires hundreds lines of code "
20:34 Zoffix Maintenance isn't about writing initial code.
20:35 Zoffix It's everything that happens after. Like some conflict in interaction of features.
20:35 AlexDaniel we've talked for way more than what the maintenance would take /o\
20:35 Zoffix m: say [<foo>]
20:35 camelia rakudo-moar b14721: OUTPUT: «[foo]?»
20:35 Zoffix m: say [[<foo>],]
20:35 camelia rakudo-moar b14721: OUTPUT: «5===SORRY!5=== Error while compiling <tmp>?Unable to parse expression in bracketed infix; couldn't find final ']' ?at <tmp>:1?------> 3say [[<7?5foo>],]?»
20:36 Zoffix AlexDaniel: ^ there is a formal ambiguity in that code. How can you guarantee you're not introducing the same shit elsewhere with your proposal?
20:36 Zoffix Stop adding features just because you can. There's a word for it: featuritis.
20:37 AlexDaniel well, given enough effort you can reject any feature also
20:37 Zoffix AlexDaniel: as for "now we have two". There's a big difference: $foo! actually does something useful. :?foo doesn't
20:38 AlexDaniel blargh
20:38 AlexDaniel like talking to a wall
20:38 AlexDaniel does $foo actually do something useful?
20:38 Zoffix As for wasting time talking instead of writing features we don't need. We could instead use that time fix existing bugs.
20:39 Zoffix You were the proponent of adding ? and ?. How about you fix their bugs first instead of adding more stuff?
20:39 AlexDaniel I mean, :$foo! is, but $foo …
20:40 AlexDaniel you mean the PERF one?
20:40 Zoffix Yes.
20:41 AlexDaniel oops, I seem to have missed the ! in both messages :)
20:42 Zoffix As for talking to the wall: you haven't responded to the critique of your proposal: how do you guarantee it will be a bening consistency-enhansing quirky code that works instead of creating ambiguity in some construct that will require workaround, like the ambiguity in <> arrays and reduce ops
20:43 AlexDaniel well, I also haven't seen any ambiguity yet
20:43 AlexDaniel mainly because I've *just* submitted the ticket…
20:43 Zoffix You want to alter a feature used all over the entire language by adding functionality that will be documented as "but there's no reason to do this"
20:43 AlexDaniel and also “how do you guarantee there are no bugs”, well, you know the technically correct answer to that /o\
20:44 Zoffix Design flaw isn't a technical bug. It's a flaw in design.
20:44 AlexDaniel well there's no reason to do $bar? also
20:44 AlexDaniel ok enough
20:45 Zoffix You can't fix a design flaw by replacing broken code. You often have to continue to support.
20:45 Zoffix is-deeply is a case in point
20:47 Zoffix Or even better case in point: &is   Its design was taken from Perl 5, but in Perl 6 it's nearly useless and almost always a wrong routine to use for testing.
20:47 * Zoffix &
20:51 zengargoyle 13:36 < Zoffix> Stop adding features just because you can. There's a word for it: featuritis. -- lol ²² :P
20:52 * pmurias remembers fixing a bug in the ²² feature
20:52 AlexDaniel pmurias: what was the bug?
20:53 pmurias when the exponent was bigger than 64bitss
20:54 zengargoyle m: say so ²² == 4
20:54 camelia rakudo-moar b14721: OUTPUT: «True?»
20:55 zengargoyle can't be worse than :?foo
20:55 zengargoyle logic be damned....
20:55 * zengargoyle tilts at windmills.
20:56 pmurias zengargoyle: the fact that we have some silly things doesn't mean we need to add more ;)
20:56 BenGoldberg joined #perl6
20:58 AlexDaniel pmurias: it looks like the bug was for both ** and unicode exponents, no?
20:58 AlexDaniel zengargoyle: not sure what you mean by what you've just said
20:58 AlexDaniel zengargoyle: there was a PR to resolve ²² issue, but it was rejected because featuritis or something
21:00 AlexDaniel zengargoyle: ah, it was because “let's not introduce edge cases to common rules” or something like that, because we're designing for the parser and not for a human of course
21:04 dugword joined #perl6
21:09 cdg joined #perl6
21:11 alexi5__ joined #perl6
21:17 zengargoyle AlexDaniel: yeah, it's a decent idea maybe (IMHO) where actual Unicode isn't up to the task to determine whether a thing is a number or a 'special type' of number.
21:18 dugword Hey all, I noticed some odd behavior in my perl6 program
21:18 dugword I have an array and I am trying to flatten it so I can pass it into a sub.
21:18 dugword However, when I use the pipe "|" prefix operator to flatten it one of my values gets changed from (Any) to (Mu) like this:
21:18 dugword my $op = [Any, "NULL", "null", Any, Any, Any]
21:18 dugword say |$op
21:18 evalable6 dugword, rakudo-moar b147217ed: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/3rg2WU8jnM?Variable '$op' is not declared?at /tmp/3rg2WU8jnM:1?------> say |?$op»
21:18 dugword # (Any)NULLnull(Mu)(Any)(Any)
21:18 dugword say $op.values
21:18 evalable6 dugword, rakudo-moar b147217ed: OUTPUT: «(exit code 1) ===SORRY!=== Error while compiling /tmp/EDW96S_5NE?Variable '$op' is not declared?at /tmp/EDW96S_5NE:1?------> say ?$op.values»
21:18 dugword # ((Any) NULL null (Any) (Any) (Any))
21:18 dugword I cannot replicate this quirk outside of my very large program (2428 lines of code in a single file translated from an archaic perl5 program), so I'm sure theres some weird state I have created.
21:18 dugword But should this ever be possible? And are there any ways I can inspect the values of the $op array to see if I have something odd going on?
21:18 dugword I have a work around to get my program working, but it seems goofy I would get different results from using "|" and I am curious if this might be a perl6 bug.
21:19 zengargoyle so ² is first a Number and parses as such, then there is a *special* case that /^¹²³.../ are operators and also multiple Nu's get turned into an actual Int power.  go figure.
21:20 AlexDaniel dugword: so you get only one Mu?
21:20 dugword Yeah
21:20 Skarsnik that prety weird lol
21:20 zengargoyle i'd also think :?$foo  would boolify into foo=>True or foo=>False.
21:20 dugword Right, lol
21:20 zengargoyle if say $foo were "hello"
21:20 AlexDaniel zengargoyle: well, that's a whole different question. Right now :!$foo doesn't work
21:21 zengargoyle yeah, just extending the map of things in my head.... :)
21:21 Skarsnik m: my $op = [Any, "NULL", "null", Any, Any, Any]; say |$op
21:21 camelia rakudo-moar b14721: OUTPUT: «(Any)NULLnull(Any)(Any)(Any)?»
21:22 AlexDaniel dugword: well, I don't mind looking at 2428 line file :)
21:22 dugword If you are that brave I'm happy to send it somewhere
21:22 AlexDaniel because I can reproduce this easily
21:22 AlexDaniel m: my $op = [Any, "NULL", "null", Any, Any, Any]; $op[3] = Mu; say $op
21:22 camelia rakudo-moar b14721: OUTPUT: «[(Any) NULL null (Mu) (Any) (Any)]?»
21:22 AlexDaniel look! a Mu!
21:22 Skarsnik xD
21:23 AlexDaniel dugword: well, if you don't mind others looking, then https://gist.github.com perhaps
21:23 AlexDaniel dugword: if you do, then we can try alex.jakimenko+dug@gmail.com
21:23 dugword Yes.. github... where I already have it hosted
21:24 * zengargoyle thinks just like other languages real and concieved, sometimes symmmetry just isn't there, which to me raises more questions than it answers.
21:26 AlexDaniel Skarsnik: by the way, any news regarding the segfault of Gumbo?
21:26 Skarsnik I don't have it
21:26 Skarsnik It does not happen in my 32 bits vm and my 64bits vps
21:27 AlexDaniel hmmm let me try it again
21:27 AlexDaniel maybe it disappeared
21:28 Skarsnik but I did not updated gumbo, but it does not happend too in travis
21:29 AlexDaniel Skarsnik: :O IT WORKS!
21:29 AlexDaniel yess
21:29 Skarsnik ^^
21:30 AlexDaniel Skarsnik: should we add it as a stress test in Gumbo repo?
21:30 BenGoldberg m: print 'Look, a ?';
21:30 camelia rakudo-moar b14721: OUTPUT: «Look, a ?»
21:31 Skarsnik hm
21:31 AlexDaniel Skarsnik: ah wait, it didn't go away
21:31 AlexDaniel just reproduced it…
21:31 Skarsnik Oo
21:31 AlexDaniel Skarsnik: ok, if I give you ssh access to a machine where this happens, will you be able to take a look?
21:31 pmurias AlexDaniel: I looked it up, the unicode exponents had a bug of their own
21:31 dugword https://github.com/dugword/perl-Convert-ASN1/blob/master/lib/Convert/ASN1P6.pm6#L1100 That's where I am seeing the oddness
21:32 Skarsnik I don't think I can do something about it, the perl6 code is pretty simple
21:32 Skarsnik and I quite sleepy now x)
21:33 dugword If you clone the repo and run `perl6 t/00prim.t` you'll see the output where the quirk is right near the end
21:33 AlexDaniel pmurias: well, I guess you fixed both bugs then at the same time https://gist.github.com/c91a1cb511e2e1424c686e4e9459b4fc https://gist.github.com/a49301c13e12991d2819afc8572976c5
21:33 Skarsnik But yeah, feel free to add it to the gumbo rep and travis
21:33 AlexDaniel pmurias: wrong gist, this one: https://gist.github.com/6e47f7aaf6803e6d8c2503a5a62098bd
21:34 AlexDaniel damn, not this one also :)
21:35 AlexDaniel this and this https://gist.github.com/Whateverable/6e47f7aaf6803e6d8c2503a5a62098bd https://gist.github.com/Whateverable/3c398c9284f3438c1c5123c6c04185bc
21:38 Skarsnik AlexDaniel, maybe you can paste your gumbo version in the issue?
21:40 AlexDaniel Skarsnik: hm, zef says just “Gumbo:auth('Sylvain Colinet')”
21:40 AlexDaniel Skarsnik: right, because the version is just "*"
21:41 Skarsnik I mean the C lib
21:42 AlexDaniel Skarsnik: 0.10.1+dfsg-2.1
21:42 AlexDaniel from the debian package
21:42 Skarsnik is that testing?
21:42 AlexDaniel yes
21:43 AlexDaniel there's no newer version than that
21:44 AlexDaniel dugword: ok, reproduced
21:44 dugword Woo!
21:45 Skarsnik I only installed the lib from source
21:45 Skarsnik since it's not in stable :(
21:48 AlexDaniel dugword: interesting. “say” shows no Mu-s, “.perl” also
21:48 AlexDaniel but if you flatten, then there are Mu-s :)
21:49 MasterDuke @$op doesn't have Mus, but |$op does
21:49 AlexDaniel yup, even dd gives no Mus
21:49 Skarsnik root@debian:/home/skarsnik/perl6# rakudo/install/bin/perl6 -I perl6-gumbo/lib/ -I exemel/lib/ crashgumbo.p6
21:49 Skarsnik should've crashed before reaching this
21:50 dugword Yeah it took a while to find where the Mu was coming from when I saw it later in the program
21:51 AlexDaniel Skarsnik: you think I should try compiling it from source?
21:51 Skarsnik I am just testing with the same version from debian than you
21:52 Skarsnik Linux debian 4.3.0-1-686 #1 SMP Debian 4.3.3-2 (2015-12-17) i686 GNU/Linux
21:53 AlexDaniel Skarsnik: Linux 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26) x86_64 GNU/Linux
21:53 AlexDaniel but I don't think it should matter much
21:53 Skarsnik This is Rakudo version 2017.06-133-ga7b2304 built on MoarVM version 2017.06-29-ga51ba62
21:53 Skarsnik this is confusing
21:54 AlexDaniel This is Rakudo version 2017.07-11-g91be8bc1c built on MoarVM version 2017.07
21:54 AlexDaniel but I've been having this issue for several months now
21:54 AlexDaniel like, since I reported it, and probably even earlier
21:55 AlexDaniel Skarsnik: you sure you don't want ssh access? :)
21:58 Skarsnik I just realised something
21:58 Skarsnik it does not show something
21:59 Skarsnik .say for parse-html($response).root.elements(:TAG<a>, :RECURSE);
21:59 Skarsnik show nothing on my 32 bit vm
22:01 AlexDaniel Skarsnik: I see a lot of output
22:01 AlexDaniel dugword: this is a very interesting issue. Maybe you should start deleting code until you golf it down?
22:02 samcv i found a decent way to seed srand if you want a more random seed
22:02 samcv srand (qx{od -An -N4 -i /dev/random}.trim + qx{od -An -N4 -i /dev/random}.trim +< 32);
22:02 samcv will read a 64 bit integer from /dev/random and set that as the seed
22:02 Skarsnik Hoo no curl on this
22:02 AlexDaniel samcv: this can hang for quite a bit if you exhaust it, I think
22:03 samcv it's only getting a 64 bit integer. it only reads 8 bytes
22:03 AlexDaniel samcv: this doesn't mean that there are 8 bytes readily available :)
22:03 samcv too bad :P
22:03 AlexDaniel but the chances are good, yes
22:04 Skarsnik aaah
22:04 Skarsnik skarsnik@vps300582:~/perl6/benchmark$ rakudo-2017.07/install/bin/perl6 -I exemel/lib/ -I perl6-gumbo/lib crashgumbo.p6  > /dev/null
22:04 Skarsnik MoarVM panic: Internal error: zeroed target thread ID in work pass
22:04 AlexDaniel yaaaaaaaaaaay!
22:04 AlexDaniel yes, that's what I'm seeing
22:04 dugword AlexDaniel: I'll try that
22:05 Skarsnik 06 give me the heap corruption
22:07 Skarsnik testing with 2016.01.1
22:07 Skarsnik so slow xD
22:07 AlexDaniel Skarsnik: yeah, I've noticed that it is much faster now
22:09 epony joined #perl6
22:11 cdg joined #perl6
22:12 AlexDaniel dugword: o! I think I see something
22:12 Skarsnik I get a new one lol
22:12 Skarsnik MoarVM panic: Internal error: invalid thread ID 152231488 in GC work pass
22:13 Skarsnik ok 2016.01.01 did not crash
22:15 AlexDaniel Skarsnik: are you sure?
22:15 AlexDaniel Skarsnik: because if so, then I can bisect it
22:16 Skarsnik I am doing that
22:16 Skarsnik well bisecting only with release
22:16 Skarsnik since I have them all compiled
22:16 samcv hmm maybe i should do that
22:16 samcv is there some way i can automate that tho
22:17 AlexDaniel well, this particular one I can do with bisectable
22:17 samcv how much space does bisectable need
22:17 AlexDaniel 60 GiB or so
22:17 samcv hm
22:17 samcv well i don't have that much
22:18 AlexDaniel but most of the time you don't need to bisect as much
22:18 AlexDaniel so maybe under 15 GiB
22:18 Skarsnik https://gist.github.com/Skarsnik/9e66ab5fcad4e2ed2b8fb4f34bd92d22
22:18 Skarsnik I have a texte file with rakudo release listed x)
22:18 Skarsnik probably could ask github to get them
22:19 samcv i wish i had a texte file. i only have text files :(
22:19 AlexDaniel a better question is why would you need this if there's bisectable :)
22:19 samcv because it could be down
22:19 samcv or i want to run more extended tests
22:20 samcv and i like being self sufficient
22:20 samcv Skarsnik, can i get your rakudoversion.txt?
22:20 AlexDaniel samcv: there this thing also: https://github.com/perl6/whateverable/issues/174
22:21 AlexDaniel samcv: in theory, I can write a script tha would bisect locally, but pull builds that are already available
22:21 AlexDaniel if not, it can always downgrade to building rakudo locally, right? :)
22:21 samcv appimages of all releases would be nice too
22:21 AlexDaniel oh, or that
22:22 samcv but i'm lazy and don't have time to do that atm
22:22 Skarsnik https://gist.github.com/Skarsnik/9e66ab5fcad4e2ed2b8fb4f34bd92d22
22:22 Skarsnik should have the rakudoversion.txt file
22:22 Skarsnik 2016.06 crash too
22:23 Skarsnik running old version of rakudo is so slow lol
22:24 samcv your file has a syntax errror
22:25 AlexDaniel samcv: in theory, appimages are not strictly required in this particular case, I think
22:25 AlexDaniel it's built somewhere in /tmp, so sure enough should be installable on most systems :)
22:25 AlexDaniel unless you have different architecture or something
22:27 Skarsnik I should have removed the 500 instead of 100 that I put for the loop xD
22:28 samcv i guess i'm now compiling all the rakudos
22:28 Skarsnik 16.02 is fine too
22:30 Skarsnik 04 crash
22:30 lizmat joined #perl6
22:35 dugword AlexDaniel: What did you find?
22:37 Skarsnik AlexDaniel, ok so 2016.03 is fine, 2016.04 crash that give you a starting point to bisect probably
22:37 Skarsnik skarsnik@vps300582:~/perl6/benchmark$ rakudo-2016.04/install/bin/perl6 -I exemel/lib/ -I perl6-gumbo/lib crashgumbo.p6  > /dev/null
22:37 Skarsnik Internal error: zeroed target thread ID in work pass
22:37 Skarsnik skarsnik@vps300582:~/perl6/benchmark$ rakudo-2016.03/install/bin/perl6 -I exemel/lib/ -I perl6-gumbo/lib crashgumbo.p6  > /dev/null
22:37 Skarsnik skarsnik@vps300582:~/perl6/benchmark$
22:38 AlexDaniel Skarsnik: the real problem of bisecting like this is modules and dependencies
22:38 AlexDaniel and also precomp files :)
22:39 Skarsnik I think they get redone when you give a path like this?
22:39 AlexDaniel hm, maybe. I should make it easier for sure
22:40 Skarsnik and if I remember correctly pre comp is... something around these releases
22:44 ugexe if you pass callbacks into a native lib you might want to try HEAD
22:44 ugexe https://github.com/MoarVM/MoarVM/commit/499059dccfd7f4d2ad5318f0fb78e781c9eefc5c
22:45 AlexDaniel dugword: I'm not sure… got sidetracked with this stuff :)
22:45 Skarsnik hm
22:48 AlexDaniel Skarsnik: oh gosh it's so slow :)
22:48 Skarsnik pre comp is very slow around that
22:48 Skarsnik that does not help too x)
22:49 AlexDaniel well, it's crunching something, so I'll just let it run…
22:53 deep-book-gk_ joined #perl6
22:53 pmurias joined #perl6
22:54 deep-book-gk_ left #perl6
22:55 alexi5 joined #perl6
22:57 Morfent joined #perl6
23:00 cdg joined #perl6
23:00 lizmat joined #perl6
23:00 Ptolemarch joined #perl6
23:06 nadim given a string "aaabbbabbababab", where b can be matched by a regex, I'd like to get a kist of tuple like: ('a', 3), ('b', 3), ('a', 1), ('b',2) ...) what's the best contruct to use?
23:12 jnthn m: "aaabbbabbababab".match(/(.)$0*/, :g).map({ ~.[0], .chars }).say
23:12 camelia rakudo-moar b14721: OUTPUT: «((a 3) (b 3) (a 1) (b 2) (a 1) (b 1) (a 1) (b 1) (a 1) (b 1))?»
23:14 nadim can I get a quick explanation of the regex? specialy $0*
23:14 zengargoyle m: say ("aaabbbabbababab" ~~ m:g/(.)$0*/).map({~$_ => $_.chars});
23:14 camelia rakudo-moar b14721: OUTPUT: «(aaa => 3 bbb => 3 a => 1 bb => 2 a => 1 b => 1 a => 1 b => 1 a => 1 b => 1)?»
23:14 zengargoyle darn..
23:14 AlexDaniel Skarsnik: it crashes on this commit: https://github.com/rakudo/rakudo/commit/40a953f
23:14 AlexDaniel Skarsnik: and does not crash on its parent
23:15 nadim m: "baaabbbabbababab".match(/(.)$0*/, :g).map({ ~.[0], .chars }).say
23:15 camelia rakudo-moar b14721: OUTPUT: «((b 1) (a 3) (b 3) (a 1) (b 2) (a 1) (b 1) (a 1) (b 1) (a 1) (b 1))?»
23:15 Skarsnik what
23:15 Skarsnik it's just a revision bump
23:15 Skarsnik AlexDaniel, wait it's probably a bug in Moar?
23:15 AlexDaniel Skarsnik: well, I only bisected rakudo, yes
23:16 jnthn nadim: $0 is a backreference
23:16 AlexDaniel buggable: help
23:16 buggable AlexDaniel, tags | tag SOMETAG | eco | eco Some search term | author github username | speed | testers CPANTesters report ID
23:16 nadim jnthn: thank you, I just got it, it's like p5
23:16 jnthn Yeah, except numbers from 0 not 1 :)
23:16 nadim right! and right. :)
23:16 Skarsnik good luck bisecting Moar :(
23:17 nadim I  guess split would have worked too
23:17 AlexDaniel Geth: ver https://github.com/rakudo/rakudo/commit/40a953f
23:17 * zengargoyle needs to remember .match() exists.
23:17 Geth AlexDaniel, version bump brought in these changes: https://github.com/perl6/nqp/compare/2016.03-50-g512c9a1...2016.03-57-gbdb13a2
23:17 AlexDaniel Geth: ver https://github.com/perl6/nqp/commit/bdb13a2cd5df01cc72bbf08434dbf99fc25a411d
23:17 Geth AlexDaniel, version bump brought in these changes: https://github.com/MoarVM/MoarVM/compare/2016.03-84-g4afd7b6...2016.03-104-g10d3971
23:17 MasterDuke timotimo, jnthn, Zoffix: have you seen dugword's problem above? both AlexDaniel and i have reproduced it
23:18 nadim m: "baaabbbabbababab".split(/b+/)
23:18 camelia rakudo-moar b14721: ( no output )
23:18 AlexDaniel MasterDuke: well, it's hard to do something about it until it's golfed down
23:18 AlexDaniel MasterDuke: I have like half of what was provided, but I can't say that it is enough :)
23:18 nadim m: "baaabbbabbababab".split(/b+/).say
23:18 camelia rakudo-moar b14721: OUTPUT: «( aaa a a a a )?»
23:19 nadim m: "baaabbbabbababab".split((/b+/)).say
23:19 camelia rakudo-moar b14721: OUTPUT: «( aaa a a a a )?»
23:19 AlexDaniel Skarsnik: well, we only have these nqp and moar commits ?
23:19 MasterDuke yeah, but maybe they know where to start trying to golf
23:19 nadim m: "baaabbbabbababab".split((/b+/), :v).say
23:19 camelia rakudo-moar b14721: OUTPUT: «( ?b? aaa ?bbb? a ?bb? a ?b? a ?b? a ?b? )?»
23:19 jnthn MasterDuke: No, just found it in the backlog but no initial guesses
23:20 nadim m: "baaabbbabbababab".split((/b+/), :p).say
23:20 camelia rakudo-moar b14721: OUTPUT: «( 0 => ?b? aaa 0 => ?bbb? a 0 => ?bb? a 0 => ?b? a 0 => ?b? a 0 => ?b? )?»
23:20 jnthn MasterDuke: Though the usual things to try when getting odd behaviors (like run without JIT or spesh to rule those out) hold :)
23:21 luxio joined #perl6
23:21 MasterDuke | or .Slip does it
23:21 luxio o/
23:21 MasterDuke ah, haven't tried those yet
23:22 AlexDaniel Skarsnik: I don't know… now what?
23:22 nadim m: "baaabbbabbababab".match(/(b)$0*/, :g).map({ ~.[0], .chars }).say
23:22 camelia rakudo-moar b14721: OUTPUT: «((b 1) (b 3) (b 2) (b 1) (b 1) (b 1))?»
23:22 MasterDuke but did get same behavior with 2016.12
23:22 Skarsnik Look like there was lot of work on these commit
23:23 Skarsnik I don't think there are lot of people that understand MoarVM code x)
23:23 AlexDaniel Skarsnik: well, I'm pretty sure we can ignore nqp changes
23:23 MasterDuke still there after disabling spesh and jit
23:23 nadim jnthn: match example does not work, it needs to match b specifically not just any character. in my case b is an ansi  color code matched by regex color { \[ \d+ [\;\d+]* <?before [\;\d+]* > m }
23:24 nadim m: "baaabbbabbababab".split((/b+/), :v).say
23:24 camelia rakudo-moar b14721: OUTPUT: «( ?b? aaa ?bbb? a ?bb? a ?b? a ?b? a ?b? )?»
23:25 luxio left #perl6
23:26 Skarsnik AlexDaniel, dunno add these commit info to the ticket on RT and ping someone that more knowlegeable?
23:30 AlexDaniel Skarsnik: well, the first part is already done…
23:31 Skarsnik It's funny because I ran a script that did 40 parse and it never crash (but it leaked in the XML module code)
23:34 Skarsnik AlexDaniel, for funsie call parse-html once and call elements() lot of time and watch the memory usage of the script
23:34 Skarsnik (on a sizeable html page)
23:34 Skarsnik I stopped my VM
23:34 AlexDaniel Skarsnik: is it so on the most recent rakudo also?
23:35 Skarsnik I dunno, I wanted to try but realise I closed the VM xD
23:36 AlexDaniel Skarsnik: well, I don't know… Some of the commits touched garbage collection
23:36 AlexDaniel Skarsnik: so there's a chance that the answer is no there at all
23:37 Skarsnik https://gist.github.com/Skarsnik/03b970d2a4b827ba1e1d let see
23:37 jnthn iirc the commits in question fixed a bug where some objects were not collected that should have been, leading to a leak
23:37 jnthn This could have hidden bugs in NativeCall-using code that was not keeping hold of objects for the duration that C code that was passed them needed them
23:38 AlexDaniel jnthn: any chance that it collects things that should not be collected?
23:38 jnthn Very low
23:38 jnthn Well, in the "becuase MoarVM bug" sense
23:39 jnthn However, if you allocate an object instance of CStruct REPR and pass that to C land, and the C code stashes it away somewhere, then you don't keep hold of the object you passed so long as the C code needs it, then the GC will nom it and free the memory the C code would like to have.
23:40 dj_goku joined #perl6
23:40 dj_goku joined #perl6
23:40 AlexDaniel (if anybody is wondering, this is about RT #131003)
23:40 synopsebot6 Link:  https://rt.perl.org/rt3/Public/Bug/Display.html?id=131003
23:41 Skarsnik holy fuck
23:41 Skarsnik After parsing :460.164 kb
23:41 Skarsnik Afterlookfor :461.552 kb
23:41 Skarsnik Afterlookfor :462.592 kb
23:41 Skarsnik 400 Mo
23:41 Skarsnik this is crazy xD
23:42 Skarsnik the leak is weird with this one
23:44 Skarsnik https://gist.github.com/Skarsnik/69bb875167561114c8e561ffd846c9fa
23:44 jnthn Hmm, those gdb backtaces since I last looked at the RT are intresting
23:44 luxio joined #perl6
23:44 luxio Does strawberry perl support perl 6?
23:45 luxio My installation is only running 5.26
23:45 Skarsnik Probably not
23:45 Cabanossi joined #perl6
23:46 Skarsnik This leak confuse me
23:46 Skarsnik why it gains 60MB like that
23:47 Skarsnik It grows slowy and do 2Mb more sometime now after a while
23:48 AlexDaniel Skarsnik: wait, 60MB? am I reading this correctly?
23:48 MasterDuke Skarsnik: do you know heaptrack? it's useful for memory stuff
23:48 Skarsnik Look the gist xD
23:49 jnthn luxio: No; you can get an MSI for Perl 6 though https://perl6.org/downloads/
23:50 jnthn Rest time here; 'night all o/
23:50 Skarsnik good night jnap_
23:50 Skarsnik *jnthn
23:50 luxio jnthn: Thanks, seems to be what I'm looking for.

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo