Geth roast: 693f5d56fb | (Zoffix Znet)++ | S02-types/pair.t
Remove faulty Pair.invert tests

The tests index return value with `[0]` failing to check what type the return value is. Due to this, they failed to detect a bug where
  .invert was returning a Pair instead of a Seq in some cases.
That bug is now fixed[^1] and I'm removing these tests entirely, ... (5 more lines)
00:01
Zoffix "... because I added better tests in previous commit so these tests are covered and not needed"
AlexDaniel Zoffix: hello 00:11
what do you think about this
greppable6: password
greppable6 AlexDaniel, gist.github.com/b7445dc99dc22301ed...82511011ab
AlexDaniel greppable6: 4\d
greppable6 AlexDaniel, gist.github.com/9f0eb52f8abd8ecea5...4ff393d9d4 00:12
Zoffix AlexDaniel: what do I need to think? 00:13
Oh
AlexDaniel Zoffix: I don't know… you asked for a bot, is this what you wanted?
Zoffix AlexDaniel: you threw me off with the 'password' thing :)
AlexDaniel is there anything I can do for you?
Zoffix Got me paranoid a bit :D 00:14
AlexDaniel: awesome! AlexDaniel++
I thought it was the channel log grepper and you grepping for password :D
greppable6: '(<)'
greppable6 Zoffix, gist.github.com/5c35f676589371ba6c...1429178d45
AlexDaniel it takes a --perl-regexp, so should be flexible enough
yeah… yeah… 00:15
greppable6: \(\<\)
greppable6 AlexDaniel, gist.github.com/8eb24ab626611bcfbd...ac578010a8
Zoffix Very cool. AlexDaniel++ thanks!
AlexDaniel Zoffix: maybe eventually I can add a perl 6 mode that will take forever but will take proper regexes… 00:16
just like quotable6 does
Zoffix greppable6: hack|kludge|bad\s+idea 00:21
greppable6 Zoffix, gist.github.com/e5f24e6d394a8a7921...71b4deee82
AlexDaniel Zoffix: pffffff XD
Zoffix :D 00:22
greppable6: \$\!PIO
greppable6 Zoffix,
Zoffix That means nothing found? 00:23
greppable6: \bPIO\b
greppable6 Zoffix, gist.github.com/7f35d3025e5b4cea92...c5a3648a47
Zoffix cool. Very useful
AlexDaniel Zoffix: this means I'm an idiot, but yes, you kinda guessed it 00:27
Zoffix :) 00:29
AlexDaniel grep: No username and password are sent to the server 00:43
greppable6 AlexDaniel, Juerd/p6-mqtt/lib/MQTT/Client.pm:250:No username and password are sent to the server.
AlexDaniel not sure if this is by design… :)
Zoffix grep: Zoffix 00:44
greppable6 Zoffix, gist.github.com/f35e6ee6f6a42fcde2...4567791e68
Zoffix
.oO( what if the gist was a Markdown document, with the lines linking to actual repos )
00:46
AlexDaniel that would be perfect, except that last time I checked there was no proper way to escape things in markdown 00:48
Zoffix Ah
ugexe do any of the formats? README.pod gets rendered, for instance 00:49
AlexDaniel at least, I don't really know how to do that with markdown: gist.github.com/AlexDaniel/1c055fe...bd8cd28097 00:51
maybe there is a way
but yes, we can try .pod or something else
this would also work for quotable 00:52
alright, I have to get some sleep 00:54
good *, #perl6*!
Zoffix \o 00:55
Zoffix does so as well
ugexe maybe we should put the cpan index on p6c as well. github.com/ugexe/Perl6-App--ecogen 00:56
Geth rakudo/nom: 833c12ef02 | usev6++ | src/core/IO/Socket/INET.pm
Use nqp::getport with MoarVM backend only

That op is only implemented in MoarVM at the moment. Unbreaks the JVM build.
05:11
nqp: dd09bbc15d | (Samantha McVey)++ | Configure.pl
Error out when trying to build with the js backend without moar

It does not appear to be possible to build with Configure.pl --backend=js So stop and display a useful error message instead of erroring out with weird error messages later on.
05:24
[Tux] This is Rakudo version 2017.05-63-g833c12ef0 built on MoarVM version 2017.05-24-gd86a35b6 06:23
csv-ip5xs 2.590
test 12.834
test-t 4.315 - 4.357
csv-parser 13.668
nine ~ 07:20
yoleaux 23 May 2017 18:34Z <Zoffix> nine: seems camelia's JVM rakudo is stuck again. Uses Jan 3rd commit
nine WTH? fatal: unable to access 'github.com/rakudo/rakudo.git/': Failed to connect to github.com port 443: Connection timed out
Seems like all networking is broken in camelia's VM 07:24
Except of course that it's still in the IRC channel? 07:25
nine is using this opportunity to install some security updates 07:33
Ok, the reboot seems to have fixed network connectivity in camelia's VM 07:45
lizmat Files=1195, Tests=58920, 203 wallclock secs (12.62 usr 4.85 sys + 1221.23 cusr 115.67 csys = 1354.37 CPU) 07:59
nine j: say $*PERL.compiler.version 08:20
camelia v2017.05.63.g.833.c.12.ef.0
lizmat whee! 08:25
m: say $*PERL.compiler.version
camelia v2017.05.63.g.833.c.12.ef.0
Geth roast: 7216d6890e | (Elizabeth Mattijsen)++ | S03-operators/elem.t
Also test negative of is not elem / does not contain
08:37
jnthn mornin,g 08:43
heh, good start :P
nwc10 are we in the happy post-release place? 08:57
lizmat nwc10: hmmm... not sure 09:02
nine Hey, we haven't done any point releases yet ;) 09:04
jnthn After last month's release, that is reason for happiness :) 09:05
nwc10 so, I was wondering when the Rakduo test harness default will switch from Five to Six 09:06
lizmat there's still one bug in there: it doesn't show total number of tests while running ? 09:07
nwc10 er yes, good point 09:08
I had noticed that a few days ago and then forgot it again
lots of other things sloshing around in my head, such as "what colour should a house be?"
lizmat white # better to keep global warming out 09:09
jnthn Chatreuse!
nine jnthn certainly got more style ;) but I'm with lizmat on practicality 09:20
nwc10 you will be pleased to know that the current plan is "roughly white" and if there is a second colour, I decided on the paler version (because the colour chart does explicitly mention the solar reflectance of each) 09:23
lizmat j: say VM.osname 09:24
camelia Linux
lizmat m: say VM.osname
camelia linux
lizmat is adding an lc to make sure they match
Geth rakudo/nom: 122aca1c5d | (Elizabeth Mattijsen)++ | src/core/VM.pm
Make sure VM.osname always returns lowercase string
09:25
rakudo/nom: 5b25836f21 | (Elizabeth Mattijsen)++ | src/core/List.pm
Don't assume the key of a Pair is a Str

