[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 1Actually 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 1alive» | ||
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 |