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/ra​kudo/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/ra​kudo/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 $2␤at <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 1␤␤Actually 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 1␤␤Actually 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 1␤␤Actually 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 $2␤at <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 ref␤at <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 ref␤at <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 1␤␤Actually 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 1␤␤Actually 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 1␤␤Actually 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 context␤at <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