Spotted by nadim++ at:
   irclog.perlgeek.de/perl6/2017-05-24#i_14628878
09:39
Zoffix that's wrong tho 09:48
Ah, they all end up as named args 09:49
Guess rt.perl.org/Ticket/Display.html?id=131351 can be closed then
jnthn The alternative woulda been to make non-Str key Pairs just go through as positionals 09:51
Zoffix meh
too surprising
jnthn Could argue the same about calling .Str :) 09:52
Zoffix Why do they end up as named tho?
jnthn 'cus otherwise you'd break stuff like 09:53
m: sub foo() { 1, b => 2 }; my ($a, :$b) := foo(); say $a; say $b; 09:54
camelia 1
2
Zoffix ok 09:55
I would've thought you'd my ($a, :$b) := |foo() that 09:56
'cause right now it's unsafe to unpack a list if you don't know what's in it. You migth lose your data
jnthn That'd make a Slip
And then you'd only move the problem
Even if it made sense
Zoffix m: class { method x ( (*@a) ) { dd @a } }.x: [1, :42a, 'c' ], 09:57
camelia Unexpected named argument 'a' passed in sub-signature
in method x at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix OK
m: dd (4242342 => 42,).Capture 10:01
camelia \("4242342" => 42)
lizmat yeah that also seems wrong :-( 10:05
Geth rakudo/nom: 03486fd1a6 | (Elizabeth Mattijsen)++ | src/core/List.pm
Revert "Don't assume the key of a Pair is a Str"

This reverts commit 5b25836f21b2a84d4271a7a66c67b67f9ac79a82.
The fix is wrong, it should probably become an object hash.
10:06
jnthn ...object hash? 10:07
Zoffix m: -> *%_ { dd %_ }( |(4242342 => 42) )
camelia {"4242342" => 42}
jnthn We're trying to coerce to a Capture
Zoffix it does get stringified here too
jnthn: how come it gets stringfiied though?
It's not a valid name for a named arg anyway 10:08
jnthn Named args can be called anything
The restrictions on which you can conveniently write are only syntactic
Zoffix I see 10:09
jnthn Hurrah, finally I have a working make test again...
I knew doing this refactor for file handles would turn out much trickier than for sockets... 10:10
Zoffix \o/
jnthn (And this isn't even the big step, it's just preparation for it.)
Aww, some spectest failures 10:11
not ok 19 - unopened handle has utf8 encoding 10:12
tsssk
If it's unopened we dunno if it's even gonna be binary mode yet 10:13
Zoffix jnthn: that sounds like one of the new tests I added a week ago that test default values of attributes (in this case .encoding)
jnthn Ah
Zoffix So they're not part of 6.c-errata
jnthn Locally I've got has Str $.encoding; - that is, it's now allowed to be undefined 10:14
with open PATH, :w, :bin, :enc<e>, :!chomp, :nl-in[<a b>], :nl-out<meow>
This test now explodes 10:15
"Cannot open a handle in binary mode (:bin) and also specify an encoding"
in t/S32-io/open.t
Zoffix That also looks like something I wrote 10:16
jnthn :) 10:17
My new working model on this is that encoding undefined if the handle is opened in binary mode
Zoffix m: use Test; is-deeply (Mu => Any,).Capture, \('Mu' => Any)
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: \(:Mu(Any))
# got: \(:Mu(Any))
Zoffix Looks the same to me? :/ 10:18
m: use Test; is-deeply (Mu => Any,).Capture, \(:Mu(Any))
camelia ok 1 -
Zoffix I see
jnthn Looks like a .perl bug 10:19
But yeah, the issue boils down to the named vs. positional parameter distinction being syntactic usually
But when we're doing .Capture we don't have any syntax to go on
Geth rakudo/nom: 84e9794c9b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Express (cont) purely as (elem) internally

So we don't need to do optimizations more than once.
10:24
rakudo/nom: 352b252b77 | (Zoffix Znet)++ | src/core/List.pm
Revert "Revert "Don't assume the key of a Pair is a Str""

This reverts commit 03486fd1a67dc1ee8c1d49d8d9cae5a1353e3248.
Stringification is valid, per:
  irclog.perlgeek.de/perl6-dev/2017-...i_14629113
Fixes RT#131351: rt.perl.org/Ticket/Display.html?id=131351
10:27
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131351
roast: ae935c92eb | (Zoffix Znet)++ | S02-types/capture.t
Test List.Capture stringifies Pairs' keys

