dalek | rakudo/nom: b120ac4 | (Zoffix Znet)++ | / (3 files): | 01:49 | |
rakudo/nom: Fix TAP::Harness choking on single backslashes in descriptions | |||
rakudo/nom: | |||
rakudo/nom: Currently, TAP::Harness assumes backslashes in test descriptions will always be | |||
rakudo/nom: either doubled, or followed by '#'. Since backslashing every slash produces | |||
rakudo/nom: altered descriptions, we made Test.pm6 only backslash '#' in descriptions[^1], | |||
rakudo/nom: but that broke the harness's expectations. | |||
rakudo/nom: | |||
rakudo/nom: Fix by changing the grammar for description token to accept single slashes too. | |||
rakudo/nom: | |||
rakudo/nom: Neither v12[^2], v13[^3], or v14 draft [^4] versions of TAP spec say | |||
rakudo/nom: anything about backslashes or whether they can escape '#' in test | |||
notviki | kudo/nom: descriptions to prevent it from specifying a TAP directive. So the correctitude of this commit's behaviour is based on what Perl 5's is doing. P.S.: I couldn't figure out how to make TAP::Harness keep quiet and not produce any output, hence such a weird test included in this work. [1] github.com/rakudo/rakudo/commit/b1...386782ee78 [2] testanything.org/tap-specification.html [3] testanything.org/tap-version-13-sp...ation.html [4] github.com/TestAnything/testanythi...io/pull/36 |
01:50 | |
diakopter | lolwut | ||
notviki | ? | 01:51 | |
diakopter: what? | |||
.tell ugexe TAP::Harness fixed in github.com/rakudo/rakudo/commit/b...c401a0795f Unless it's already done, can you tak on :auth<perl> on use TAP to ensure if someone installs TAP::Harness from ecosystem, it doesn't get loaded instead (or whatever method there is to assure that) | |||
yoleaux2 | notviki: I'll pass your message to ugexe. | ||
notviki | :\ | 01:54 | |
diakopter: what it is? ... Can I go to bed or what.. :) | 01:55 | ||
:( | 02:04 | ||
Man, why would do that? Make someone wonder what your "lolwut" is about. | 02:05 | ||
notviki goes to bed :/ | 02:06 | ||
samcv | night! | 02:24 | |
dalek | ast: 10b16a5 | samcv++ | S15-nfg/emoji-test (2 files): Reduce the number of Emoji tests to only ones containing single codepoints |
03:37 | |
MasterDuke | m: say "abc123def" ~~ /(\w+)\d+\1۳/ | 04:49 | |
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 1779» | ||
MasterDuke | m: say "abc123def" ~~ /(\w+)\d+\۳/ | 04:50 | |
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!=== Error while compiling <tmp>Unrecognized backslash sequence: '\۳'at <tmp>:1------> say "abc123def" ~~ /(\w+)\d+\⏏۳/ expecting any of: infix stopper term» | ||
MasterDuke | m: say "abc123def" ~~ /(\w+)\d+\3/ | 04:51 | |
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!=== Error while compiling <tmp>Unrecognized backslash sequence (did you mean $2?)at <tmp>:1------> say "abc123def" ~~ /(\w+)\d+\3⏏/» | ||
samcv | it would make more sense if that error suggested to use $3 i think. cause i would hope they already know they have to start from $0 or something | 04:52 | |
but that's just my opinion | 04:53 | ||
MasterDuke | it's because \1 in Perl 5 is $0 in Perl 6 | 04:56 | |
samcv | yeah i know | ||
also what are you testing with that escape. that's a number right | 04:57 | ||
m: '۳'.unival.say | |||
camelia | rakudo-moar b120ac: OUTPUT«3» | ||
samcv | yeah | ||
i recognize it | |||
u: ۳ | |||
unicodable6 | samcv, U+06F3 EXTENDED ARABIC-INDIC DIGIT THREE [Nd] (۳) | ||
samcv | u: extended arabic-indic digit | ||
unicodable6 | samcv, U+06F0 EXTENDED ARABIC-INDIC DIGIT ZERO [Nd] (۰) | ||
samcv, U+06F2 EXTENDED ARABIC-INDIC DIGIT TWO [Nd] (۲) | |||
samcv, U+06F1 EXTENDED ARABIC-INDIC DIGIT ONE [Nd] (۱) | |||
samcv, gist.github.com/638d0d40195e76fb56...6a4b637ab0 | |||
MasterDuke | yeah, i'm wondering if we should catch those and provide the same error message | 04:58 | |
samcv | hm | ||
ugexe | m: require TAP:auth<xxx>; # notviki: doesn't work properly for `require` (which is used vs use because TAP.pm wasn't always included with rakudo) | 04:59 | |
yoleaux2 | 01:51Z <notviki> ugexe: TAP::Harness fixed in github.com/rakudo/rakudo/commit/b...c401a0795f Unless it's already done, can you tak on :auth<perl> on use TAP to ensure if someone installs TAP::Harness from ecosystem, it doesn't get loaded instead (or whatever method there is to assure that) | ||
camelia | ( no output ) | ||
samcv | ugexe, when was it not? | 05:00 | |
ugexe | before may | 05:02 | |
samcv | ugexe, can't we just try to require that one, and if the user doesn't have it just load anything? | 05:03 | |
ugexe | i just demonstrated why that cant be done | ||
samcv | ah | 05:04 | |
m: use TAP:auth<xxx> | 05:05 | ||
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!===Could not find TAP:auth<xxx> at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-2/share/perl6/site /home/camelia/rakudo-m-inst-2/share/perl6/vendor /home/camelia/rakudo-m-inst-2/share/perl6 CompUnit:…» | ||
samcv | and we can't do use either? | ||
oh well | |||
ugexe | that would cause a compile time error on install | ||
samcv | yeah | ||
exactly :\ | |||
MasterDuke | .ask jnthn if you don't mind taking a look at irclog.perlgeek.de/perl6-dev/2017-..._13865466, do you have an opinion? should we give the same error and suggestion for all Nd's as for [1..9]? | 05:10 | |
yoleaux2 | MasterDuke: I'll pass your message to jnthn. | ||
MasterDuke | .ask notviki if you don't mind taking a look at irclog.perlgeek.de/perl6-dev/2017-..._13865466, do you have an opinion? should we give the same error and suggestion for all Nd's as for [1..9]? | ||
yoleaux2 | MasterDuke: I'll pass your message to notviki. | ||
MasterDuke | .ask lizmat if you don't mind taking a look at irclog.perlgeek.de/perl6-dev/2017-..._13865466, do you have an opinion? should we give the same error and suggestion for all Nd's as for [1..9]? | ||
yoleaux2 | MasterDuke: I'll pass your message to lizmat. | ||
MasterDuke | it's an easy fix, just not sure if it's worth it | 05:11 | |
AlexDaniel | I don't see any reason why not | 05:16 | |
ah wait, I thought it is a different question | 05:17 | ||
nvm | |||
samcv | ha | 05:18 | |
MasterDuke | that question is open to anybody | 05:19 | |
samcv | yeah MasterDuke i don't see a problem adding it tbh | 05:22 | |
though i don't feel compelled that we should allow it, since it's basically supposed to correct behavior the user may try | |||
MasterDuke | m: if "abc123def" ~~ /(.)+/ { say ${۳} } | 05:42 | |
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 1779» | ||
MasterDuke | m: if "abc123def" ~~ /(.)+/ { say ${3} } | 05:43 | |
camelia | rakudo-moar b120ac: OUTPUT«===SORRY!=== Error while compiling <tmp>Unsupported use of ${3}; in Perl 6 please use $2at <tmp>:1------> if "abc123def" ~~ /(.)+/ { say ${3}⏏ }» | ||
MasterDuke | that one's a pretty trivial fix, won't have quite the same cost as the other | 05:44 | |
samcv | yeah that might be cool. would it make it slower though? | 05:49 | |
you have to check unival for it right? | |||
what nqp calls are used for checking the values for things like integers and such | |||
MasterDuke | that one should not be as slow as the first | 05:50 | |
it's essentially changing $foo - 1 into nqp::radix(10, $foo, 0, 0)[0] - 1 | 05:51 | ||
samcv | ah kk | ||
m: say 'atat' ~~ /(.)a$1/ | 05:52 | ||
camelia | rakudo-moar b120ac: OUTPUT«Nil» | ||
samcv | m: say 'atat' ~~ /(.)a$0/ | ||
camelia | rakudo-moar b120ac: OUTPUT«「tat」 0 => 「t」» | ||
samcv | just think it's odd there's no warning using that, but it gives you an off by one suggestion on the other | ||
maybe say, in Perl 6 please use $2 for the third capture or something idk | |||
MasterDuke | well, that'd be harder to do, you'd have to count the number of captures that have been done and see if it's less than the number you used | 05:58 | |
samcv | yeah exactly | ||
MasterDuke | probably not impossible, but the error message above just subtracts 1, much easier | ||
samcv | m: say 'abc' ~~ /(.)\0/ | ||
camelia | rakudo-moar b120ac: OUTPUT«Nil» | ||
samcv | ok so \0 is null. but the other ones error | 05:59 | |
MasterDuke | yeah, right now it matches <[1..9]>\d* | ||
samcv | first second third fourth fifth sixth seventh eighth night tenth | ||
m: say "\0" ~~ /\0/ | |||
camelia | rakudo-moar b120ac: OUTPUT«「␀」» | ||
[Tux] | This is Rakudo version 2016.12-226-gb120ac401 built on MoarVM version 2016.12-68-g1994c6ee | 07:51 | |
csv-ip5xs 3.162 | |||
test 13.790 | |||
test-t 5.411 | |||
csv-parser 14.403 | |||
samcv | [Tux], do you have this stuff graphed? | 07:54 | |
[Tux] | yes: tux.nl/Talks/CSV6/speed4.html | ||
timing log link on that pages will give you the csv data | |||
(of the timing stats) | 07:55 | ||
samcv | also what's test-t | 07:56 | |
[Tux] | one of the first drafts of the CSV parser, no features | ||
sorry, the other way round: test is a first version, test-t is the thing to watch: that is the current state of Text::CSV | 07:57 | ||
I just look at the value of test-t | |||
[Tux] starts writing a README | 07:58 | ||
samcv | your page is not up2date | 08:00 | |
you say IT preferences KDE 4 but then say you use plasma 5 | |||
on another page | |||
also do you still use Opera? | |||
[Tux] | KDE: will fix, Opera: yes | ||
samcv | is that for linux? | 08:01 | |
[Tux] | yes | ||
samv, does github.com/Tux/CSV/blob/master/README.speed help? | 08:07 | ||
samcv | thanks | 08:10 | |
[Tux] | KDE/Plasma5 updates | ||
KDE/Plasma5 updated | |||
regarding Opera, I still use Opera-12 on my laptop and Opera-developer (most recent version) on all my Linux desktops | 08:11 | ||
samcv | 12 uses presto? | 08:13 | |
[Tux] | first fallback is Chromium, second fallback is Vivaldi, third fallback is Firefox, then come lwp-cat, w3m, links, lynx, epiphany, konqueror, ... | ||
12 is old, but I am addicted to the key bindings | 08:14 | ||
samcv | ah | ||
do tell | |||
[Tux] | yes, presto. And I have HTTP::Proxy fully integrated in O-12, so that is shows all the pages I visit daily fully optimized (my prefered fonts, all navigation removed, etc etc) | 08:15 | |
'z' = Back, 'x' = Forward, 'a' = previous link, 's' = next link, 'q' = close tab, 'e' = link up, 'd' = link left, 'f' = link right, 'c' = link down, 'Z' = Rewind, '1' tab left, '2' tab right, '0' zoom 100%, 'i' toggle images on/off, F12/x is toggle proxy on/off | 08:18 | ||
[Tux] => $work. bbl | |||
dalek | ar/zef: f05619d | (Naoum Hankache)++ | docs/perl6intro.pdf: Latest perl6intro.com snapshot |
08:47 | |
ar/zef: fc65a27 | lizmat++ | docs/perl6intro.pdf: Merge pull request #84 from hankache/master Latest perl6intro.com snapshot |
|||
kudo/nom: 7a759d7 | lizmat++ | src/core/List.pm: Make sure that List.eager resets $!todo So generating an iterator after .eager will get you the cheap $!reified iterator, rather than first trying to reify again. |
08:49 | ||
gfldex | I would like to move Pod::To::BigPage on github to perl6. Any objections? | 10:07 | |
dalek | kudo/nom: b6561ee | lizmat++ | src/core/ (8 files): Change := Mu to := nqp::null where possible Using a low-level construct is about 2x as fast as using the HLL Mu. Probably not noticeable, but every little bit helps. |
10:27 | |
lizmat | afk& | 10:29 | |
dalek | p: 8aa67ad | jnthn++ | / (2 files): Kill off localref socpe. It wasn't being used by Rakudo nor NQP yet, and only the MoarVM backend implemented it at all. It's a problematic thing to have, since it breaks the expectation that you can compile `local` consistently into using storage that will never outlive the current call frame's dynamic scope. MoarVM not being able to make this assumption without bytecode analysis of a frame introduced unreasonable costs, and it would just be an annoying complication for all backend writers. |
10:43 | |
p: e915b40 | samcv++ | tools/build/MOAR_REVISION: Bump MoarVM for Emoji related fixes Fixes our breakup into Graphemes and fixes the number of chars counted in a string for hundreds of Unicode Emoji. MoarVM: Don't break after ZWJ or for MALE SIGN and FEMALE SIGN github.com/MoarVM/MoarVM/commit/ebc4abc7ea |
10:56 | ||
kudo/nom: 823f0f7 | samcv++ | tools/build/NQP_REVISION: Bump NQP/MoarVM for Emoji related fixes Fixes our breakup into Graphemes and fixes the number of chars counted in a string for hundreds of Unicode Emoji. MoarVM: Don't break after ZWJ or for MALE SIGN and FEMALE SIGN github.com/MoarVM/MoarVM/commit/ebc4abc7ea |
10:57 | ||
samcv | \o/ | ||
samcv | gfldex, sounds like a plan | 10:58 | |
err the commit description is semi unaccurate but whatever | |||
well mostly but forgot to be more specific about the ZWJ changes, oh well. | |||
it's actually Glue_after_ZWJ | 10:59 | ||
notviki | m: say "foo" ~~ /<.-[z]>+/ | 11:06 | |
yoleaux2 | 05:10Z <MasterDuke> notviki: if you don't mind taking a look at irclog.perlgeek.de/perl6-dev/2017-..._13865466, do you have an opinion? should we give the same error and suggestion for all Nd's as for [1..9]? | ||
camelia | rakudo-moar b6561e: OUTPUT«「foo」» | ||
notviki | m: say "foo" ~~ /<-[z]>+/ | ||
camelia | rakudo-moar b6561e: OUTPUT«「foo」» | ||
notviki | MasterDuke: character classes don't seem to be capturing anyway... | ||
samcv | ugh it keeps telling me my moar is too old when running Configure.pl for nqp | ||
but it is the same | |||
as what git describe for moar says. i guess make clean | 11:07 | ||
jnthn | samcv: Fixed with re-Configure in Moar | ||
samcv | yeah i did that tho | ||
prolly will be fixed with make clean | 11:08 | ||
nopey | |||
still not working | |||
thinks i 2016.12-71-g331a6b43 is too old, when the file says 2016.12-71-g331a6b43 | 11:09 | ||
which is exactly the same | |||
the MOAR_REVISION file that is | |||
notviki | so diakopter never said why he lolwutted my commit? :/ how rude | 11:10 | |
samcv | yep | 11:11 | |
.ask diakopter why did you lol wut notviki’s commit??? | |||
yoleaux2 | samcv: I'll pass your message to diakopter. | ||
lizmat | samcv: that's quite a few todo's passing now | ||
samcv | millions | 11:12 | |
what command do i run to force it to update | |||
err not force but auto remove passing ones in that file | |||
lizmat | ah, auto remove... hmmm... do we have that ? | ||
samcv | i used my super-fudger.p6 to fudge them in the 1st place cause uh | ||
i thought we did | |||
somebody said we did | |||
notviki | I said we did | 11:13 | |
lizmat | then that somebody knows more than me :) | ||
jnthn | I thought we had such a tool too :) | ||
samcv | nobody has time to fudge like 800 tests tho | ||
jnthn | auto unfudge or something | ||
notviki | I never used it, but I see we have ./tools/autounfudge.pl | ||
samcv | so at least super-fudger does it for any code that can be tested line by line | ||
jnthn | hehe ;) | ||
lizmat | hmmm...another tool in need of p6ification :-) | 11:14 | |
TIL :-) | |||
notviki | m: BEGIN { if $*PERL.compiler.version after v2016.05 { use TAP:auth<perl>; } else { use TAP:auth<xxx>; }}; | ||
camelia | rakudo-moar 823f0f: OUTPUT«===SORRY!===Could not find TAP:auth<xxx> at line 1 in: /home/camelia/.perl6 /home/camelia/rakudo-m-inst-1/share/perl6/site /home/camelia/rakudo-m-inst-1/share/perl6/vendor /home/camelia/rakudo-m-inst-1/share/perl6 CompUnit:…» | 11:15 | |
notviki | m: say $*PERL.compiler.version after v2016.05 | ||
camelia | rakudo-moar 823f0f: OUTPUT«True» | ||
notviki | ugexe: well, that's kinda sucky, because as gfldex pointed out, a user can break their zef by just installing TAP::Harness from ecosystem :/ | 11:16 | |
m: 'use TAP:auth<perl>'.EVAL; say TAP::Harness | 11:17 | ||
camelia | rakudo-moar 823f0f: OUTPUT«Could not find symbol '&Harness' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
notviki | m: EVAL 'use TAP:auth<perl>', context => OUTER::; say TAP::Harness | ||
camelia | rakudo-moar 823f0f: OUTPUT«Could not find symbol '&Harness' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
notviki | m: EVAL 'use TAP:auth<perl>', context => CALLER::; say TAP::Harness | ||
camelia | rakudo-moar 823f0f: OUTPUT«Could not find symbol '&Harness' in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
notviki shrugs | 11:18 | ||
samcv | also auto-unfudger won't work | 11:24 | |
./tools/autounfudge.pl ./t/spec/S15-nfg/emoji-test.t | |||
Processing file './t/spec/S15-nfg/emoji-test.t' | |||
i hope it doesn't need a spectest file? cause that's uber lame | |||
i guess i can do --auto | 11:28 | ||
nope not doing anything | |||
whatever i'll just regenerate the file and then use super-fudger.p6 :P | 11:29 | ||
yeah 764 tests. nobody got time to unfudge that many | 11:31 | ||
dalek | ast: 3181874 | samcv++ | S15-nfg/emoji-test.t: Unfudge 764 Emoji todo tests. samcv++ |
11:32 | |
samcv | notviki, can we change this error message to have a normal apostrophe? | ||
m: warn | 11:33 | ||
camelia | rakudo-moar 823f0f: OUTPUT«Warning: something's wrong in block <unit> at <tmp> line 1» | ||
notviki | .tell MasterDuke your microoptimization PR fails to compile for me with "Use of undeclared variable '$t' at line 2034, near " - 1 if $t"". Are you sure you were spectesting it and not something else? | ||
yoleaux2 | notviki: I'll pass your message to MasterDuke. | ||
samcv | something’s wrong would look nicer | 11:34 | |
dalek | kudo/nom: 3c52aa0 | lizmat++ | src/core/Seq.pm: Give Seq its own .join, 25% faster than List.join - it won't try to reify stuff first - makes constructs like .map().join faster with less memory pressure - tested with Seq.new(^10 .iterator).join |
||
lizmat | samcv: you have a commit bit :-) | 11:35 | |
afk& | 11:36 | ||
notviki | samcv: and what about all the other warnings and messages that use `'` for apostrophes? | ||
samcv | sure | ||
notviki | most of them would be in src/core/Exception.pm and in src/core/Grammar.nqp (and prolly Actions.nqp) look for .worry() and.... I forget what the one for errors is called | 11:48 | |
there are also some in lib/Test.pm6 | 11:49 | ||
samcv | i'm going to bed guys. will look for that tomorrow :) | 11:50 | |
jnthn | 'night, samcv++ | ||
notviki | night | 11:54 | |
pmurias | should we remove &tmpdir and &homedir? they are unspecced and broken | 12:03 | |
notviki | pmurias: I'm currently working on the plan described here: rt.perl.org/Ticket/Display.html?id...xn-1442705 | 12:04 | |
pmurias: I have long weekends for the next two months and hope to address that entire plan and figure out how tmpdir/homedir fit into it | 12:05 | ||
Along with the rest of IO routines | |||
notviki rushes to catch the bus | 12:06 | ||
pmurias | notviki: one possible replacement would be adding a method that checks the r,w,x,d stuff and having users use something like: my $*TMPDIR = '/home/custom-tmpdir'.IO.check(:r,:w,:x,:d) | 12:13 | |
the exact name of the checking method would have to be carefully bikeshedded | 12:18 | ||
dalek | p: 14056be | jnthn++ | / (2 files): Simplify MoarVM backend continuation support. We only need one-shot for Rakudo, and the multi-shot wasn't ever done correctly anyway (the only significant test removed here was todo'd). So, remove those tests, and the mapping ofr the continuationclone op that went with them, which MoarVM will be removing. |
12:19 | |
jnthn | gah, typo | ||
gfldex | m: class C { multi method lock-down(::?CLASS:U:){ self.^can('new')».wrap(-> |c { fail „The class {.Str} is locked down!“ }) }; multi method lock-down(::?CLASS:D:){ fail „Instanced of {.WHAT.Str} can not be locked down.“ } }; my $c = C.new; C.lock-down; C.new; | 12:30 | |
why does this time out? | |||
camelia | rakudo-moar 3c52aa: OUTPUT«(timeout)» | ||
jnthn | Not sure, but that fail isn't going to work, because fail is a form of return | 12:32 | |
And so binds to the lock-down method | |||
gfldex | m: class C { multi method lock-down(::?CLASS:U:){ self.^can('new')».wrap(-> |c { die „The class {.Str} is locked down!“ }) }; multi method lock-down(::?CLASS:D:){ fail „Instanced of {.WHAT.Str} can not be locked down.“ } }; my $c = C.new; C.lock-down; C.new; | 12:33 | |
camelia | rakudo-moar 3c52aa: OUTPUT«(timeout)» | ||
notviki | prolly cause you're wrapping Mu.new and it loops trying to create that Failure object | 12:34 | |
jnthn | ohhh | ||
Right | |||
You're wrapping the inherited new method :) | |||
notviki++ | 12:35 | ||
gfldex | m: class C { multi method lock-down(::?CLASS:U:){ self.^add_method('new', my method new(C:U: |c){ fail „The class {.gist} is locked down!“; self.^compose; }) }; multi method lock-down(::?CLASS:D:){ fail „Instanced of {.WHAT.Str} can not be locked down.“ } }; my $c = C.new; C.lock-down; C.new; | 12:45 | |
camelia | ( no output ) | ||
gfldex | it seams to call the wrong new | 12:46 | |
MasterDuke | notviki: good catch, that's what i get for working too late into the night. updated | 12:56 | |
yoleaux2 | 11:33Z <notviki> MasterDuke: your microoptimization PR fails to compile for me with "Use of undeclared variable '$t' at line 2034, near " - 1 if $t"". Are you sure you were spectesting it and not something else? | ||
MasterDuke | anybody have some thoughts on those error messages i asked about? | 12:59 | |
notviki doesn't | 13:08 | ||
MasterDuke | eh, i'll just submit a PR and people can see the changes | 13:29 | |
[Coke] | gfldex: why move? | 13:42 | |
(bigpage) | |||
gfldex | well, if TAP::Harness would be owned by Team Perl 6 … | 13:43 | |
notviki | ? | 13:44 | |
notviki doesn't understand why we need three nearly identical copies of TAP::Harness | |||
gfldex | we don't really because zef does the job of prove6 | 13:45 | |
notviki | Then I don't get this statement: "gfldex │ well, if TAP::Harness would be owned by Team Perl 6" | 13:46 | |
gfldex | we could prevent `zef install TAP::Harness` from breaking zef | 13:47 | |
notviki | how would you accomplish that? | ||
gfldex | zef doesn't check if there is a module in core of the same name | 13:48 | |
notviki | Or are you still going to remove Leont's TAP::Harness? | ||
gfldex | at least it didn't yesterday | ||
notviki | Right, so what will it do when it's asked to install TAP::Harness and there are two TAP::Harnesses in the ecosystem? | 13:49 | |
gfldex | as long as you don't provide auth<> it will assume that module is already installed | 13:51 | |
i do not claim to have understood how conflict resolution with multiple authors is supposed to work | 13:52 | ||
notviki | if it assumes that, it seems like a bug. | 13:53 | |
gfldex | that's ENODOC btw | ||
notviki | And considering Leont replied to my comment elsewhere on GitHub 2 hours ago... releasing a third TAP::Harness is an attempt to subvert users from installing Leont's TAP::Harness is a strange way to deal with a bug in his module | 13:55 | |
Which I don't even see as reported on his repo. | 13:56 | ||
gfldex | i have no plans regarding TAP::Harness anymore | 13:57 | |
notviki | hm, perl6.fail seems to not able to pick up smls's recent tickets either (along with zefram's) :/ | 14:09 | |
notviki tries the nuclear option | 14:12 | ||
pmurias | why do we have a module both in the rakudo repo and in the ecosystem? | 14:20 | |
notviki | Because anyone is free to release a module into ecosystem and thanks to the :auth they can name it anything they want. | 14:21 | |
jnthn | I don't believe we install the copy in the Rakudo repo? Or do we? | ||
I thought it wsa just there for spectest6 use though | |||
*was | |||
notviki | jnthn: it's part of lib/TAP.pm | ||
It's installed on my box with rakudobrew | 14:22 | ||
jnthn | Hm, OK | ||
notviki | and it's installed on my 2016.11 Rakudo Star Windows install | ||
jnthn | Yes, but by Rakudo itself, or from the ecosystem? | 14:23 | |
notviki | Don' | ||
Don't know if it's included in Star, but the rakudobrew install it's from rakudo, not ecosystem | |||
jnthn | ah | ||
Yeah, install_core_dist does it | |||
Hmm | |||
So I was wrong, though arguably I should have been right :P | 14:24 | ||
notviki | heh | ||
worse, I don't see any docs for it whatsoever. | 14:25 | ||
pmurias | notviki: having and :auth doesn't magically make a 'use Foo' pick the right Foo module | 14:26 | |
notviki | pmurias: which is the problem with the whole `:auth` thing I complained about a year ago... | 14:27 | |
And as ugexe pointed out, it doesn't even work at all if you `require` a module instead of `use`ing it | 14:28 | ||
pmurias | also having a little core modules as possible seems a wise, as they turned out to be a bad thing in Perl 5 | 14:29 | |
notviki | Cool. So let's toss the core one out and convince Leont to give core devs a commit bit for his version? | 14:30 | |
jnthn | notviki: I don't know that we want to remove it from the Rakudo repo, this is more about "should we install it" | ||
notviki: Since our goal is to start using the Perl 6 harness to run spectests | |||
notviki | jnthn: we can still install it from the repo for that purpose. We currently need to install Inline::Perl5, for example. | 14:31 | |
jnthn | No we don't | ||
You can run the vast majority of spectests without doing that. | |||
notviki | jnthn: what do you mean? | ||
jnthn | I don't have Inline::Perl5 installed | 14:32 | |
notviki | But not all. | ||
jnthn | On my dev box. | ||
Well, on this dev box | |||
Sure, but 52,000 or so :P | |||
I don't think having a module in the repo for private use is really a problem. | |||
This is really just about whether we install it. | 14:33 | ||
notviki | The full run has 130K of top-level tests. | ||
jnthn | That's stresstest, no? | ||
notviki | jnthn: I see it as doing double the effort for no reason. For example, the core TAP::Harness currently has a bug fix for backslashes in description, but Leont's version doesn't. If we mark core TAP.pm as private use, than we'd have to duplicate all such bugfixes between the two repos | 14:34 | |
it could be just a `git clone`; same as we do for nqp/MoarVM reall | |||
RT#130518 is another fix that would have to be done in both repos.... | 14:35 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130518 | ||
notviki | How come that's the goal to use Harness6? Our Configure.pl need perl5 and perl5 comes with prove... | 14:41 | |
jnthn | notviki: Dogfooding, but also it gives us a "free" test of a long-running concurrent program as part of the spectest process too | 14:43 | |
dalek | kudo/nom: dd5759b | (Zoffix Znet)++ | appveyor.yml: Try to unbust appveyor By trying a different version of Strawberry per github.com/kvirc/KVIrc/commit/4640...8cdc97b280 |
14:46 | |
notviki | NeuralAnomaly: status | 14:50 | |
NeuralAnomaly | notviki, [✘] Next release will be in 1 day and 2 weeks. Since last release, there are 0 new still-open tickets (0 unreviewed and 0 blockers) and 230 unreviewed commits. See perl6.fail/release/stats for details | ||
notviki | hm... the nuclear option seems to have broken perl6.fail entirely :P | 14:51 | |
jnthn | That...sounds pretty nuclear :P | 15:02 | |
Good news for those of you hacking on stuff in CORE.setting: I've a MoarVM branch that knocks ~20% off CORE.setting compilation time, and ~10% of CORE.setting compilation memory use. | 15:08 | ||
arnsholt | That's the work-lifetime changes? | 15:09 | |
jnthn | Yes | ||
gist.github.com/jnthn/de0c1b39fd17...5f93541cfb is the measurements, fwiw | |||
arnsholt | Wow. 20% is pretty darn massive | ||
MasterDuke | ++jnthn++ | 15:10 | |
arnsholt | But given it impacts every single invocation, perhaps not too odd | ||
jnthn | Yes, this likely will have some positive impact on user code too | ||
arnsholt | I guess [Tux] will tell us tomorrow =) | ||
notviki | jnthn++ I definitely appreciate core setting compilation time reductions :D | 15:13 | |
MasterDuke | heh, same here, but makes my ~1s reduction PR look pretty sad | 15:15 | |
jnthn: will it noticeably help startup time? | |||
jnthn | Unlikely | 15:17 | |
I mean, if you callgrind it you'll see a CPU cycle difference | |||
But I'm not sure it'll be significant | |||
timotimo | we've gotten most start-up time improvements by doing less work when starting, so we're now at a point where there's not enough work for such a patch to help a whole lot ;) | 15:21 | |
MasterDuke | i was wondering about running spectests, how much of that time is the numerous startups? i.e., will this change have a noticeable change on running them? | 15:25 | |
[Coke] | (tap harness in core vs. not) if we're going to duplicate Perl 5's core/dual lived module problems, we need to be prepared for the problems that come with that. | ||
timotimo | well, this change has an impact on stages parse, optimize, and mast in the core setting, it'd stand to reason that compilation of all the test files gets a little bit faster now | 15:26 | |
though i never tried to measure the individual stage timings for the core setting. that might be an interesting little project | |||
notviki | [Coke]: so let's not duplicate those problems? | 15:28 | |
arnsholt | That gives me a thought: Are the times portioned between the stages similarly for smaller scripts like test files as for the setting? | ||
notviki | [Coke]: what are the problems BTW? Do they apply to modules included with Rakudo Star? | 15:29 | |
arnsholt: don't seem to be. Here are two random spectest files: one has double the parse stage time, but other stages are the same: gist.github.com/zoffixznet/8a710f7...004150adbd | 15:31 | ||
arnsholt | Yeah, that's what I sort of figured | 15:32 | |
jnthn | CORE.setting does a lot of on-demand compilation | 15:37 | |
Where it runs bits of the code in CORE.setting as it's being compiled | |||
Much more so than the average program, I suspect | 15:38 | ||
[Coke] | notviki: I have only partial knowledge based on lurking in p5p for a while; but keeping the versions in sync and dealing with having core version installed vs. ecosystem version are the big ones. | ||
notviki | ah | 15:39 | |
MasterDuke_ | jnthn, timotimo, etc: i noticed a bunch of "foo = MVM_malloc(...) \n memset(foo, 0, ...)" in MoarVM. would a PR converting those to "foo = MVM_calloc(...)" be useful? | 15:54 | |
jnthn | MasterDuke_: Yes | 15:55 | |
MasterDuke | jnthn: cool, i'll see about doing that | 15:56 | |
dalek | kudo/js: 73abad0 | (Pawel Murias)++ | src/ (3 files): [js] Decont arguments with a type signature in the nqp level binder. |
16:06 | |
kudo/js: edec947 | (Pawel Murias)++ | src/vm/js/Perl6/Ops.nqp: [js] Implement nqp::p6return. |
|||
kudo/js: 2a8b0ee | (Pawel Murias)++ | src/core/Perl.pm: [js] Put linux in DISTROnames. Think if we want to have all possible or just the once tested to work. |
|||
ugexe | notviki: how can you tell its strawberry perl causing appveyor failure? | 16:12 | |
to me it looks like its something causing it to fail compiling utf8_c8.c but I don't see any hints that its perl related | 16:13 | ||
notviki | the previous failure was about strawberry failing to install so after the first change to fix it didn't unbust it I tried another solution for the strawberry problem people also had | 16:15 | |
"'make' is not recognized as an internal or external command" | |||
ugexe | ah. i assumed the previous failure just messed up the process in such a way it would start using make instead of name | 16:18 | |
instead of nmake^ | 16:19 | ||
notviki | *shrug* I've no idea :/ | 16:20 | |
by previous failure I mean how it failed 5 days ago | 16:21 | ||
this one: ci.appveyor.com/project/moritz/rak...du055poba2 | |||
dalek | p: 97d9ad2 | brrt++ | t/moar/50-jit-register-alloc.t: Make JIT register allocator test more strict It should actually give the correct answer :-) |
16:53 | |
notviki | .ask nine is this meant to work? gist.github.com/zoffixznet/b6cb79c...ad08deb68d Seems to only use the sub from first loaded version and keeps using it that version even if I reverse the loading order, unless I also nuke the .precomp | 17:20 | |
yoleaux2 | notviki: I'll pass your message to nine. | ||
notviki | .tell nine here are the contents of the files in that tree: gist.github.com/zoffixznet/ccdd17f...c06be8afbe | 17:26 | |
yoleaux2 | notviki: I'll pass your message to nine. | ||
notviki | .tell nine err, `cat v2/Foo.pm6` has { say "two"; } instead of { say "one" } (and yeah, I then changed it to say "ones" and the code kept saying "one" until I nuked precomp | 17:30 | |
yoleaux2 | notviki: I'll pass your message to nine. | ||
notviki | ) | ||
MasterDuke: but shouldn't it say $32 since the number used is 33? | 18:16 | ||
m: $_ = "432134213423423423423423432423423432432432423423432"; for ^1000 { $ = /<.[\d] - [0٠۰߀०০੦૦୦௦౦೦൦෦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꧰꩐꯰0𐒠𑁦𑃰𑄶𑇐𑋰𑑐𑓐𑙐𑛀𑜰𑣠𑱐𖩠𖭐𝟎𝟘𝟢𝟬𝟶𞥐]>\d*/ }; say now - INIT now | 18:18 | ||
camelia | rakudo-moar dd5759: OUTPUT«0.0091893» | ||
notviki | hm | ||
In terminal that spamms me with warnings: gist.github.com/zoffixznet/f88fcd2...f4b5c91dd9 | 18:19 | ||
MasterDuke | i've never seen that warning | 18:20 | |
notviki | m: $_ = "432134213423423423423423432423423432432432423423432"; for ^1000 { $ = /<.[\d] - [0]>\d*/ }; say now - INIT now | 18:21 | |
camelia | rakudo-moar dd5759: OUTPUT«0.00246506» | ||
notviki | m: $_ = "432134213423423423423423432423423432432432423423432"; for ^1000 { $ = /<.[\d] - [0]>\d*/ }; say now - INIT now | ||
camelia | rakudo-moar dd5759: OUTPUT«0.00241057» | ||
notviki | m: $_ = "432134213423423423423423432423423432432432423423432"; for ^1000 { $ = /<.[\d] - [0٠۰߀०০੦૦୦௦౦೦൦෦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꧰꩐꯰0𐒠𑁦𑃰𑄶𑇐𑋰𑑐𑓐𑙐𑛀𑜰𑣠𑱐𖩠𖭐𝟎𝟘𝟢𝟬𝟶𞥐]>\d*/ }; say now - INIT now | ||
camelia | rakudo-moar dd5759: OUTPUT«0.008987» | ||
notviki | m: $_ = "432134213423423423423423432423423432432432423423432"; for ^1000 { $ = /<.[\d] - [0٠۰߀०০੦૦୦௦౦೦൦෦๐໐༠၀႐០᠐᥆᧐᪀᪐᭐᮰᱀᱐꘠꣐꤀꧐꧰꩐꯰0𐒠𑁦𑃰𑄶𑇐𑋰𑑐𑓐𑙐𑛀𑜰𑣠𑱐𖩠𖭐𝟎𝟘𝟢𝟬𝟶𞥐]>\d*/ }; say now - INIT now | ||
camelia | rakudo-moar dd5759: OUTPUT«0.009107» | ||
MasterDuke | m: use nqp; my $a = "۳\x[308]3"; say nqp::radix(10, $a, 0, 0)[0] | 18:22 | |
camelia | rakudo-moar dd5759: OUTPUT«0» | ||
notviki | m: say "\0" ~~ /\0/ | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Unrecognized backslash sequence: '\0'at <tmp>:1------> say "\0" ~~ /\⏏0/ expecting any of: term» | ||
notviki | .ask samcv what do you think of github.com/rakudo/rakudo/pull/990 can you merge it if it looks fine? | 18:24 | |
yoleaux2 | notviki: I'll pass your message to samcv. | ||
notviki | MasterDuke: FWIW there this chunk of code that checks for synthetic digits: github.com/rakudo/rakudo/blob/nom/...1824-L1840 | 18:28 | |
MasterDuke: and we could also create a token for \d without synthetics and have it auto-generated from current unicode by a script or something | |||
All of this has a DIHWIDT feel to it tho, including those zeros :} | 18:29 | ||
MasterDuke | heh, that's why was looking for comments | ||
*i was | 18:30 | ||
m: ${3} | 18:36 | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Unsupported use of ${3}; in Perl 6 please use $2at <tmp>:1------> ${3}⏏<EOL>» | ||
MasterDuke | m: ${۳} | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 1779» | ||
MasterDuke | that's the other one | 18:37 | |
notviki | m: ${+"۳"} | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Unsupported use of ${+"۳"}; in Perl 6 please use $(+"۳") for hard ref or $::(+"۳") for symbolic refat <tmp>:1------> ${+"۳"}⏏<EOL>» | ||
notviki | heh | ||
m: ${+"\b\b\b\b\b\b\b\b\b۳"} | |||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Unsupported use of ${+"\b\b\b\b\b\b\b\b\b۳"}; in Perl 6 please use $(+"\b\b\b\b\b\b\b\b\b۳") for hard ref or $::(+"\b\b\b\b\b\b\b\b\b۳") for symbolic refat <tmp>:1------> ${+"\b\b\b\b\b\b\b\b\b۳"…» | ||
notviki | Yeah. I guess the question is, is this a problem for anyone who isn't just messing around? :) | 18:39 | |
Or... can this lead to some sort of exploit | |||
MasterDuke | i don't really know, but since we allow all Nd's in lots of other places... | ||
notviki | mc: say +"۳\x[308]3" | 18:40 | |
committable6 | notviki, gist.github.com/846906ef491b2ceacd...5598b631c8 | ||
notviki | mc: say +"3۳\x[308]3" | ||
committable6 | notviki, ¦«2015.12»: Cannot convert string to number: trailing characters after number in '3⏏۳̈3' (indicated by ⏏) in block <unit> at /tmp/xdZL7Aytte line 1Actually thrown at: in block <unit> at /tmp/xdZL7Aytte line 1 «exit code = 1» | ||
notviki | mc: say "3۳\x[308]3".Int | 18:41 | |
committable6 | notviki, ¦«2015.12»: Cannot convert string to number: trailing characters after number in '3⏏۳̈3' (indicated by ⏏) in block <unit> at /tmp/GGvgHedGCB line 1Actually thrown at: in block <unit> at /tmp/GGvgHedGCB line 1 «exit code = 1» | ||
notviki | m: $۳ | ||
camelia | ( no output ) | ||
notviki | MasterDuke: I don't have any ideas on this :) maybe samcv or TimToady would | 18:42 | |
MasterDuke | .ask TimToady what do you think about github.com/rakudo/rakudo/pull/990? irclog.perlgeek.de/perl6-dev/2017-...i_13865466 and irclog.perlgeek.de/perl6-dev/2017-...i_13871168 for some background | 18:45 | |
yoleaux2 | MasterDuke: I'll pass your message to TimToady. | ||
notviki | c: 2016.09 my $money-in-account = 10; my $money-wanted = "3\x[308]99999999999999"; unless $money-wanted.Int <= $money-in-account { die "You're too broke for that, bruh!" }; say "Yo, operator! Give this dude $money-wanted moneys!" | 18:48 | |
committable6 | notviki, ¦«2016.09»: Yo, operator! Give this dude 3̈99999999999999 moneys! | ||
notviki | A convoluted but not impossible scenario of a hexplot :) | ||
m: my $money-in-account = 10; my $money-wanted = "3\x[308]99999999999999"; unless $money-wanted.Int <= $money-in-account { die "You're too broke for that, bruh!" }; say "Yo, operator! Give this dude $money-wanted moneys!" | 18:58 | ||
camelia | rakudo-moar dd5759: OUTPUT«Cannot convert string to number: base-10 number must begin with valid digits or '.' in '⏏3̈99999999999999' (indicated by ⏏) in block <unit> at <tmp> line 1Actually thrown at: in block <unit> at <tmp> line 1» | ||
notviki | MasterDuke: since you're not in #moarvm: irclog.perlgeek.de/moarvm/2017-01-06#i_13871584 | 19:42 | |
samcv | m: say 'abcdc' ~~ /ab(.)d\᠐/ | 19:44 | |
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Unrecognized backslash sequence: '\᠐'at <tmp>:1------> say 'abcdc' ~~ /ab(.)d\⏏᠐/ expecting any of: infix stopper term» | ||
samcv | m: say 'abcdc' ~~ /ab(.)d$᠐/ | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 6160» | ||
samcv | what | 19:45 | |
MasterDuke | you can only check the unival if you've matched it in the first place | ||
and in the case of ascii 0, we'd then want to give it back | |||
notviki | .oO( tell people to use '\0' |
19:46 | |
in that case ) | |||
MasterDuke | but could just do <[\d] - [0]> and then only subtract if unival > 0 | ||
notviki | yeah | ||
samcv | yeah that's what i am thinking MasterDuke | 19:47 | |
MasterDuke | k, let me give that a shot | 19:49 | |
samcv | idk maybe we can program in first second third fourth fifth etc, and tell them use $0 for the first capture or if we subtruct 1 say for use $0 for the first capture. i would be way more for that than programming in all those languages numbers | 19:50 | |
but that doesn't have to happen now at all | 19:57 | ||
notviki | m: … | 19:58 | |
camelia | rakudo-moar dd5759: OUTPUT«Stub code executed in any at /home/camelia/rakudo-m-inst-2/share/perl6/runtime/CORE.setting.moarvm line 1 in block <unit> at <tmp> line 1» | ||
notviki | m: Backtrace::Frame.^lookup("is-setting").wrap: method () { $!file.starts-with("SETTING::") or $!file.ends-with("CORE.setting.moarvm") }; … | 19:59 | |
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!=== Error while compiling <tmp>Cannot understand $!file in this contextat <tmp>:1------> p("is-setting").wrap: method () { $!file⏏.starts-with("SETTING::") or $!file.ends» | ||
notviki | orly | ||
m: Backtrace::Frame.^lookup("is-setting").wrap: method () { $.file.starts-with("SETTING::") or $.file.ends-with("CORE.setting.moarvm") }; … | |||
camelia | rakudo-moar dd5759: OUTPUT«Stub code executed in block <unit> at <tmp> line 1» | ||
MasterDuke | samcv, notviki: PR updated | 20:57 | |
samcv | MasterDuke, looking | 21:21 | |
MasterDuke, much better | 21:22 | ||
MasterDuke | cool | 21:24 | |
samcv | let me test it out on my computer | ||
MasterDuke | m: ${۳} | 21:31 | |
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 1779» | ||
MasterDuke | just submitted a PR for those | 21:32 | |
samcv | cool | ||
this is only for the errors right | 21:33 | ||
cause | |||
MasterDuke | yeah | ||
samcv | m: say 'abca' ~~ /(a)(b)(c)$٠/ | ||
camelia | rakudo-moar dd5759: OUTPUT«===SORRY!===Error encoding ASCII string: could not encode codepoint 1632» | ||
samcv | this fails silently | ||
m: say 'test' | |||
camelia | rakudo-moar dd5759: OUTPUT«test» | ||
samcv | ah | 21:34 | |
well if you don't get that ascii error heh | |||
#fakeascii | |||
MasterDuke | it fails differently with my PR? | 21:36 | |
samcv | uhm | 21:37 | |
probably the same :P | |||
dalek | kudo/nom: 41d9f5c | MasterDuke17++ | src/Perl6/Grammar.nqp: Handle all Nd digits in regex backslash errors /\۳/ now suggests $2, before it just didn't recognize it. |
21:40 | |
kudo/nom: 161d7a0 | MasterDuke17++ | src/Perl6/Grammar.nqp: Only subtract one from backslash suggestion if > 0 |
|||
kudo/nom: 964b28b | samcv++ | src/Perl6/Grammar.nqp: Merge pull request #990 from MasterDuke17 Handle all Nd digits in regex backslash errors |
|||
samcv | merged | ||
MasterDuke | thanks | ||
btw, think i have a fix for say 'abca' ~~ /(a)(b)(c)$٠/ | 21:43 | ||
notviki | \o/ | 22:07 | |
MasterDuke | github.com/perl6/nqp/pull/337 | ||
dalek | ast: efee15f | lizmat++ | S (2 files): Unfudge now passing tests |
22:17 | |
p: 7084d5a | MasterDuke17++ | src/QRegex/P (2 files): Handle Nd's as a backreference So perl6 -e 'say "abca" ~~ /(a)(b)(c)$٠/' now matches. |
22:18 | ||
p: ccd4089 | lizmat++ | src/QRegex/P (2 files): Merge pull request #337 from MasterDuke17/correctly_handle_unicode_digits_in_backreferences Handle Nd's as a backreference |
|||
kudo/nom: 5592db8 | lizmat++ | tools/build/NQP_REVISION: Bump NQP to handle Nd's as a backreference |
22:43 | ||
MasterDuke | lizmat, notviki, samcv: is github.com/rakudo/rakudo/pull/989 good? | 22:47 | |
notviki has no idea :( | 22:49 | ||
sorry | |||
lizmat | MasterDuke: was about to go to bed, will check tomorrow | 22:51 | |
MasterDuke | notviki: no worries | 22:52 | |
lizmat: thanks |