[TuxCM] This is Rakudo version 2016.10-285-gee8ae92 built on MoarVM version 2016.10-55-g20c8591 07:17
csv-ip5xs 3.081
test 13.988
test-t 6.545
csv-parser 14.669
dalek ast: bfd9438 | timotimo++ | integration/weird-errors.t:
don't segfault when null str goes into hash access

not satisfied with putting it into this file, though.
10:42
viki m: say -100.base(16).parse-base(16) # Zoffix-- 11:30
camelia rakudo-moar ee8ae9: OUTPUT«-100␤»
viki oh
m: say (-100).base(16).parse-base(16) # Zoffix--
camelia rakudo-moar ee8ae9: OUTPUT«Invalid base-16 character: ⏏-64␤ in block <unit> at <tmp> line 1␤␤Actually thrown at:␤ in block <unit> at <tmp> line 1␤␤»
MasterDuke_ .ask jnthn do you have any thoughts on my line directive PR github.com/rakudo/rakudo/pull/919 and Zoffix's suggestion? 12:49
yoleaux2 MasterDuke_: I'll pass your message to jnthn.
MasterDuke_ .ask lizmat do you have any thoughts on my line directive PR github.com/rakudo/rakudo/pull/919 and Zoffix's suggestion?
yoleaux2 MasterDuke_: I'll pass your message to lizmat.
lizmat . 12:58
yoleaux2 12:49Z <MasterDuke_> lizmat: do you have any thoughts on my line directive PR github.com/rakudo/rakudo/pull/919 and Zoffix's suggestion?
lizmat MasterDuke_: left a comment 13:00
MasterDuke_ lizmat: thanks 13:19
dalek p: 0538cae | MasterDuke17++ | src/ (5 files):
Initial support for line directives

This will allow backtraces to report the original file and line number instead of m-CORE.setting and its line number.
This also works in EVALs, making it easier to know which one has died.
13:40
nqp: 438b8e3 | (Zoffix Znet)++ | src/ (5 files):
nqp: Merge pull request #319 from MasterDuke17/source_file_line_numbers
nqp:
nqp: Initial support for line directives
kudo/nom: 2e9e89b | (Zoffix Znet)++ | tools/build/NQP_REVISION:
Bump NQP version

To bring in line directives PR github.com/perl6/nqp/pull/319
13:42
kudo/nom: 5b0d81b | MasterDuke17++ | / (2 files):
Changes needed to support line directives