Rakudo fix: github.com/rakudo/rakudo/commit/5b25836f21 RT#131351: rt.perl.org/Ticket/Display.html?id=131351
synopsebot6 Link: rt.perl.org/rt3/Public/Bug/Display...?id=131351
rakudo/nom: e65800a84b | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Any (elem) Iterable:D between 1.3x and 110x faster

  - based on a 1000 elem array
  - 1.3x faster if matched on last array element or no match
  - 110x faster if matched on first array element
  - gain caused by not needing to coerce to Set, but check on the fly
10:34
Zoffix Sweet. lizmat++ 10:36
I like to use Any (elem) Iterable
Geth rakudo/refactor-handle-encoding: 338d51a8d0 | (Jonathan Worthington)++ | 5 files
Start to refactor IO::Handle encoding/bin mode.

This introduces a $!decoder attribute to IO::Handle. The presence of this is now used internally to determine if the handle is in binary mode. The $.encoding attribute is now a `Str` rather than a `str`, and will be the Str type object in the case where the file is in binary mode. ... (17 more lines)
10:43
jnthn Zoffix: Since you're doing IO stuff, you might like to look over that a bit :)
Zoffix jnthn: would this need updating as well? github.com/rakudo/rakudo/blob/338d...#L612-L624 10:48
jnthn Very much so, but still deciding on exactly now 10:49
*how
Zoffix k
looks good to me :)
jnthn Like, should you be able to do .encoding(Nil) to turn the file into a binary mode one
lizmat hmmm.. what is the best way to test if something returns actual True or False? 10:59
m: use Test; ok 1,"doesn't cut it"
camelia ok 1 - doesn't cut it
lizmat m: use Test; is 1, True
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: 'True'
# got: '1'
lizmat m: use Test; is 0, False
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: 'False'
# got: '0'
jnthn is-deeply
lizmat m: use Test; is False, False
camelia ok 1 -
jnthn m: use Test; is-deeply 1, True
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: Bool::True
# got: 1
lizmat m: use Test; is True, True 11:00
camelia ok 1 -
lizmat m: use Test; is False, "False"
camelia ok 1 -
lizmat ok, is-deeply it is :-)
m: use Test; is-deeply False, "False"
camelia not ok 1 -

# Failed test at <tmp> line 1
# expected: "False"
# got: Bool::False
lizmat m: use Test; is-deeply False, False 11:01
camelia ok 1 -
Geth rakudo/refactor-handle-encoding: 4c8b395edc | (Jonathan Worthington)++ | src/core/IO/Handle.pm
Re-work slurp[-rest] to use the streaming decoder.

Introduces a temporary regression in one test file until .encoding is sorted out.
11:03
jnthn lunch; bbl 11:04
Geth rakudo/nom: b43303f254 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make Str:D (elem) Map:D 1.3x faster

