Zoffix Something's off :/ looks like instead of smartmatching against the thunk it evals it and uses its value to then smartmatch against or something? 00:00
I'm surprised I didn't notice this warning when I first added filters to geth :|
c: 2017.03 my @COMMIT-FILTERS where .all ~~ Callable && .all.name = sub foo ($) {} 00:01
committable6 Zoffix, ¦2017.03: «Sub object coerced to string (please use .gist or .perl to do that)␤ in block <unit> at /tmp/x3JlIj9m08 line 1»
Zoffix c: 2017.03 my @COMMIT-FILTERS where .all ~~ Callable && .all.name; @COMMIT-FILTERS = sub foo ($) {}
committable6 Zoffix, ¦2017.03: «Sub object coerced to string (please use .gist or .perl to do that)␤ in block <unit> at /tmp/O_Hh5z8K1u line 1»
Geth geth: e6b2acd527 | (Zoffix Znet)++ | lib/Geth/Plugin/GitHub.pm6
Reword where clause to avoid bug(?)

  irclog.perlgeek.de/perl6-dev/2017-...i_14511369
00:03
geth: ebaae3093f | (Zoffix Znet)++ | start
Enable logging of output to file
00:04
Zoffix ... I thought it would be much more complicated to make it log stuff :|
timotimo :D 00:05
you don't have to supply any filename?
Zoffix no :) 00:06
. 01:47
Well, this was a fun 1hr45m
I fixed the where "bug" I mentioned above (RT#131239) and when I was done, I realized it's not a bug at all :}
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131239
Zoffix At least now I know more about how where blocks are codegenned
m: "/tmp/fooz".IO.spurt: "abc\nde\nfg\nz"; for "/tmp/fooz".IO.open { dd $_ } 02:02
camelia "abc"
"de"
"fg"
"z"
Zoffix That's kinda surprising behaviour IMO, so I want to revert the adding of IO::Handle.iterator in github.com/rakudo/rakudo/commit/9d...3307471ce6 02:03
Make it a private method or something
Is nqp::concat() constant time and memory? Does it make the ropes stuff? 02:45
As in, if I have 200MB $x and 1-char $y and I nqp::concat($x, "\n"); or concat $y... Will it still end up using 200MB/1-char and run for the same amount of time? 02:47
m: use nqp; my $x = nqp::indexingoptimized("a" x 1000000); my $now = now; for ^1000_000 { $ = nqp::concat($x, "\n") }; say now - $now 02:49
camelia 0.63214277
Zoffix m: use nqp; my $x = nqp::indexingoptimized("a" x 1); my $now = now; for ^1000_000 { $ = nqp::concat($x, "\n") }; say now - $now
camelia 0.642955
Zoffix Based on this, I'll assume it's constant time... (did some memory tests locally, seems not to use more RAM than just strings alone)
japhb Zoffix: I think you'd notice a sudden change in runtime if you attempted to do certain operations on it that would imply rope-flattening. But otherwise yeah, I believe it does ropify things like 'x' 02:56
Zoffix japhb: what sort of change? 03:07
MasterDuke_ Zoffix: it looks like the MoarMV function operates on strands: src/strings/ops.c:444 03:14
Geth rakudo/nom: 50429b13a1 | (Zoffix Znet)++ | src/core/IO/Handle.pm
[io grant] Make IO::Handle.put($x) about 5%-35% faster

1-char is about 35% faster and it goes down to 5% at 100_000 chars. At that point, I'm hitting some sort of system bottleneck; if I bench new method first, it ends up being 2x faster, if I bench old method first, it ends up being 2x faster...
03:15
Zoffix ^ that's why I was asking. I'm just gonna stab in the dark and assume that works fine with very large strings... 03:16
MasterDuke_ well, concat will complain if the resulting string would be longer than strings are allowed to be 03:17
Zoffix Which is what? 03:18
MasterDuke_ so if x is the max string size, it now can't be put'ted
2**32 graphemes i think
Zoffix wtf
m: say 2**32 / 1024/1024
camelia 4096
Zoffix So 4GB at least? 03:19
$ ./perl6 -e 'use nqp; my $x = ""; for ^1000 { $x = nqp::concat($x, nqp::indexingoptimized("x" x 1073741824)) }; dd $x.chars' 03:21
Can't concatenate strings, required number of graphemes 4294967296 > max allowed of 4294967295
m: 4294967295.log(2).dd 03:22
camelia No such method 'dd' for invocant of type 'Num'
in block <unit> at <tmp> line 1
Zoffix m: dd 4294967295.log(2)
camelia 31.9999999996641e0
Zoffix yup
MasterDuke_ yeah. `MVMuint32 num_graphs;`
Zoffix Is that an artificial limit?
4GB feels paltry for a 100-year language 03:23
MasterDuke_ i don't like it either, i think i created an RT about it a while ago but it was rejected
i don't know how hard it would be to make that an MVMuint64. there is some code that assumes it's 32bits (like that error you just triggered) 03:24
hm, maybe i never filed a ticket, just chatted about it 03:26
Zoffix I see in &say we have $str = nqp::concat($str,nqp::unbox_s(.gist)) for @args; 03:27
I guess I can do the same in IO::Handle.say, limits be damnged 03:28
MasterDuke_ m: my $a = "a" x 2**30; my $b = $a x 2**30; say($a, $b) 03:30
camelia Can't repeat string, required number of graphemes 1152921504606846976 > max allowed of 4294967295
in block <unit> at <tmp> line 1
Zoffix leaves IO::Handle.say alone 03:31
MasterDuke_ i'd call that LTA 03:32
Zoffix What exactly?
MasterDuke_ that i can't say to valid strings. i'm not explicitly concatenating them... 03:33
Zoffix That's not a real program though. 03:34
MasterDuke_ i didn't say it was a release blocker
Zoffix m: my $a = "a" x 2**30; my $b = $a x 2**30; say($a xx 1000) 03:37
camelia Can't repeat string, required number of graphemes 1152921504606846976 > max allowed of 4294967295
in block <unit> at <tmp> line 1
Zoffix m: my $a = "a" x 2**30; my $b = $a x 2**30; say($a xx 1000000)
camelia Can't repeat string, required number of graphemes 1152921504606846976 > max allowed of 4294967295
in block <unit> at <tmp> line 1
Zoffix m: dd 1152921504606846976.log: 2
camelia 60e0
Zoffix Ah, right
MasterDuke_ it's a MVMuint64 03:38
fyi to anyone and everyone, github.com/rakudo/rakudo/pull/1073 has been updated with a typed exception 03:42
Geth rakudo/nom: 204ea59b45 | (Zoffix Znet)++ | src/core/io_operators.pm
[io grant] Make &say(**@args) 70%− faster

  - Measured with $*OUT set to a file handle opened for file writing
  - 70% faster for 2-arg calls and boost gets smaller the more args we have,
   with 12-arg version being 35% faster
03:53
rakudo/nom: 6d7fc8e694 | (Zoffix Znet)++ | src/core/io_operators.pm
[io grant] Make &put(**@args) up to 70% faster

  - Measured with $*OUT set to a file handle opened for file writing
  - 70% faster for 2-arg calls and boost gets smaller the more args we have
04:07
Zoffix .tell nine Inline::Perl5's install is busted: gist.github.com/zoffixznet/487bcec...38b1294528 At first glance, looks like some files are missing from `provides` META section. Like these ones: github.com/niner/Inline-Perl5/comm...1b2c965fd2 04:20
yoleaux Zoffix: I'll pass your message to nine.
Zoffix .tell lizmat looks like Weekly-worthy material: szabgab.com/blog-engine-in-perl6.html 04:22
yoleaux Zoffix: I'll pass your message to lizmat.
Geth rakudo/nom: 76af536715 | (Zoffix Znet)++ | src/core/IO/Handle.pm
[io grant] Make 1-arg IO::Handle.say up to 2x faster

  - Speedup is lower the bigger the thing to write is
  - Was gonna use this method to simplify 1-arg &say and make it a hair
   faster, but there's a (possibly wrongish) test blocking such
   a change.
05:34
Zoffix :/ 05:41
Removing IO::Handle.iterator busts a lot of tests it seems
Ah, it's github.com/rakudo/rakudo/commit/6b...c35de163f8 05:46
.ask lizmat how come we have IO::Handle.iterator? It makes stuff like `for $handle { … }` and `$handle.map` auto-magically iterate over lines from the handle. IMO that's too surprising and I want to remove it. Is there a reason to keep .iterator that I don't know of? 05:48
yoleaux Zoffix: I'll pass your message to lizmat.
Geth roast: 1ed18b4319 | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Add test for .perl.EVAL roundtrip with combiners

RT#126935: rt.perl.org/Ticket/Display.html?id=126935
05:59
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=126935
Zoffix I now have RSI thanks to Shadow Warrior 2 game -_- 06:01
Guess I should stop hacking for a bit and... take a nap
[Tux] This is Rakudo version 2017.04.3-132-g76af53671 built on MoarVM version 2017.04-44-gf0db8822 06:21
csv-ip5xs 3.216
test 13.546
test-t 4.616 - 4.669
csv-parser 13.682
Zoffix now has now lost bearings on what bench numbers are good :/ 06:22
[Tux] this is the new timing with test-t *not* using Slang::Tuxic. The first tests showed 4.436
Zoffix: 4.616 is the runtime in seconds to parse 10000 lines of CSV, so the lower the better 06:23
perl5 + Text::CSV_XS uses a mere 0.033 seconds
Zoffix Yeah, but a day ago it was around 5.2 today's changes might've made it 5.1 or 5.3, but due to the using Slang::Tuxic change I've no idea what the new numbers mean 06:24
Why was it removed anyway? Isn't it just a bench script and isn't used for any other purpose? 06:25
it being "use Slang::Tuxic" in test-t
[Tux] ah: Text::CSV uses Slang::Tuxic, but that is precompiled. The calling script is not precompiled, and lizmat and timotime decided it was "cleaner" to test Text::CSV without the overhead of Slang::Tuxic in the calling script, as they expect most users won't use it 06:26
Zoffix ok
[Tux] as a slang in the calling script causes about .5 seconds overhead, they wanted it out
Zoffix buggable: speed 06:27
buggable Zoffix, ▅▅▄▅▄▅█▆▄▄▅▅▅▅▅▅▆▅▅█▅▇▆▆▆▆▇▆▅▅▆▅▄▄▅▅▅█▆▆▅▆▇▇▅↓↓↓↓▁ data for 2017-04-12–2017-05-01; range: 4.400s–5.479s; 11% faster
Zoffix heh
[Tux] still thinks this is unfair :)
samcv faster? 06:30
reading
oh interesting 06:31
Zoffix ZOFFLOP: t/spec/S11-modules/nested.t 06:42
Geth rakudo/nom: 134efd8393 | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Fix .perl for IO::Path and subclasses