An extra blank line after a directive throws off the numbering.
The m-CORE.setting file is no longer seen in a backtrace, so we need another way of determining if we are in the settings. This isn't a great solution, but should work for now.
kudo/nom: b068e3a | MasterDuke17++ | tools/build/gen-cat.nqp:
Mark the line directives for Rakudo core src files
viki s/This isn't a great solution//; # that has been amended 13:44
cognominal m: class A { method Str { 1 } }; say A.new.Str # should not it be some kind of compile time type enforcement of returned value when defining casting methods,
camelia rakudo-moar ee8ae9: OUTPUT«1␤»
cognominal obviously there is none
viki Well, it's really a casting method. It's just a method. 13:45
m: class is-prime {}; sub (is-prime(Int) $x) { say $x }(31337) 13:46
camelia rakudo-moar ee8ae9: OUTPUT«True␤»
viki ^ any method can be a "casting method" really :) 13:47
s/it's really/it's not really/;
timotimo the fact that methods called Int cast something to Int is really just a convention
cognominal timotimo: yes that´s my point. Should it be when the method name is a type ? 13:48
viki My opinion: definitely not
jnthn It's just a convention. 13:49
Ah, timotimo already said that :)
But anyway, I agree. I'd not expect an automatic return type enforcement here
cognominal ok, just asking. I don´t yet have an opinion on the subject 13:51
viki cognominal: adding such an enforcement basically means we can never add or change a core class. Because someone may have a method named like that and our enforcement would break that method. Also, it's just an assumption that a method name that matches a core type name necessarily means you want to cast it. I could have a .DateTime method on an object that stamps it with current date or tells me whether it 13:52
has been stampted.
(granted, I'd name that method .date-time, but there are these strange people who use CamelCase :))) 13:53
timotimo date'time :P 13:54
like 0'00"00
viki :)
lizmat afk& 14:00
viki ZOFVM: Files=1203, Tests=130161, 134 wallclock secs (20.46 usr 2.79 sys + 2354.09 cusr 195.34 csys = 2572.68 CPU) 14:01
cognominal updated S13 to hopefully clarify the matter 14:04
viki Well, specs are speculations—historical documents. A lot of the stuff in 'em is outdated. 14:08
m: say "{.file}:{.line}" with &say 14:53
camelia rakudo-moar f03ef5: OUTPUT«SETTING::src/core/io_operators.pm:20␤»
viki hehe. neat. MasterDuke_++
s: &say
SourceBaby viki, Sauce is at github.com/rakudo/rakudo/blob/f03e...gue.pm#L16
viki heh. time to update CoreHackers::Sourcery, I guess
pmurias viki: does a lot of stuff in the specs need updating? 14:55
[Coke] you mean the syn? 14:56
viki pmurias: well, almost a year ago we decided keeping them up-to-date was wasted effort. So I'd guess a lot of them are out of date, but *none* need updating.
[Coke] It's probably not getting updated at this point. We're considering them historical docs. Inspirational, not definitive.
pmurias [Coke]: yes 14:58
viki: so the current docs live at docs.perl6.org?
[Coke] as current as we have, yes. 14:59
viki pmurias: yes, roast is The Official Perl 6 Specification and docs.perl6.org is the human-readable version that depends on the former
(that is, if the two disagree, the roast is the authoratitive source)
dalek p: 798eeb3 | jnthn++ | tools/build/MOAR_REVISION:
Bump MOAR_REVISION for latest MoarVM.
15:05
viki \o/ 15:07
dalek kudo/nom: 395f369 | jnthn++ | tools/build/NQP_REVISION:
Bump for latest MoarVM.

This includes fixes to a SEGV in multi-threaded programs where strings internally represented as strands were used in various ways (typically as hash keys). As a bonus, hashes now use 4 (32-bit) or 8 (64-bit) bytes less memory per item stored, so a hash of 1000 keys will be up to 8KB smaller.
15:08
jnthn Hope that description helps the changelog :) 15:09
viki It does. jnthn++ 15:10
dalek ast: 6a40128 | jnthn++ | S17-promise/start.t:
Test covering RT #129781.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=129781
dalek p: 6dadbe3 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] settypecheckmode with nqp::const::TYPE_CHECK_NEEDS_ACCEPTS.
15:15
p: 687bdf4 | (Pawel Murias)++ | t/nqp/103-typecache.t:
Test the type check cache.
p: 4965e17 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (4 files):
[js] Improve the VMArray repr as we work on using it instead of the NQPArray class.
p: d8f1a24 | (Pawel Murias)++ | t/serialization/01-basic.t:
Test serialization of a VMArray.
15:16
p: e61fa7c | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Remove old code for doing a splice on raw js arrays, call the $$splice method directly.
15:31
p: 1f7721e | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Use $obj.$$iterator instead of nqp.op.iterator($obj) everywhere.
15:44
kudo/nom: 4ccb2f3 | jnthn++ | src/core/Grammar.pm:
Make `parse` try a bit harder to get a match.

While a Grammar built out of regexes isn't a particularly wise idea, if we do have a `regex TOP` (or the `rule` we specify to `parse` is a
  `regex`) then we should at leave give it a chance to do the required