By using nqp::p6bool() rather than badly jitting .Bool
11:10
lizmat bisect: my %h{Any} = ^10 Z=> ^10; say 4 (elem) %h 11:49
bisectable6 lizmat, Bisecting by output (old=2015.12 new=b43303f) because on both starting points the exit code is 0
lizmat, bisect log: gist.github.com/9723bd6dd364979425...e485513dd2
lizmat, (2017-05-24) github.com/rakudo/rakudo/commit/e6...97a601e351
lizmat *phew* 11:50
AlexDaniel lizmat: phew? :) 12:06
lizmat that I broke it just now
AlexDaniel ah, well
I'll work on regressionable soon, hopefully it will help to catch that kind of stuff fast enough :) 12:07
lizmat afk for a bit&
AlexDaniel markdown is insane :(
mst it's a bit limited in places, hence ingy's swim, but it's such a nice format to write 12:23
Zoffix hm, OpenSSL fails to install on doc build. Wonder if that's the fallout of the sock refactor: travis-ci.org/perl6/doc/jobs/235583729 12:45
AlexDaniel: bisectable seems sick 12:49
AlexDaniel slaps bisectable6
Zoffix AlexDaniel: look in #zofbot. It doesn't want to finish up. And same happened yesterday in #perl6-dev 12:50
AlexDaniel let's see…
Zoffix Happened here: irclog.perlgeek.de/perl6-dev/2017-...i_14625722
AlexDaniel Zoffix: ah-ha, corrupted archive… this happens too 12:53
anyway, should be fixed now
(at least, for now) 12:54
Zoffix AlexDaniel++ thanks
Geth rakudo/nom: af895626cd | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Make sure we handle Any (elem) Map:D correctly

This can only work if the Map:D is actually an object hash, since it can only work on normal hashes if the Any is a Str:D, and that case is already handled in a separate candidate.
Fixes a regression caused by e65800a84bba1a5c3
12:56
pmurias what's DESTDIR in the nqp Makefile supposed to be? 13:05
ah, I found it 13:07
s/found/googled/
Should the perl6-js and nqp-js runners use a node from path or resolve one at Configure time? 13:08
Geth roast: dd7f7949dc | (Elizabeth Mattijsen)++ | S03-operators/elem.t
Tighten up tests for (elem) and friends

  - use more picky is-deeply instead of ok/nok
  - add tests for non-Str for hashes, and Str for object hashes
13:23
roast: fd5c5321c7 | (Elizabeth Mattijsen)++ | S03-operators/elem.t
Oops, fix copy-pasto

Unfortunately, the test was passing for the wrong reason :-(
13:42
roast: 89bb970ed0 | (Elizabeth Mattijsen)++ | S03-operators/subset.t
Initial thorough testing of (<=) and friends
13:54
rakudo/nom: 020c8cd56c | (Elizabeth Mattijsen)++ | t/spectest.data
Add testing of (<=) and friends
13:55
pmurias do we have a way to copy a whole directory while installing stuff from a Makefile? $(CP) seems to only copy files 13:59
?
cono perl6 has 256 members and gives push access to 48 perl6 repositories. 14:07
byte of members!
lets celebrate
Zoffix :) 14:08
Zoffix reads szabgab.com/the-phases-of-a-crowdf...ching.html 14:11
So sounds like Bailador will be the cornerstone of that book.
Zoffix feels uneasy about it 14:12
[Coke] If you're writing about the ecosystem as it stands today, what else would you use?
Zoffix Dunno, I see a whole bunch of projects on modules.perl6.org/#q=web 14:13
I glances through Bailador's commit log and it doesn't appear to be actively developed and probably still doesn't allow concurrency, making it entirely useless for production apps 14:14
s/ces/ced/
And if Gabor's plan is to both bring Baildor up to speed and write a book, the December deadline seems awfully optimistic 14:15
nine Zoffix: see niner.name/talks/Web%20development%...rl%206.pdf for the state of our web ecosystem as of 2016-12 14:19
Zoffix nine: stuck in resolving stage... 14:21
nevermind, wget fetched it
82 pages!
nine Half of it is slides without comments to be repeated by slides with comments.
"comments" being the full transscript of my talk
Still haven't figured out how to only export with the notes 14:22
Zoffix tl;dr. Quickly paging through that slide show shows me a buch Bailador/Crust code and then it just switches to Mojolicious/Catalyst
Suggesting my suspicions on it being too early to write a Perl 6 Web book founded on some specific Perl 6 project. 14:23
lizmat afk for a few hours 14:26
jnthn Ahhh...finally back to work :) 14:55
Zoffix jnthn: not sure if you've seen or interested in my comment: Zoffix │ hm, OpenSSL fails to install on doc build. Wonder if that's the fallout of the sock refactor: travis-ci.org/perl6/doc/jobs/235583729 14:56
AlexDaniel Zoffix:
oops
hey
greppable6: pa..word 14:57
jnthn Zoffix: Will have a look
Wonder if it's being a little too cosy with internals
AlexDaniel xD
Zoffix damn, people should stop listening to me. My tweeted travis setup got into the updated travis docs: github.com/travis-ci/docs-travis-c...-303750710 15:00
And since I never read the travis docs, of course my travis setup is off a bit :}|\
jnthn Zoffix: gah, it's 'cus passing Inf to recv is apparently OK 15:03
Zoffix ah heh
jnthn But we had no spectests to confirm that
At least that's an easy fix :)
Zoffix :)
jnthn m: sub f(Int(Cool) $n) { say $n.WHAT }; f(42); f(Inf) 15:05
camelia (Int)
(Failure)
jnthn Ah, that's where the Failure comes from
Zoffix m: sub f(Int(Cool) $n) { say $n.WHAT }; f(42); f '-'.IO; f NaN; f 0/0; f 1/0; f -1/0 15:08
camelia (Int)
(Failure)
(Failure)
(Failure)
(Failure)
Attempt to divide -1 by zero using div
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1

Actually thrown at:
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix heh
m: sub f(Int(Cool) $n) { say $n.WHAT }; f(42); f '-'.IO; f NaN; f 0/0; f 1/0; f <-1/0>
camelia (Int)
(Failure)
(Failure)
(Failure)
(Failure)
Attempt to divide -1 by zero using div
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1

Actually thrown at:
in sub f at <tmp> line 1
in block <unit> at <tmp> line 1
Zoffix m: say WHAT (-1/0).Int 15:09
camelia Attempt to divide -1 by zero using div
in block <unit> at <tmp> line 1

Actually thrown at:
in block <unit> at <tmp> line 1
Zoffix m: say WHAT (1/0).Int
camelia (Failure)
Zoffix weird
s: (-1/0), 'Int', \() 15:10
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/020c...nal.pm#L70
Zoffix s: (1/0), 'Int', \()
SourceBaby Zoffix, Sauce is at github.com/rakudo/rakudo/blob/020c...nal.pm#L70
Zoffix Ah, I see you, bug! 15:12
Lunchtime. Perfect timing.
Zoffix readies the bread
jnthn d'oh, I needed an updated moar/nqp 15:13
Anyway, got a patch that hopefully addresses the openssl thing 15:14
ugexe i think passing Inf to recv was only ok on moar 15:18
jnthn It'll be OK on everything now :)
Geth rakudo/nom: 17c052e818 | (Jonathan Worthington)++ | src/core/IO/Socket.pm
Re-allow Inf as an argument to .recv.