Fixes RT#131185: rt.perl.org/Ticket/Display.html?id=131185
  - Coercer doesn't take any named args; use .new() instead
  - Always include $!CWD. Fixes failure to roundtrip Win32 paths that
   start with a slash
  - Use right type for subclasses. Given them their own .perl, since
   they don't need to include $!SPEC
06:53
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131185
roast: 704210c519 | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Test we can roundtrip IO::Path.perl

RT#131185: rt.perl.org/Ticket/Display.html?id=131185 Rakudo fix: github.com/rakudo/rakudo/commit/134efd8393
06:54
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131185
Geth rakudo/nom: 69320e7fa8 | (Zoffix Znet)++ | src/core/IO/Path.pm
[io grant] Fix .IO on :U of IO::Path subclasses

Since IO::Path.IO is for :D, we end up in Cool:U multi that gives IO::Path and not a subclass.
07:01
roast: 2689eb1e87 | (Zoffix Znet)++ | S32-io/io-path.t
[io grant] Test .IO on :U of IO::Path subclasses

Rakudo fix: github.com/rakudo/rakudo/commit/69320e7fa8
nine I've just read through the comments on the RPerl grant proposal. Kinda depressing read. 07:44
yoleaux 30 Apr 2017 21:04Z <japhb> nine: With a Rakudo built from scratch a few minutes ago, I am unable to install Inline::Perl5 using zef, despite tests passing. Error: ===> Install [FAIL] for Inline::Perl5:ver('0.26'):auth('github:niner'): ===SORRY!=== Could not find Inline::Language::ObjectKeeper at line 4 in: ...
04:20Z <Zoffix> nine: Inline::Perl5's install is busted: gist.github.com/zoffixznet/487bcec...38b1294528 At first glance, looks like some files are missing from `provides` META section. Like these ones: github.com/niner/Inline-Perl5/comm...1b2c965fd2
lizmat Files=1192, Tests=56874, 210 wallclock secs (12.28 usr 4.85 sys + 1230.62 cusr 124.90 csys = 1372.65 CPU) 07:47
yoleaux 04:22Z <Zoffix> lizmat: looks like Weekly-worthy material: szabgab.com/blog-engine-in-perl6.html
05:48Z <Zoffix> lizmat: how come we have IO::Handle.iterator? It makes stuff like `for $handle { … }` and `$handle.map` auto-magically iterate over lines from the handle. IMO that's too surprising and I want to remove it. Is there a reason to keep .iterator that I don't know of?
lizmat m: dd Seq.new(42.iterator) 07:49
camelia (42,).Seq
lizmat Zoffix: if IO::Handle doesn't have an iterator method, it will just create an iterator with one element in it
Zoffix lizmat: is that bad? 07:50
Automatically turning up with a Seq of lines has the automagical feel of Perl 5 to it... 07:51
lizmat well, then there's the thing about automatically closing it when the iterator exhausts 07:52
the commit message states it made things 10% faster 07:53
Zoffix lizmat: I don't think that's related to adding an IO::Handle.iterator, but rather using an iterator to power IO::Handle.lines
s/method iterator/method !LINES-ITERATOR/; would still have the same perf boost, wouldn't it?
lizmat probably because it can bypass .get if it knows it is =:= IO::Handle
Zoffix: perhaps, you're in charge in that area now :-) 07:54
Zoffix OK
nine Looking at that Inline::Perl5 failure, it's a good thing that I have not declared a new version. Doesn't help at all though since our installers don't care about declared versions and just install git master :/ 07:57
samcv who runs the hack.p6c.org server? i need somebody to install fuse for me 08:18
so this appimage will actually be created which has every single nonfailing module in it :D
at least theoretically it should. no reason it shouldn't
Zoffix how to install 08:19
samcv debian?
Zoffix Yeah 08:20
jesse
samcv i think it's just called fuse
Zoffix samcv: done. I think 08:23
samcv ok it probably works. will find out when it finishes trying to install all modules again 08:24
since i started it a few mins ago and it clears the files
Geth nqp/master: 4 commits pushed by (Pawel Murias)++ 09:46
dogbert17 lizmat: are you around? 10:08
check this out
m: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; $i++; $set{$i} = True; $i--; $set{$i} = True; dd $set; # Heh ? 10:09
camelia SetHash $set = SetHash.new(1001,1001)
Geth rakudo/nom: 3829488f14 | (Stefan Seifert)++ | 2 files
Speed up module loading a bit by persisting source checksum