backtracking to produce a result that eats the whole string. It costs nothing for non-regex grammars to add this.
16:33
ast: 7b838ea | jnthn++ | S05-grammar/parse_and_parsefile.t:
Test for RT #130081.
16:34
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130081
jnthn m: use Test; { my $p = Promise.new; $p.break("OH NOES"); try await $p; is $!.message, "OH NOES", "Promise broken with string form of .break conveys correct message"; } 17:13
camelia rakudo-moar 4ccb2f: OUTPUT«not ok 1 - Promise broken with string form of .break conveys correct message␤␤# Failed test 'Promise broken with string form of .break conveys correct message'␤# at <tmp> line 1␤# expected: 'OH NOES'␤# got: 'bindexpayload needs a VMException…»
[Coke] hey, that looks familiar! :) 17:15
jnthn plan 2999999999; 17:16
...seems I need to keep working on these vim skills :P
timotimo hehe
jnthn [Coke]: Yeah, it's RT #130064; spectesting the fix now
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130064
timotimo ctrl-a will increase the next number the cursor can find
jnthn And wanted to make sure that my test really covered it
timotimo (on the same line)
jnthn o.O 17:17
timotimo ctrl-x is for decreasing
jnthn omg
That's awesome
timotimo++
timotimo it's neat, yeah :)
^A timotimo ;)
also, did you know that when you search with /foobar/e, the cursor will end up on the last matched character instead of the first 17:18
so you can start appending immediately
jnthn Didn't know about /e, no :) 17:20
Also cool
timotimo very helpful, indeed indeed
viki
.oO( pfft... vim users and their crazy shortcuts! )
timotimo who will go ahead and write a perl6-compatible regex engine in vim? :P 17:22
*cough* vimscript *cough*
jnthn is seeing some backtrace/line number or similar fails in spectst
And can't track them back to anything I've done; appeared after a fetch 17:23
One each in S32-basics/warn.t and integration/error-reporting.t
dalek kudo/nom: 58a4826 | jnthn++ | src/core/Exception.pm:
Allow `.rethrow` to work on unthrown exceptions.