This got broken in recent refactoring, and the module ecosytem was relying on it.
15:27
roast: 30e17330ed | (Jonathan Worthington)++ | S32-io/socket-recv-vs-read.t
Test to cover .recv(Inf) on socket.
15:29
jnthn OpenSSL is again happy :)
Zoffix++ for reporting
Zoffix jnthn++ for fixing \o/ 15:31
AlexDaniel Zoffix: alright, take №2 15:41
greppable6: pa..word
greppable6 AlexDaniel, gist.github.com/462a7280c6d48f00b1...a5ce1756b8
AlexDaniel Zoffix: what do you think about this ↑ ? 15:42
Zoffix AlexDaniel: I think it's awesome! 15:43
greppable6: .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+
Zoffix giggles
AlexDaniel let's see
it should time out 15:44
what was the default… 30s I think?
the problem is that it will manage to match all that stuff during these 30 seconds
maybe…
Zoffix Shouldn't :) 15:45
AlexDaniel No such method 'chars' for invocant of type 'Any'
right, so it did time out
Zoffix m: ('a' x 1000) ~~ /.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+/; say now - INIT now 15:46
Yeah. it's backtrack hell :)
camelia (timeout)
AlexDaniel okay, but still, it should work just fine
it's using the same code that all whateverables use, so let's see why it didn't work…
LINE fatal: pcre_exec failed with error code -8 15:47
refused to work with this :)
a, a-ha 15:48
timotimo i've found a nice (?) way to crash rakudo 15:51
m: my %foo = "a".."z" Z=> 1..*; for ^100 { for %foo.values { .say; %foo{("a".."z").pick}:delete } }
camelia (signal SEGV)24
16
11
8
7
26
1
25
19
17
4
13
6
3
21
2
10
18
12
24
11
7
1
AlexDaniel awesome 15:52
timotimo sometimes the explosion is in trying to hllize a value that has a nulled out STable
AlexDaniel mc: my %foo = "a".."z" Z=> 1..*; for ^100 { for %foo.values { .say; %foo{("a".."z").pick}:delete } }
committable6 AlexDaniel, gist.github.com/3ed3aab7dafbf72fb0...a1714c62ac
AlexDaniel that seems wrong also? ↑
timotimo depends on what you expect 15:53
i wanted to point out the lazyness of .values for the mailing list
and my example went crashy
now it's dinner time
it deletes most values until only 10 remains and then it keeps giving that until 10 also got deleted 15:54
well, the letter for 10 really
cono timotimo: Do I need anything else to add? +#define MVM_GC_DEBUG (MVM_GC_DEBUG_ORCHESTRATE | MVM_GC_DEBUG_COLLECT) 16:14
still don't see anything
AlexDaniel ppppppppppppppppppfffffffffffffftttttttt 16:21
was getting this:
Unhandled exception in code scheduled on thread 20
Malformed UTF-8
so I thought, well, maybe $proc.stdout(:enc<utf8-c8>) then?
… malloc(): memory corruption: 0x00007f62e0d9dcb0 *** 16:22
Zoffix heh
s: Proc::Async, 'stdout'
SourceBaby Zoffix, Something's wrong: ␤ERR: Unhandled exception: Missing or wrong version of dependency 'src/Perl6/Grammar.nqp' (from 'gen/moar/main.nqp')␤ at <unknown>:1 (/home/zoffix/services/sourceable/building-perl6/perl6.moarvm:<dependencies+deserialize>)␤
Zoffix SourceBaby: your mom
AlexDaniel SourceBaby: I got your back!
Zoffif: github.com/rakudo/rakudo/blob/nom/...ync.pm#L82
… fail…
jnthn nine: Hmm, iiuc precomp files contain some dependency information at the top, then the bytecode? Do we always slurp-rest that bytecode or is there some other path?
Zoffix github.com/rakudo/rakudo/blob/nom/...pm#L82-L86 16:23
AlexDaniel actually, this will always crash 16:24
jnthn nine: Ah, I found the answer. Turns out that it's "no" and "ouch, this will be a bit of fun now we pull char I/O management into userspace", but I think there'll be a relatively good fix :) 16:27
Geth rakudo/nom: e22508d41a | (Zoffix Znet)++ | src/core/Exception.pm
Add $.details to X::Numeric::DivideByZero

We don't always end up dividing by zero in user's code, so the
  "using..." bit isn't always appropriate.
Add $.details attribute that will allow us to specify details on why the divide by zero happened
rakudo/nom: 6dbe85eda0 | (Zoffix Znet)++ | src/core/Rational.pm
Fix inconsistency in .Int on zero-denominator rats

In 0/0 and 1/0 cases we `fail` but in `-1/0` case we ended up throwing, because the path goes through .ceiling rather than
  .floor.
Fix by detecting zero-denominator rats right in the .Int
  - Always `fail`
  - Improve the Failure's exception by including details that
   the division by zero happened during Rational -> Int coersion.
roast: 71dea12a5e | (Zoffix Znet)++ | S32-num/rat.t
Test Rational.Int coercion on 0-denominator Rationals

