timotimo gnite lizmat :) 00:02
[Coke] TimToady: you have any feedback on .cow? 6.c? 6.d? 00:18
travis-ci Rakudo build errored. Jonathan Worthington 'Bump to a MoarVM with improved multi-cache. 00:20
travis-ci.org/rakudo/rakudo/builds/141067064 github.com/rakudo/rakudo/compare/8...c750f74cd4
Rakudo build errored. Stefan Seifert 'Merge branch 'ugexe-dist-interface' into nom 06:44
travis-ci.org/rakudo/rakudo/builds/141153445 github.com/rakudo/rakudo/compare/9...3e3ee4707d
nine Build failures seem to be a failed download of perl 5.14 on a worker 06:51
Nothing to worry about
[Tux] This is Rakudo version 2016.06-75-g75b37ee built on MoarVM version 2016.06-9-g8fc21d5 07:28
test 16.189
test-t 9.307
csv-parser 17.922
lizmat [Tux]: isn't this faster than ever before ? 07:48
[Tux] 2016-06-13 17:58:14 test-t 9.356 07:51
2016-06-19 09:49:22 test-t 9.365
2016-06-30 09:26:57 test-t 9.307
yes, it is
lizmat cool, I guess that's jnthn multi-cache at work 07:52
dalek kudo/nom: 15c85ac | lizmat++ | src/core/Baggy.pm:
Make ROLLPICKGRABN also a private method
08:13
kudo/nom: 0888353 | lizmat++ | src/core/Baggy.pm:
ROLLPICKGRAB1 is same as .roll, so make it that
08:17
jnthn I think MoarVM HEAD *is* what MOAR_REVISION points to right now, fwiw 09:03
lizmat jnthn: sometimes I wonder whether we should allow *%h! as a parameter to indicate *any* named parameter 10:21
(note the ! )
jnthn Hmm, I wondered a little how we'd even compile that... :) 10:22
lizmat well, it would have to be the last candidate I guess 10:23
jnthn Also, if it's valid already today
m: sub foo(*%h!) { }
camelia rakudo-moar 088835: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Malformed parameter␤at <tmp>:1␤------> sub foo(*%h⏏!) { }␤ expecting any of:␤ constraint␤»
jnthn m: sub foo(%h!) { }
camelia ( no output )
jnthn Hm, we don't allow it. Interesting. :)
Do you have a use case for it? 10:24
lizmat that would simplify attribute handling for postcircumfix tremendously
psch am i understanding that correctly as a shorthand (and maybe compile-time?) alternative to '*%h where .keys > 0'?
lizmat psch: no
that would require a hash with keys
*%h! would be a catchall for named parameters 10:25
jnthn lizmat: Note that he wrote *%h
psch lizmat: but a slurpy hash is a catch all named parameters?
+for
lizmat psch: sorry, must open my eyes or use a larger font :-)
jnthn ;-)
lizmat: I was figuring that we'd end up with candidates with things like :$exists! though, and then have a *%h for the more complex "you have combinations of things" case 10:26
lizmat m: multi a() {}; multi a(*%h) {}; a 10:27
camelia rakudo-moar 088835: OUTPUT«Ambiguous call to 'a'; these signatures all match:␤:()␤:(*%h)␤ in block <unit> at <tmp> line 1␤␤»
lizmat psch: ^^^ is the problem
jnthn Ah...
lizmat jnthn: yes, that is the plan, but it is impossible now, unless we want to slow down the no args whatsoever case 10:28
psch right, and with the proposed ! that would dispatch to the :() candidate, 'cause we need any named, not no named?
well, i am pretty sure that having slurpy hashes mean at least one named is needed isn't a good idea because it breaks method 10:31
jnthn lizmat: I'm wondering just a bit if we should consider that ambiguous dispatch result a bug, fwiw.
psch +s
on the other hand i feel like if you put a slurpy you do expect nameds, at least on subs
jnthn Or find a way to consider the *%h a tie-breaker 10:32
lizmat jnthn: shall I rakudobug it? 10:33
psch m: multi f() { }; multi f(:$) { }; f 10:34
camelia ( no output )
psch m: multi f() { "none" }; multi f(:$) { "anon" }; f.say
camelia rakudo-moar 088835: OUTPUT«anon␤»
lizmat that feels weird ? 10:35
psch m: multi f() { "none" }; multi f(:$a) { "anon" }; f.say # it's not because it's a nameless named
camelia rakudo-moar 088835: OUTPUT«anon␤»
lizmat m: multi f(:$a) { "none" }; multi f() { "anon" }; f.say # it's the order 10:36
camelia rakudo-moar 088835: OUTPUT«none␤»
psch right, they're equivalent without the named present
lizmat huh?
no it's not
psch oh, no, they aren't
lizmat m: multi f(:$a) { "named" }; multi f() { "none" }; f.say # it's the order
camelia rakudo-moar 088835: OUTPUT«named␤»
psch yeah, didn't see you didn't change the retval
jnthn Oh...right, 'cus it comes under tie-breaker rules
Yeah, I'll need more time and less distractions than I have right now to think about it :) 10:37
lizmat ok :-)
jnthn Talking of distractions...lunch time :) 10:40
dalek kudo/nom: 50740b5 | lizmat++ | src/core/Rakudo/Internals.pm:
Remove now unused var
10:47
kudo/nom: 750e57e | lizmat++ | src/core/Rakudo/Internals.pm:
Make iterating an empty Blob use the EmptyIterator
11:20
kudo/nom: 2f00261 | lizmat++ | src/core/Rakudo/Internals.pm:
Streamline the WhateverIterator
p: a68dcc5 | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Make nqp::say and nqp::print return their arguments.
12:12
p: 422bb0f | (Pawel Murias)++ | t/nqp/059-nqpop.t:
Test the return values of nqp::print and nqp::say.
p/optimize-with-hoopl: a82b5b1 | (Pawel Murias)++ | src/vm/js/dataflow-optimizer/optimize.hs:
WIP
12:13
p/optimize-with-hoopl: 80e096f | (Pawel Murias)++ | src/vm/js/dataflow-optimizer/optimize.hs:
Turn nqp::say and nqp::add_i to hoopl graph form.
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make Baggy.roll(*) about 2x as fast 12:55
travis-ci.org/rakudo/rakudo/builds/141218521 github.com/rakudo/rakudo/compare/7...b37eecd06a
dalek p: a81c50a | (Pawel Murias)++ | src/vm/js/ReturnInfo.nqp:
[js] Remove debug message.
13:11
kudo/nom: 04f0b22 | lizmat++ | src/core/Rakudo/Internals.pm:
Make DwimIterator about 10% faster
13:12
Tux_ Pssst, … 13:21
This is Rakudo version 2016.06-81-g04f0b22 built on MoarVM version 2016.06-9-g8fc21d5
test 15.784
test-t 9.171
csv-parser 16.857
BrokenRobot woooo \o/ 13:24
Tux_ jnthn, lizmat can you have a look at Justin's comments in rt.perl.org/Public/Bug/Display.html?id=128184 ? 13:28
and should I add these lines to the ticket:
# expected: Buf.new(61,185,242,97,170,122,52,182,62,236,186,222,213,63,189,203,241,176,1,149,233)
# got: Buf.new(61,185,242,97,170,122,52,182,62,236,186,222,213,63,189,203,241,176,1,149,233,127)
lizmat yes please 13:29
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Make ROLLPICKGRABN also a private method' 14:02
travis-ci.org/rakudo/rakudo/builds/141276733 github.com/rakudo/rakudo/compare/7...c85ac07403
Rakudo build passed. Elizabeth Mattijsen 'ROLLPICKGRAB1 is same as .roll, so make it that' 15:19
travis-ci.org/rakudo/rakudo/builds/141277656 github.com/rakudo/rakudo/compare/1...8835309257
Rakudo build canceled. Elizabeth Mattijsen 'Remove now unused var' 15:26
travis-ci.org/rakudo/rakudo/builds/141308083 github.com/rakudo/rakudo/compare/0...740b5efdb3
dalek kudo/nom: 028299a | niner++ | src/core/CompUnit/Repository/Installation.pm:
Fix multi dispatch fail in backwards compat code

