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 parameterat <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 contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1Use of uninitialized value %h of type Any in string contextAny 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 |