Rakudo fix: github.com/rakudo/rakudo/commit/6dbe85eda0
Zoffix grrr 16:30
Had misspelt "coersing" in there.. FIXED IT.... Then reworded the message, making the error again -_-
ZofBot: X::CoercionAttemptFailed.new: :details<User is bad at grammer> 16:31
ZofBot Zoffix, de/perl6/2017-03-24#i_14318239 - and surrounding lines did you ever wonder what a timeline where EBCDIC won over ASCII would look like? OK! www
jnthn I never did wonder that, tbh... :P 16:33
Zoffix :)
jnthn wanders home for dinner
AlexDaniel greppable6: .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+ 16:36
greppable6 AlexDaniel, Sorry, can't do that
AlexDaniel greppable6: .+.+.+.+.+.+.+.+.+.+.+.+
*facepalm*
timotimo cono: that's not the one i meant 16:37
AlexDaniel greppable6: .+.+.+.+.+.+.+.+.+.+.+.+.+.+.+.+
greppable6 AlexDaniel, Sorry, can't do that
timotimo cono: you just set MVM_GC_DEBUG to 2, it's distinct from the (unfortunately similarly named) logging stuff you can also turn on
Zoffix .ask jnthn is 65535 the maximum .recv could ever receive? Feels LTA to accept Inf but treat it the same 65535. Maybe it should be made back to throw, and docs + OpenSSL fixed up? 16:38
yoleaux Zoffix: I'll pass your message to jnthn.
timotimo cono: if the code runs significantly slower, you'll know that it worked :)
AlexDaniel Zoffix: anyway, this bot has a very sensitive soul, so use it with care…
… as sensitive as rakudo is…
Zoffix ok :D
Zoffix doesn't believe in souls... but will try to use care :)
Geth rakudo/nom: 33819390ea | (Zoffix Znet)++ | src/core/Rational.pm
Fix typo in error message
16:39
cono timotimo: I've tried MVM_GC_DEBUG 2, but haven't seen anything 16:42
from code perspective looks like it just prints to STDOUT
timotimo right, it could just be that it doesn't trigger because that's not where the problem happens (or it slips by unnoticed) 16:44
AlexDaniel greppable6: shit 16:46
greppable6 AlexDaniel, gist.github.com/c890d1228394cffa8f...552e4b296c
AlexDaniel “this shit isn't implemented yet​” XD
Zoffix: by the way, because of my markdown magic it appears as if there were spaces around “shit” 16:47
not sure if that's a big problem…
but otherwise I wouldn't be able to make it bold
Zoffix I think it's fine, since users can always click on the link 16:48
ZOFVM: Files=1246, Tests=136260, 113 wallclock secs (22.51 usr 3.20 sys + 2355.49 cusr 137.69 csys = 2518.89 CPU)
Geth rakudo/nom: 9310127ee7 | (Zoffix Znet)++ | src/core/IO/Socket.pm
Remove useless code
timotimo stmuk_: do we want to keep Task::Galaxy? it currently won't install because it depends on Task::Star which tadzik threw out 16:55
FWIW, i think it'd be a good idea to pull Task::Star back in and make its Build.pm emit a deprecation warning
Zoffix m: my @arr = (1,Nil,2,Nil); say @arr.grep: * !=== Nil
camelia (1 (Any) 2 (Any))
Zoffix That looks like a b.... ahhh
The Nil is a lie :P
m: my @arr = (1,Nil,2,Nil); say @arr.grep: * !=== Any 16:56
camelia (1 2)
cono huh, found something new :) MoarVM panic: Internal error: invalid thread ID 1182 in GC work pass 17:10
geekosaur wee, another gc error >.> 17:11
cono hate intermittent issues :( in debugger im getting different results... 17:12
geekosaur yep, that's another hallmark of gc-related issues 17:18
sadly you'll need jnthn to help figure it out, since it'll be a MoarVM issue with memory management
timotimo i wouldn't call it a "gc error" 17:20
it's a memory corruption issue
something's writing over the boundary of an object and into the header of another
stmuk_ msg? 17:30
timotimo stmuk_: i didn't yoleaux it 17:31
stmuk timotimo: Task::Galaxy was mainly to test gitlab support in the ecosystem I'll remove Task::Star 18:00
Zoffix . 18:02
yoleaux 18:02Z <lizmat> Zoffix: I seem to recall that's what jnthn decided on
Zoffix OK
lizmat afk again&
perlpilot m: my @a[2;3;4]; dd @a.shape 18:03
camelia (2, 3, 4)
perlpilot There's always that if you need the other dimensions 18:04
[Coke] (task star message) yes plz. 18:08
stmuk timotimo: I don't see a Task::Star dep in the META6.json 18:09
Zoffix It does mention it in "description" 18:14
"panda", "ufo", "zef" :) hehe 18:15
stmuk yeah I assume someone grep'd or ack'd
I'm trying it now anyway
Zoffix Hm, "JSON::RPC" I recall that was failing for ages 18:16
Geth nqp/master: 7 commits pushed by pmurias++ 18:22
nine jnthn: I'm curious about that fix :) 18:23
timotimo stmuk: oh damn, i didn't actually look at the meta6.json, i read that someone claimed it and thought it was true
stmuk hahah 18:27
you been reading perl6-users! ;) 18:28
actually I see a new Template::Mustache failure which didnt happen last month 18:29
Zoffix :D
mustache passes for me on 2017.05-15-g81221c5 18:32
m: $*PERL.compiler.version.say
camelia v2017.05.77.g.9310127.ee
stmuk 2017.05-77-g9310127 18:35
# Failed test 'Inline partial can get filesystem partial'
Zoffix updates to latest and greatest to try again 18:36
stmuk: is that on windows? I notice you opened an Issue for Windows a few months ago: github.com/softmoth/p6-Template-Mu.../issues/15 18:39
stmuk no debian stable ... I don't use Windows much TBH 18:40
Geth rakudo/nom: dd2de368e7 | (Elizabeth Mattijsen)++ | 3 files
Remove trailing whitespace that I let creep in
18:42
Zoffix no luck... tests still pass on 2017.05-77-g9310127 This is on Debian GNU/Linux 8.6 (jessie) 18:46
stmuk odd 18:47
Zoffix ===> Extracting: Benchy 18:48
No extracting backend available
man, another one :|
stmuk I'll try building in isolation 18:49
I basically did zef install . in a Task::Galaxy checkout 18:50
on jessie
lizmat Zoffix: fwiw, fails for me the same way 18:51
Zoffix lizmat: which one Benchy or Mustache?
lizmat benchy
Zoffix Thanks.
lizmat $ zef upgrade zef # noop :-(
Zoffix star: use JSON::Tiny; use LWP::Simple; LWP::Simple.get("ecosystem-api.p6c.org/projects.json...son.grep({ (.<source-url> // .<support><source> // '').ends-with('.git' | '.tar.gz' | '.zip').not})».<name>.say 18:55
camelia (Text::Spintax Math::Constants IO::Dir Benchy)
Zoffix That's probably it.
yup. IO::Dir fails the same :) 18:56
Zoffix sends PRs to fix the other two 18:59
stmuk I still get the Mustache issue 19:03
Zoffix stmuk: can you pastebin detailed output? Like what's not making the test happy? 19:06
stmuk sure 19:07
Zoffix For me Task::Galaxy fails on BioInfo ===> Testing [FAIL]: BioInfo:ver('0.4.3'):auth('Matt Oates') No such method '!make' for invocant of type 'Perl6::Grammar+{BioInfo::Grammar}' 19:11
t/slang.t ...... Dubious, test returned 1
jnthn .
yoleaux 16:38Z <Zoffix> jnthn: is 65535 the maximum .recv could ever receive? Feels LTA to accept Inf but treat it the same 65535. Maybe it should be made back to throw, and docs + OpenSSL fixed up?
Zoffix tried again; even cloned the mustache spec files where it wanted them; nope; still all green 19:14
jnthn Zoffix: recv is doc'd as receiving something like a single packet, and will only ever make one recv call at OS level; this distinguishes it from .read which will do a loop 19:15
Granted with a TCP streaming socket we could maybe get more
Zoffix hehe "Receive a package" :) 19:16
Well, I'll include 65535 in the docs 19:17
stmuk Zoffix: gist.github.com/stmuk/4fdd37938876...52320442a5 19:18
Zoffix stmuk: what happens if you nuke .zef too? 19:21
stmuk: or simpler: try with zef --/cache install Template::Mustache
This is my updation command: rm -fr ~/.zef; rm -fr ~/.perl6; rm -fr ~/.rakudobrew/; git clone github.com/tadzik/rakudobrew ~/.rakudobrew; rakudobrew build moar; rakudobrew build zef; 19:22
And after doing that I `zef look Template::Mustache` and run `prove -e 'perl6 -Ilib' -vlr t` there and it all green and `zef install Template::Mustache` works too
And it does seem there was a fix in April to "failing to find test template file": github.com/softmoth/p6-Template-Mu...afe9138fcd 19:23
So perhaps you're getting a copy from cache
stmuk Zoffix: gist.github.com/stmuk/4fdd37938876...52320442a5 19:24
oops
Geth roast: 7a0f29ea3a | (Elizabeth Mattijsen)++ | S03-operators/subset.t
Add identity checks for (<=) and friends
19:27
Zoffix m: my method isNaN(Rational:D: --> Bool:D) {} 19:36
camelia ( no output )
Zoffix .ask [Coke] any idea why a whole bunch of code in Rational.pod6 have :skip-test on them? github.com/perl6/doc/blob/master/d...l.pod6#L26
yoleaux Zoffix: I'll pass your message to [Coke].
ugexe probably because its version * and you are getting a cached version
if you run with -v it will tell you where its getting things from as of the latest version 19:37
stmuk rm -rf ~/.zef fixed it 19:38
Zoffix \o/ 19:39
lizmat confirms that rm -rf ~/.zef fixed it 19:46
ugexe we should start nagging people to not use "version" : "*" in their meta6.json anymore 19:51
otherwise otherwise --/cached will workaround them 19:52
Geth tap-harness6/verbose: 53db2fec98 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
tap-harness6: Leont++ created pull request #15:
Add verbose option to harness
19:53
tap-harness6/verbose: e241a07c07 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
19:54
[Coke] Zoffix: looks like the skip on the docs was due to github.com/perl6/doc/commit/ecdb5a...5642fb3919 20:05
We should probably do a review of every skip test and remove it if possible. I think that was a "make the test pass" quick hack. 20:06
Zoffix k
[Coke] we have whole files that are skipped that should be removed and have individual :skips added where needed, too: 20:07
github.com/perl6/doc/blob/master/x....t#L16-L30
Geth rakudo/nom: 2efd812c3c | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Don't use the generated !(<=) and !(<) ops