Need to add the type to the $force flag. Otherwise the samewith call won't find a candidate when :$force was not supplied.
Fixes part of the spectest regression in S11-repository/curli-install.t
15:39
kudo/nom: b93043a | niner++ | src/core/Distribution.pm:
Bring back Str() method of back compat Distribution class

Fixes the remaining regression of S11-repository/curli-install.t
lizmat afk& 15:48
travis-ci Rakudo build canceled. Elizabeth Mattijsen 'Streamline the WhateverIterator' 16:05
travis-ci.org/rakudo/rakudo/builds/141314004 github.com/rakudo/rakudo/compare/5...00261f1e37
tbrowder is there an easy way to stringify an unknown object in nqp? 17:39
s/object/object type/ 17:40
travis-ci Rakudo build passed. Stefan Seifert 'Bring back Str() method of back compat Distribution class 17:42
travis-ci.org/rakudo/rakudo/builds/141375671 github.com/rakudo/rakudo/compare/0...3043af7867
timotimo tbrowder: there's a nqp::who or nqp::how that'll give you access to what you usually use .^ for, but you'll have to pass the object you're operating on as the first argument to any method on the HOW 17:51
tbrowder timotimo: thanx! 18:04
lizmat nine: re github.com/rakudo/rakudo/commit/b93043af78 , I wonder if you could use "is default("")' to make things simpler 18:43
m: my %h = a => 42; say "%h<a b c>" # noisy 18:44
camelia rakudo-moar b93043: OUTPUT«Use of uninitialized value %h of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤Use of uninitialized value %h of type Any in string context␤Any of .^name, .p…»
lizmat m: my %h is default("") = a => 42; say "%h<a b c>" # silent
camelia rakudo-moar b93043: OUTPUT«42 ␤»
nine Wow, now that's a nice feature! 18:57
dalek kudo/nom: b7c8528 | lizmat++ | src/core/ (2 files):
Make {}|[]:adverb about 2.5x faster