For example, those created with `.new`. Previously, we spat out an internal error when trying to do this. Fixes a regression in some cases of error reporting involving promises.
ast: 63f7e36 | jnthn++ | S17-promise/basic.t:
Test to cover RT #130064.
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130064
viki We did make a backtrace/line-number change today, but stresstest was clean after I merged it 17:25
jnthn Hmm 17:26
dogbert17 wonders if that might fix the oldie hexdump bug we discussed yesterday
viki pulls and fires up another run
m: use v6; warn("OH NOEZ"); say "alive" 17:27
camelia rakudo-moar 4ccb2f: OUTPUT«OH NOEZ␤ in block <unit> at <tmp> line 1␤alive␤»
timotimo the repl test hangs even without my string encoding stuff
viki 0.o
jnthn OK, I need to a break from the keybarod.
And then should cook us some dinner here, I guess... :-) 17:28
timotimo that sounds nice :)
jnthn bbl
viki Sweet. What are we having?
timotimo oh wait, you don't mean us as in all of the people in irc here ...
jnthn No, I meant wife and I :-)
viki :)
dogbert17 indian food? 17:29
jnthn Will make kofta (meatballs) and some spicy-ish sauce to go on them. :)
Yeah, the sauce qualifies it as Indian food I guess :) 17:30
viki kofta? Lol :) translate.google.ca/#ru/en/kofta
jnthn Though lots of places seem to have things they call kofta
timotimo allowing strings that are decoded from latin1 to become 8bit-per-char stored gets us about 3/4 of a megabyte less for perl6 -e '' 17:31
jnthn viki: Yes, my wife has pointed that out more than once :P
viki :)
jnthn timotimo: Nice saving!
timotimo oh 17:32
jnthn OK, really off for a bit... :)
timotimo actually closer to 1/2 or 1/3rd
viki All tests successful. 17:33
Files=1203, Tests=130164, 164 wallclock secs (20.62 usr 3.01 sys + 3092.72 cusr 283.71 csys = 3400.06 CPU)
Result: PASS
dalek p: 1c36493 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
[js] Use a :method_call adverb to add_simple_op to avoid reptitive code.
18:37
p: 876ccd5 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
[js] Make :ctx work together with :method_call on add_simple_op.
p: 1178c84 | (Pawel Murias)++ | src/vm/js/Operations.nqp:
[js] Remove unneeded argument.
p: b0e6c9c | (Pawel Murias)++ | src/vm/js/Operations.nqp:
[js] Rename side-effects -> side_effects for consistency.
viki s: &say 19:34
SourceBaby viki, Sauce is at github.com/rakudo/rakudo/blob/58a4...ors.pm#L20
MasterDuke_ Undercover: help 19:39
Undercover MasterDuke_, Use s: trigger with args to give to sourcery sub. e.g. s: Int, 'base'. See modules.perl6.org/dist/CoreHackers::Sourcery
MasterDuke_ Undercover: s: Int, 'base' 19:40
viki: ^^^ how do you use Undercover? 19:41
c: Int, 'base'
Undercover MasterDuke_, The code is hit during stresstest [WARNING: this line is a proto! Check individual multies] See perl6.WTF/src_core_Int.pm.coverage.html#L64 for details
viki c: Int, 'base', \()
Undercover viki, Something's wrong: ␤ERR: Could not find candidate that can do \()␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
viki c: Int, 'base', \(4) 19:42
Undercover viki, Something's wrong: ␤ERR: Could not find candidate that can do \(4)␤ in sub sourcery at /home/zoffix/services/lib/CoreHackers-Sourcery/lib/CoreHackers/Sourcery.pm6 (CoreHackers::Sourcery) line 29␤ in block <unit> at -e line 6␤␤
viki c: 4, 'base', \(4)
Undercover viki, The code is hit during stresstest See perl6.WTF/src_core_Int.pm.coverage.html#L65 for details
MasterDuke_ how up-to-date is the coverage report?
viki It's generated on the top of the home page: "Generated on 2016-10-07T06:04:53.940737-04:00"
You can also generate a fresher copy yourself: perl6.party/post/Perl-6-Core-Hackin...ityourself 19:47
MasterDuke_ yeah, i had done it a while ago, but couldn't remember if you had automated it 19:48
viki Well, to some extent. It's a single command to run on my home box :) 19:49
But I don't have a good box to run this automatically on.
... I guess I can set it to run in cron at home around 4AM
MasterDuke_ don't you have a beefy cloud vm? 19:50
viki Yeah, but I only run it when I need it. 19:51
Too expensive to run it 24/7
It would cost $486.05/month... my current usage bill is ~$17/month 19:52
MasterDuke_ yeah, that'd be a noticeable difference 19:54
dalek p: 8d18c6c | (Pawel Murias)++ | src/vm/js/nqp-runtime/null_s.js:
[js] make js-lint happy
20:01
p: b802319 | (Pawel Murias)++ | src/vm/js/nqp-runtime/code-ref.js:
[js] Hack that allows code generated by rakudo.js to load the setting.
p: 17a5ff6 | (Pawel Murias)++ | src/vm/js/nqp-runtime/core.js:
[js] Emit a warning on stderr instead of stdout so it doesn't get mixed with normal output when running tests.
mst viki: note that you can get a significantly powerful (though not as much as your insane VM) box for rental for reasonable money at hetzner 20:40
viki: this may or may not be worthwile to you, of course, but I thought I'd mention
viki Thanks, but I'm good :) I don't think many people need coverage for perl6 for it to be critical that we generate it automatically and I will look into setting up it in cron on my home box when I don't use it 20:42
nine viki: would be happy to give you resources on the server camelia's running on. Maybe just using camelia's VM would be a reasonable way, too. 20:53
mst yeah, I was going to say, if we need somewhere to stick 2am cron jobs I can use a dedicated user account on a shadowcat server if that's helpful 20:54
viki Thanks. I'll keep that in mind if the sticking it as a 4am job on my home computer doesn't work out :)
mst yeah, if that works that's obviously simpler 21:03
but shadowcat has all sorts of shit stashed in the corners of our production boxes that make one or other bit of the perl community's lives easier