We don't need them, we simple need a negation at the end.
20:20
roast: 023a94a248 | (Elizabeth Mattijsen)++ | S03-operators/subset.t
Add some more complicated tests for (<=) and friends
20:22
roast: 2342a1dfd9 | (Elizabeth Mattijsen)++ | S03-operators/subset.t
Don't test generated !(<=) and !(>=) ops

Also add some documentation on which set operators are actually tested
tap-harness6/verbose: 9cfa4e3927 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
20:28
tap-harness6/verbose: 6fbcc72305 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
20:29
rakudo/nom: 07bff0e54e | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
(>=) and (>) don't need to be multi's

All handling is done by the (<=) and (<) ops respectively
tap-harness6/verbose: 631eae7d10 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
20:35
roast: a7d0a8de7a | (Elizabeth Mattijsen)++ | S03-operators/elem.t
Don't test generated !(elem) and !(cont) ops

Also add some documentation on which set operators are actually tested
tap-harness6/verbose: 43f2886462 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
20:36
tap-harness6: 43f2886462 | (Leon Timmermans)++ | 2 files
Add verbose option to harness
20:47
tap-harness6/has-errors: 1f65c8a021 | (Leon Timmermans)++ | lib/TAP.pm
Make Aggregator.has-errors return number of errors
20:56
tap-harness6/has-errors: 26f7586996 | (Leon Timmermans)++ | bin/prove6
Make prove6 return pass on failed exit code
nqp: 7101d408fb | pmurias++ | 2 files
[js] Fix make js-install

Make js-all install npm deps.
21:07
nqp: f51152cd40 | pmurias++ | README.pod
[js] Mention the --link flag to Configure.pl
rakudo/nom: 1369632fb1 | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Abstract Set (<=) Set logic into R:Q.SET-IN-SUBSET

Since all Quanthashes share the same internal structure, we can actually use this logic for QuantHash (<=) Set and Set (<=) QuantHash as well.
21:11
rakudo/nom: 2ac120ced9 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Use R:Q.SET-IN-SUBSET