Turns out !%other was a very expensive test. Ideally, I think the binding of remaining named parameters should be smart enough to not init $!storage if there are no other named parameters. Then the test could be reduced to an even cheaper nqp::attrinited. Even more ideal would be, if we could have a *%h! (aka slurpy hash with at least one named parameter) in a signature. Then these tests would become completely obsolete.
18:58
BrokenRobot :o lizmat++ 19:01
timotimo nice 19:02
vendethiel lizmat++ :D 19:16
dalek kudo/nom: 8b85f30 | lizmat++ | src/core/ (2 files):
Fix a few more missing %other tests

And use the more common '$!storage' format rather than q/$!storage/
19:43
kudo/nom: 042e6c4 | lizmat++ | src/core/Buf.pm:
Make Blob|Buf.AT-POS about 2x faster
20:20
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Fix a few more missing %other tests 21:08
travis-ci.org/rakudo/rakudo/builds/141435975 github.com/rakudo/rakudo/compare/b...85f30ac780
dalek kudo/nom: 1605bb6 | lizmat++ | src/core/Rakudo/Internals.pm:
Create a RollerIterator method for general usage
21:32
kudo/nom: 9be48ef | lizmat++ | src/core/Baggy.pm:
Remove ROLLPICKGRABW in favor of RollerIterator
kudo/nom: e9019e3 | lizmat++ | src/core/Baggy.pm:
Make Baggy!TOTAL a tiny bit faster

And also make it handle a bare elements Hash
22:27
lizmat and with that, I wish #perl6-dev good night
timotimo gnite liz! 22:28
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Remove ROLLPICKGRABW in favor of RollerIterator' 22:44
travis-ci.org/rakudo/rakudo/builds/141462705 github.com/rakudo/rakudo/compare/0...e48ef8b723
Ulti so 1.8 seconds for my bioinfo tests down to 1.6 seconds, fairly sure thats the new named multi dispatch! 22:49
the timings are now really solid too hardly any variance between runs unlike before 22:51