There's no need for calculating the checksum of an installed source file over and over, when it can change only on installation. So instead, we calculate it at install time and record it in the short-name lookup file where we already store the name of the source file. With this change, we no longer read any source file when loading an installed module (dependencies were already covered).
11:01
lizmat dogbert17: care to rakudobug it ? 11:02
m: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; $i++; dd $set # the actual problem 11:05
camelia SetHash $set = SetHash.new(1002)
lizmat m: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly
camelia SetHash $set = SetHash.new(1001)
SetHash $set = SetHash.new(1002)
dogbert17 lizmat: I'll rakudobug it, give me a few minutes :) 11:09
lizmat dogbert17: I've got a fix already
so, whatever you feel ok with
dogbert17 what would be a good title 11:11
you're quicl as lightning :) 11:12
*quick
lizmat well, I happened to be working a lot in that area recently, so I had a pretty good idea of where to look 11:13
dogbert17 any title suggestion? 11:14
lizmat eh... SetHash retains container rather than object
dogbert17 mail sent to rakudobug ... let's hope it shows up 11:16
that part is a bit like hit and miss 11:17
lizmat spectest is ok 11:18
will wait with commit until we have an RT id
dogbert17 cool, do you think the SetHash was the only type affected? 11:19
yay, RT #131240 11:24
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131240
Geth rakudo/nom: 551b8a69e0 | (Elizabeth Mattijsen)++ | src/core/SetHash.pm
Fix for RT #131240, dogbert17++
11:28
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131240
lizmat dogbert17: yeah, think it was the only type affected 11:37
dogbert17 cool, do we need a test?
lizmat in any case, I'm reworking some Bag/Mix internals at the moment
I replied to the RT mail with the message "tests needed " :-)
dogbert17 I guess that the example could be turned into a test quite easily, I could do that if you tell me in what file to put it :) 11:38
lizmat ls t/spec/*/sethash*.t 11:39
t/spec/S02-types/sethash.t
dogbert17 will fix
lizmat dogbert17++
dogbert17 lizmat: does this look ok ? gist.github.com/dogbert17/1641b0e6...efe09067ed 11:55
lizmat well, that's also testing .pick 11:56
dogbert17 well I need to get the key somehow 11:57
if I change the last line to 'is-deeply $set, SetHash.new(1001), "SetHash retains object, not container";' 12:01
lizmat ok $set{1001} 12:03
should do the trick I think
Geth roast: dogbert17++ created pull request #264:
Test for RT 131240 - SetHash retains object, not container
12:07
roast: 0e018d48b5 | (Jan-Olof Hendig)++ | S02-types/sethash.t
Test for RT 131240 - SetHash retains object, not container
12:08
roast: 8d17fbdda0 | lizmat++ (committed using GitHub Web editor) | S02-types/sethash.t
Merge pull request #264 from dogbert17/rt-131240

Test for RT 131240 - SetHash retains object, not container
dogbert17 lizmat: bug is now marked as resolved :) 12:12
lizmat thanks!
dogbert17 the code I had, which uncovered the problem, now works again 12:13
lizmat cool, afaics it wasn't a recent breakage, or was it ? 12:14
dogbert17 well, it seemed to work in 2016-12 at least, perhaps AlexDaniel can figure out when the breakage occured 12:15
AlexDaniel hello 12:16
dogbert17 hi
AlexDaniel e: gist.githubusercontent.com/dogbert...6/test.pl6
lizmat star: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly
evalable6 AlexDaniel, Successfully fetched the code from the provided URL.
camelia SetHash $set = SetHash.new(1001)
SetHash $set = SetHash.new(1001)
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/eGFgxgrPmT
Undeclared routine:
is used at line 7
dogbert17 hmm 12:17
AlexDaniel bisect: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly
bisectable6 AlexDaniel, On both starting points (old=2015.12 new=551b8a6) the exit code is 0 and the output is identical as well
AlexDaniel, Output on both points: «SetHash $set = SetHash.new(1001)␤SetHash $set = SetHash.new(1001)»
AlexDaniel right, it's broken in 2017.04.3 12:18
bisect: new=2017.04.3 my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly
bisectable6 AlexDaniel, Bisecting by output (old=2015.12 new=2017.04.3) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/3766b2535b4a6c5e80...06f0dc9451
AlexDaniel, (2017-04-07) github.com/rakudo/rakudo/commit/a4...a9bfdaf6a2
AlexDaniel and then it was fixed again I guess?
bisect: old=2017.04.3 my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly
bisectable6 AlexDaniel, Bisecting by output (old=2017.04.3 new=551b8a6) because on both starting points the exit code is 0
AlexDaniel, bisect log: gist.github.com/26346613cb371e893f...f5bb6ccd0f
AlexDaniel, (2017-05-01) github.com/rakudo/rakudo/commit/55...cc6881a7d6
AlexDaniel dogbert17: but that's not what you were asking, right? :) 12:19
dogbert17 Well, the code seemed to work in 2016-12 (which I have) but not earlier today so we're interested in when the breakage occured 12:20
AlexDaniel c: a4b30dc7d14a56b^,a4b30dc7d14a56b my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly 12:22
committable6 AlexDaniel, ¦a4b30dc7d14a56b^: «SetHash $set = SetHash.new(1001)␤SetHash $set = SetHash.new(1001)» ¦a4b30dc: «SetHash $set = SetHash.new(1001)␤SetHash $set = SetHash.new(1002)»
AlexDaniel dogbert17: you mean this? ↑
Geth rakudo/nom: 451a238070 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
Make Baggy.EXISTS-KEY about 8% faster

Not much, but for such essential functionality worthwhile.
dogbert17 yeah 12:23
m: my SetHash $set = SetHash.new; my $i = 1001; $set{$i} = True; dd $set; $i++; dd $set # more clearly 12:24
camelia SetHash $set = SetHash.new(1001)
SetHash $set = SetHash.new(1001)
dogbert17 so it was the commit on April 7th? 12:26
btw, can you amend/update a pull request which has already been merged? 12:27
there is a moronic typo in the PR I sent, i.e. in the code comment I wrote 130240 instead of 131240 12:29
AlexDaniel dogbert17: yes, you will have to force pushe it 12:31
push*
but it's ok if it's in your own fork
pmurias can I rerun travis tests for a MoarVM PR? I fixed the nqp tests that where failing? 12:35
Geth star: c5a440681d | (Steve Mynott)++ | docs/announce/2017.04.md
Doc MoarVM version correctly. Add https.
12:36
star: 4b74d71e6b | (Steve Mynott)++ | modules/doc
bump doc
12:42
[Coke] I think you can re-run any set of travis tests if you're looking at the results. 12:46
timotimo dogbert17: if the PR has already been merged, you'll update the UI on github and maybe it'll re-open it, but it won't change what's in the master branch 12:48
Geth star: a05b933581 | (Steve Mynott)++ | README
bump Star version in README and stress JVM build is experimental
12:51
rakudo/nom: eb1ce4142f | (Elizabeth Mattijsen)++ | 2 files
Scrape off the tiniest bit on Hash.EXISTS-KEY

Around 1%, but again, maybe worthwhile for many applications.
13:10
lizmat argh, what is the URL for test-t data again ? 13:20
looking at the improvement made in 2016
*for 13:21
timotimo huggable: csv 13:23
huggable timotimo, github.com/Tux/CSV (see `bench csv` for how to run bench)
timotimo no
buggable: csv
buggable: speed
buggable timotimo, ▅▅▄▅▄▅█▆▄▄▅▅▅▅▅▅▆▅▅█▅▇▆▆▆▆▇▆▅▅▆▅▄▄▅▅▅█▆▆▅▆▇▇▅↓↓↓↓▁ data for 2017-04-12–2017-05-01; range: 4.400s–5.479s; 11% faster
timotimo huggable: speed
huggable timotimo, tux.nl/Talks/CSV6/speed4.html
timotimo there it is
lizmat whee 13:24
AlexDaniel timotimo: so… what caused it? 13:36
lizmat AlexDaniel: removing 'use Slang::Tuxic' from the test script 13:37
as we want to test Text::CSV for "normal" users (as in the ones that don't have Tux's coding preferences) 13:38
timotimo what caused what? 13:39
lizmat I felt we could/should make test-t.pl be generic Perl 6 code without Slang::Tuxic
timotimo oh, that
Zoffix AlexDaniel: the "11% faster" are really "5% slower"; we just removed a specialty module most users wouldn't be using, so that the numbers compared to other benches are more fair
And my best guess for why slower is we fixed bugs in string/regex/IO stuff 13:40
lizmat m: say now - BEGIN now; sub prefix:<!>(\a) { a } 13:42
camelia 0.0149347
lizmat m: say now - BEGIN now; sub postfix:<!>(\a) { a } # rewrite grammar
camelia 0.28631672
lizmat m: my $b = <a b c>.BagHash; $_ = -1 for $b.values; dd $b # yikes 13:55
camelia BagHash $b = ("b"=>-1,"a"=>-1,"c"=>-1).BagHash
lizmat m: my $b = <a b c>.BagHash; $_ = 0 for $b.values; dd $b # yikes
camelia BagHash $b = ("b"=>0,"a"=>0,"c"=>0).BagHash
lizmat is looking at that
Geth rakudo/nom: 1192a03baa | (Zoffix Znet)++ | src/core/IO/ArgFiles.pm
Revert "Fix crash on ^D to $*IN when reading with IO::ArgFiles"

This reverts commit 4b8fd4a4f9c57ca60bf63d2cdb09a450f62d0142.
14:06
rakudo/nom: 7a45cba45a | (Zoffix Znet)++ | src/core/IO/ArgFiles.pm
Revert "Wean IO::ArgFiles away from IO::Handle.lines(:close)"

This reverts commit 6be395e310104f91f06fc6424a175dc35de163f8.
rakudo/nom: eb8d006e64 | (Zoffix Znet)++ | src/core/IO/Handle.pm
[io grant] Make IO::Handle.iterator a private lines iterator

Fixes unwanted automagical behaviour of for $fh { ... } looping over the .lines from the handle instead of the handle itself.
Discussion: irclog.perlgeek.de/perl6-dev/2017-...i_14512345
Previous two revert commits are part of the work in this commit and
  are just reverting IO::ArgFiles back to using .lines instead of
no-longer-available .iterator method. It was done mostly because
  `:close` arg on IO::Handle.lines was going away, but it stayewd.
roast: 40353f13ef | (Zoffix Znet)++ | S32-io/io-handle.t
[io grant] Test for IO::Handle:D { ... } loops over handle

  ...and not its .lines.
Rakudo fix: github.com/rakudo/rakudo/commit/eb8d006e64
Zoffix Perl developer survey is out: blog.builtinperl.com/post/perl-deve...s---part-1 14:25
Only 16% of survey answerers are new (within last 5 years) Perl 5 programmers
There's no real useful data for Perl 6 tho. Was just 1 question about "trying Perl 6" and from "what other langs you use" 4% of responders that use more than just Perl 5 listed Perl 6 as other lang 14:27
MasterDuke_ well, 46% have tried Perl 6, that's good 14:32
Zoffix Even the "trying Perl 6" data is bad actually... It doesn't specify any time periods. "Yeah, I tried Perl 6 10 years ago. It was unfinished and sucked"
Zoffix wants a Cat 14:48
m: "/tmp/foo2".IO.spurt: "abc\ndefg\nhij"; my $*DEFAULT-READ-ELEMS = 1; dd "/tmp/foo2".IO.open.comb: /\S+/
camelia ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j").Seq
Zoffix m: "/tmp/foo2".IO.spurt: "abc\ndefg\nhij"; my $*DEFAULT-READ-ELEMS = 2; dd "/tmp/foo2".IO.open.comb: /\S+/
camelia ("ab", "c", "de", "fg", "h", "ij").Seq
Zoffix The same bug exists with IO::Handle.split as well. The boundary between reads screws stuff up. 14:49
lizmat hmmm... 14:50
yeah, a Cat would be nice 14:51
please rakudobug :-)
Zoffix The Cat? 14:52
lizmat yeah, that too, it's been loooong overdue :-)
Zoffix I was gonna fix the .comb/.split stuff as part of the grant 14:53
Well, the original issue is not all the features of Str.split/(and I think .comb) are implemented 14:54
lizmat well, there's always .slurp.split :-) 14:56
Geth rakudo/nom: 5ec8a4644e | (Elizabeth Mattijsen)++ | src/core/Baggy.pm
Streamline Baggy.AT-KEY/DELETE-KEY a bit
14:57
Zoffix tries a hand at making a Cat 15:10
1 female cat. Check: i.imgur.com/sNOLIvn.jpg
.... wonder what else I'll need.
timotimo is that your cat? 15:11
Zoffix Yeah
timotimo cool pattern
Zoffix Yup. Got a black heart on her right shoulder: i.imgur.com/I0sEZk7.jpg 15:14
ZofBot: black heart of doom from killer cat!
ZofBot Zoffix, Files=1192, Tests=56874, 210 wallclock secs (12.28 usr 4.85 sys + 1230.62 cusr 124.90 csys = 1372.65 CPU)
AlexDaniel amazing answer 15:24
Zoffix baaah 15:27
The gist/put not using .Str/.gist on Str types is already affecting Cat :|
'cause I figure it should be an Str and be able to be used anywhere a Str can be used
timotimo Cat must be a subtype of Str?
Zoffix Not must, but it's just a lazy Str... not making it a subclass is silly 15:28
jnthn Cat should be Stringy, but not Str
Zoffix Ah, OK
jnthn (That's the reason we added the Stringy role) 15:29
(Or at least, so far as I remember :))
Zoffix :)
jnthn I think gist/put on Str should be able to assume they have a Str they can just unbox 15:30
If somebody writes a subclass that isn't OK with that, then I call Liskov. :)
Zoffix They can just add more candidates to handle their subclass, I think.
jnthn That also :)
stmuk_ rakudo.org/2017/05/01/announce-raku...e-2017-04/ 15:35
Zoffix wooo \o/
stmuk_++
stmuk_ nice cat 15:36
BTW
MasterDuke_ stmuk_++, but minor typo 'In particular This release' 15:37
stmuk_ grrr
fixed on the website anyway! 15:38
Zoffix stmuk_: FWIW, there was another upgrade notice for lexical require: rakudo.org/2017/03/18/lexical-requi...rade-info/ 15:39
(to go with the 3 IO ones you listed)
stmuk_ goo.gl/eFaSXg 15:40
Zoffix So... where do I go to get papers on lazy string stuff? 15:44
uuu github.com/papers-we-love/papers-we-love
MasterDuke_ m: say q| '$a' | ~~ m/<<'$a'>>/ 15:46
camelia False
MasterDuke_ m: say q| 'a' | ~~ m/<<'a'>>/ 15:47
camelia 「a」
Zoffix That's correct output.
timotimo stmuk_++ 15:48
MasterDuke_ huh. how's that?
Zoffix `'` and `$` do not have a << boundary between them, so there's no match. The single quotes in the regex just quote the string, they're not the literal quotes
MasterDuke_ yeah, i'm just using them in the regex to quote the literal, i don't want to match them
Zoffix The << is a boundary between \W and \w, not \s and \S 15:49
MasterDuke_ oh, right
Zoffix s/, not//; # wouldn't have matched anyway due to quotes 15:50
s/, not.+//; # wouldn't have matched anyway due to quotes
|Tux| This is Rakudo version 2017.04.3-142-g5ec8a4644 built on MoarVM version 2017.04-44-gf0db8822 15:51
csv-ip5xs 2.977
test 12.963
test-t 4.376 - 4.381
csv-parser 12.538
Geth rakudo/nom: 1f80dba186 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Oops, forgot vi hint for new R:Q file
16:17
Zoffix ZofBot: Finite-State Reduplication in One-Level Prosodic Morphology 16:41
ZofBot Zoffix, Note, though, that if you remap a section of "buf32" memory to be "buf8", you'll have to multiply all your positions by 4
Zoffix noted. 16:42
lizmat wish we could have ANI semantics for Perl 6 www.ybrikman.com/writing/2014/04/09...that-will/ 17:08
Zoffix "The unusual syntax is tough to parse, and the language seems dead".... or maybe not :P 17:10
lizmat well, that's basically how I envisioned true multiprocessing 17:13
a long time ago
let the system figure out what can be done in parallel :-)
Zoffix :) 17:14
The "Dependent types" section is kinda like our subsets, if you remove the "compile time" prereq, since some values aren't known at compile time...
m: -> UInt {}(-1); say "runtime" 17:15
camelia Constraint type check failed in binding to parameter '<anon>'; expected UInt but got Int (-1)
in block <unit> at <tmp> line 1
MasterDuke_ yeah, thought that too
Zoffix m: say "runtime"; -> UInt {}(-1);
camelia runtime
Constraint type check failed in binding to parameter '<anon>'; expected UInt but got Int (-1)
in block <unit> at <tmp> line 1
Zoffix yeah
m: say "runtime"; BEGIN -> UInt {}(-1);
camelia 5===SORRY!5=== Error while compiling <tmp>
An exception occurred while evaluating a BEGIN
at <tmp>:1
Exception details:
Constraint type check failed in binding to parameter '<anon>'; expected UInt but got Int (-1)
in code at <tmp> li…
Zoffix hehe
"The sentence is_string characterizes valid string models and is defined as is_string def = ∀x, y, z.(∨a∈ΣLa(x))∧∧a6=b∈Σ(La(x) → ¬Lb(x))∧(S(x, y)∧S(x, z) → y = z)∧(first(x)∧first(y) → x = y). It is easy to see that a structure satisfying is_string property uniquely characterizes a string" 17:37
I think I'm done hunting for CS papers and will just wing it :P
timotimo :D :D 17:38
lizmat hehe 17:41
Geth rakudo/nom: c1bd844e27 | (Elizabeth Mattijsen)++ | 2 files
Fix for RT #131241

This actually also allows for:
   for $b.values {
   $_ = 0; # remove from BagHash
   $_ = 42; # reinstate
   }
... (6 more lines)
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
MasterDuke_ fyi to anyone and everyone, github.com/rakudo/rakudo/pull/1073 has been updated with a typed exception and some adapted tests from roast. if/when this is merged i'll change the roast tests to just look for the correct type of Exception 17:45
Geth rakudo/nom: 0e0ac2fb8c | (Elizabeth Mattijsen)++ | src/core/MixHash.pm
Oops, fix a copy-pasto

For MixHashes we accept any HLL numeric value that is not 0.
17:51
rakudo/nom: 7 commits pushed by MasterDuke17++, (Daniel Green)++, lizmat++
lizmat MasterDuke_++ 17:52
MasterDuke_ lizmat++, thanks 17:54
TimToady finally back to civilization, but now has an infestation of grandkids :) 18:06
Zoffix :O
:o
lizmat
.oO( takes a while to build an infestation of those :)
18:23
m: my $b = <a b c>.BagHash; .value = -1 for $b.pairs; dd $b # RT #131241 goes deeper :-( 18:24
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
camelia BagHash $b = ("b"=>-1,"a"=>-1,"c"=>-1).BagHash
lizmat m: my $b = <a b c>.BagHash; for $b.kv -> \k, \v { v = -1 }; dd $b # much deeper :-( 18:25
camelia BagHash $b = ("b"=>-1,"a"=>-1,"c"=>-1).BagHash
lizmat but that will be for tomorrow 18:29
dinner& 18:53
Zoffix Looks like The Curse of 2017.04 Releases is still alive and is now affecting Rakudo Star releases :P twitter.com/mike_sanderson/status/...4922962944 19:13
lizmat *sigh* so should I mention the Rakudo Star release in the P6W or not ? 19:37
Zoffix lizmat: mention it and say there's a problem and people should keep an eye on updated version? 19:39
lizmat so does it prevent users to use R* on Windows completely, or just when they want to install in a non-standard location ?
TimToady perl6.bat starts: @ "C:\Users\steve\temp\rakudo-star-2017.04\install\bin\moar" 19:40
which is already a bit non-standandard :) 19:41
TimToady likes "non-standardard"
sort of self-descriptive...
lizmat ah, ok, so basically useless for Win users atm 19:42
Zoffix Or... we could launch a marketing campaign: Personalized Rakudo Star distribution. "Share a Perl 6 with... `steve`": s-media-cache-ak0.pinimg.com/origi...45d007.jpg 19:43
lizmat :-) 19:44
timotimo you are our star 19:48
Zoffix :) 19:49
AlexDaniel “There are 399,502 people in the U.S. with the first name Steve.“ 19:59
timotimo that's a nice little user base right there 20:08
Zoffix m: dd <42.1>.Numeric.^name 20:19
camelia "Rat"
Zoffix Seems if we make allomorphs do an empty role, say `NumericStr`, we can reduce the number of candidates and fix the ambiguity thing too 20:20
m: say ([X] <Int Num Rational Complex> xx 2).combinations(2).elems 20:22
camelia 120
Zoffix m: $ = <42> cmp <1.2> 20:23
camelia Ambiguous call to 'infix:<cmp>'; these signatures all match:
:(Int:D \a, Rational:D \b)
:(Str:D \a, Str:D \b --> Order:D)
in block <unit> at <tmp> line 1
Zoffix m: $ = <42> eqv <1.2>
camelia Ambiguous call to 'infix:<eqv>'; these signatures all match:
:(Numeric:D \a, Numeric:D \b)
:(Str:D \a, Str:D \b)
in block <unit> at <tmp> line 1
Zoffix That ambiguity thing I mean ^
And those aren't really the right candidates
`is default` isn't working for me :/ gist.github.com/zoffixznet/93493f6...120d2e5c77 20:45
Full diff: gist.github.com/zoffixznet/f29917b...68271f192d 20:48
Ah, I'm blind. The rational candidate also has is default on it -_- 20:50
is there `is default is default`? If two ambiguious candidates, use the one with two defaults
m: multi infix:<foo> (Str:D, Str:D) is default {}; multi infix:<foo> (Int:D, Int:D) is default {}; <1> foo <2> 20:53
camelia Ambiguous call to 'infix:<foo>'; these signatures all match:
:(Str:D $, Str:D $)
:(Int:D $, Int:D $)
in block <unit> at <tmp> line 1
Zoffix Like, I need for it to pick up the `Int` candidate.
But Str candidate still needs is default :/ 20:54
Ah 20:58
m: dd ([X] <Num Int Rat Complex> xx 2).elems
camelia 16
Zoffix There's only 16 candidates. My math that gave me 120 was wrong :)
m: dd IntStr.new(42, 'x') eqv <42> 21:13
camelia Bool::True
samcv is defaulter 21:16
heh.
Zoffix :)
samcv then we will have defaultest
for the most default of the defaults 21:17
geekosaur defaultererester 21:19
samcv or is default(3)
i mean would it be possible to give them numbers?
Zoffix uuhhh... a bunch of failures in roast :/ wonder how many are due to my change
Zoffix reset --hard's and recompiles
teh failures: gist.github.com/zoffixznet/1b8e250...24d6e525db 21:20
lizmat the baghash/mixhash ones are mine 21:23
when I tried to fix those, I realized that my fix for RT #131241 was incomplete
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
lizmat so I didn't fix it yet 21:24
will do so now
Zoffix And the signature/misc are likely due to the exceptions PR that went in; and t/spec/S17-promise/nonblocking-await.t just flopped 21:25
ZOFFLOP: t/spec/S17-promise/nonblocking-await.t 21:26
Geth roast: 233717633d | (Elizabeth Mattijsen)++ | 2 files
Fix tests broken by fix to RT #131241
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131241
Geth rakudo/nom: e5870c11df | (Zoffix Znet)++ | src/core/allomorphs.pm
Add `eqv` and `cmp` candidates for mixed allomorphs

Otherwise we get "Ambiguous call" error. The `===` op does not appear to need similar treatment.
Bug find: irclog.perlgeek.de/perl6/2017-05-01#i_14514985
21:43
roast: ab8d175f01 | (Zoffix Znet)++ | S02-literals/allomorphic.t
Test mixed allomorphs can be `eqv`ed and `cmp`ed

Bug find: irclog.perlgeek.de/perl6/2017-05-01#i_14514985 Rakudo fix: github.com/rakudo/rakudo/commit/e5870c11df
21:44
Zoffix samcv: ^ that fixed the bug you had
samcv yay :) 21:45
Zoffix Oh, forgot to mention on the commit message: this also fixes `eqv` for allomorphs; it was incorrectly using `||` instead of `&&` and so IntStr.new(42, "x") was `eqv` IntStr.new(72, "x") 21:46
Geth roast: c442a072c4 | (Zoffix Znet)++ | S02-literals/allomorphic.t
Test manually-made allomorphs `eqv` right

Using both Numeric and Str parts. Rakudo fix: github.com/rakudo/rakudo/commit/e5870c11df
21:52
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/05/01/...tarbright/ 22:38
timotimo lizmat: you missed the opportunity to write "fixed various issues first with orelse and then with andthen" :P 22:42
lizmat so WHAT :-) 22:44
m: say "sphere" if not so WHAT pi 22:51
camelia sphere
Zoffix lizmat++ good weekly. And good rocket video :P
lizmat yeah, that was cool, wasn't it?
Zoffix Yeah, very futuristic
lizmat good night, #perl6-dev! 22:58
timotimo gnite lizmat
lizmat++ # weekly
Zoffix night 23:02
samcv argh my travi still failing due to URI not passing tests 23:46
write string requires an object with REPR MVMOSHandle (got Scalar with REPR P6opaque)
does not look that great travis-ci.org/samcv/keira-perl6-ir...2055#L1487 23:47
anybody know if this is a bug that was introduced?