So we don't need to coerce QuantHash to Set anymore for (<=) and friends.
lizmat argh s/IN/IS :-( 21:21
Geth rakudo/nom: 539415cf7d | (Elizabeth Mattijsen)++ | src/core/Rakudo/QuantHash.pm
Abstract Mix (<=) Mix logic into R:Q.MIX-IS-SUBSET

Since all Baggy's share the same internal structure, we can actually use this logic for Bag(|Hash) (<=) Mix(|Hash) and Mix(|Hash) (<=) Bag(|Hash) as well.
21:33
rakudo/nom: 5ebf307af1 | (Elizabeth Mattijsen)++ | src/core/set_operators.pm
Use R:Q.MIX-IS-SUBSET

So we don't need to coerce Bag(|Hash) to Mix anymore for (<=) and friends.
lizmat and that concludes my hacking for today 21:34
good night, #perl6-dev!
jnthn 'night, lizmat++ 21:35
MasterDuke jnthn: since you seem to be around, timotimo thought my backtrace confirmed that ./src/vm/moar/QAST/QASTCompilerMAST.nqp was where to address that nqp int bug, but didn't know exactly where. any suggestions? 21:57
Geth tap-harness6: 1f65c8a021 | (Leon Timmermans)++ | lib/TAP.pm
Make Aggregator.has-errors return number of errors
22:00
tap-harness6: 26f7586996 | (Leon Timmermans)++ | bin/prove6
Make prove6 return pass on failed exit code
jnthn MasterDuke: Not right off. I still think an int constraint into the constructor of the AST node and then work backwards to fix the places that try to pass a num there... 22:08
*think putting 22:09
MasterDuke its in the number action method
timotimo grabbing the value out of the list returned by the radix op will explode when you put a int constraint 22:10
explode in the way that it'll first numify, then intify
Geth rakudo/newer-cat-handle: dcd60d5261 | (Zoffix Znet)++ | 2 files
Add some missing NYI cat handle methods
jnthn timotimo: Does radix give back a BOOTInt or a BOOTNum?
I mean, is it correct or bust at the point we return from string_to_int in HLL::Actions? 22:11
timotimo gotta have a look in the moar code
jnthn github.com/MoarVM/MoarVM/blob/3746...rce.c#L391 22:12
Says BOOTInt
No num shenanigans in there 22:13
At all
timotimo oh, we're using radix_i instead of radix_I?
jnthn Yeah 22:14
No bigints in NQP
But that should mean the chain through decint and integer are good since they just pass on up the .made
timotimo right, radix only 22:15
jnthn In method number in NQP::Actions it looks like it could go wrong if it's negative 22:16
github.com/perl6/nqp/blob/master/s....nqp#L1578
I get that line nums it
*bet
But I thought we had a positive that was going wrong?
timotimo both the duke and me tried having two separate branches there based on whether the float or the int was taken 22:17
MasterDuke nqp: say(100000000000000009)
camelia 100000000000000016
timotimo would $foo := -$foo numify? 22:18
jnthn timotimo: Yes 22:20
timotimo that'd be bad, of course 22:21
but still
anyway
jnthn m: my int $i = 100000000000000009; say($i)
camelia 100000000000000009
timotimo i just put a my int $result = nqp::atpos instead of just nqp::atpos at the end of string_to_int 22:22
and nqp::say directly after that gives me the one ending in 16
jnthn What's the code-gen for that?
timotimo hm, let's see, it should appear in the spesh log 22:23
jnthn 00043 decont loc_9_obj, loc_9_obj 22:24
00044 smrt_numify loc_11_num, loc_9_obj
00045 coerce_ni loc_6_int, loc_11_num
timotimo ;(
jnthn Appears in the code-gen or
*of
my @a := [1,2,3]; my int $i := @a[1];
(Around the := bit) 22:25
timotimo right, but we can't nqp::atpos_i because it's not an int-typed array, right?
jnthn Right
But
We shouldn't be coercing there, just unboxing, IMO
I suspect this is what is going on in the attribute bind inside of the QAST::IVal, though 22:26
So it gets busted at that point
Maybe the coerce was a sop to various bits of unstrictness elsewhere
MasterDuke yeah, i added a print in bind_attribute and it has the wrong value in the IVal.new 22:27
timotimo we don't have a smart-intify, maybe we should?
jnthn timotimo: I'd rather just generate unbox_i :)
I don't really like smart_numify :)
So I'd rather not spread that damage further 22:28
timotimo right
jnthn Ooh, it's after midnight
jnthn should probably go rest up a bit so he stands a chance of being vaguely useful tomorrow
'night 22:29
timotimo night jnthn!
Zoffix wonder why `perl6` sometimes isn't there. Only the `perl6-m` 22:30
MasterDuke timotimo: do you know where that decont, smrt_numify, coerce_ni is code-gen'd? 22:31
jnthn: thanks for the help
Geth roast/newer-cat-handle: 568eb76ae1 | (Zoffix Znet)++ | fudgeandrun
Make fudgeandrun look for perl6-m and perl6-j

Before swapping to system perl6 when ./perl6 is not found.
Some times the build doesn't create a ./perl6, only ./perl6-m (I think due to running just `make install` after a compile error). This commit fixes the fudgeandrun bailing out of testing in those cases.
22:34
rakudo/newer-cat-handle: 4a8aa27365 | (Zoffix Znet)++ | src/core/IO/CatHandle.pm
[io grant] Implement IO::CatHandle.close
22:36
roast/newer-cat-handle: 939ca8d275 | (Zoffix Znet)++ | S32-io/io-cathandle.t
[io grant] Test IO::CatHandle.close
22:37
roast/newer-cat-handle: 6e8a0be41f | (Zoffix Znet)++ | S32-io/io-cathandle.t
Expand IO::CatHandle.lines tests

  - Test for $limit = 0
  - Test lack of :close argument leaves untouched handles open
  - Test :close arg closes the handles
22:38