TimToady .tell lizmat It makes very little sense to me to do >>+<< lazily, since hypers are eager (unlike Z), and the common case will be that the lengths will match, because why try otherwise? And surely eager can be more efficient... 00:06
yoleaux2 TimToady: I'll pass your message to lizmat.
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Put the new Zop handling live for 13x improvement 00:44
travis-ci.org/rakudo/rakudo/builds/190745233 github.com/rakudo/rakudo/compare/8...6d4b3a581b
samcv nice 00:45
gfldex jnthn: running bigpage went from 44s to 28s. Whatever you did, do more of the same. :) 00:50
timotimo *nice* 01:00
samcv \o/ awesome 01:03
timotimo gfldex: did you also measure what happened when samcv put in the new highlighter
gfldex bigpage doesnt use that
timotimo oh, OK 01:04
does it do no highlighting or does it use Inline::Python?
samcv it just does no highlighting
there's no Inline::Python anymore
timotimo mhm 01:05
samcv seems i missed a bunch of atom-language-perl6 tickets. gonna fix then now 01:27
i think i'm going to add a .editorconfig to nqp and rakudo 01:45
it's a file editor agnostic way of specifying things like indentation and line endings
editorconfig.org/
the atom plugin is actually super nice. it will even warn you when another plugin is interfering with applying the correct settings 01:46
MasterDukeLaptop .ask jnthn do you mind taking a look at github.com/perl6/nqp/pull/340? many thanks 03:43
yoleaux2 MasterDukeLaptop: I'll pass your message to jnthn.
MasterDukeLaptop .ask timotimo do you mind taking a look at github.com/perl6/nqp/pull/340? many thanks
yoleaux2 MasterDukeLaptop: I'll pass your message to timotimo.
timotimo it worries me that there's no invalidation for that cache anywhere 03:45
yoleaux2 03:43Z <MasterDukeLaptop> timotimo: do you mind taking a look at github.com/perl6/nqp/pull/340? many thanks
MasterDukeLaptop what would cause it to need invalidation? 03:52
timotimo: ^^^ 04:00
timotimo i'm not sure 04:09
i don't really know what the exact lifetime of the NFA object is, i'm not sure if it should survive serialization into Grammar.moarvm, for example
have you tried if it's possible to use nqp::findmethod instead of find_method? 04:10
MasterDukeLaptop ah, you mentioned that before, but no, i haven't yet 04:16
is it pretty similar?
the expensive call is: $meth := $cursor.HOW.find_method($cursor, $name, :no_trace(1)); 04:20
nqp::findmethod takes an $obj and a $method 04:21
i guess i'll try $cursor and $name as the $obj and $method
timotimo yeah 04:34
MasterDukeLaptop so that passes `make m-test` and is ~6s faster than my add_method_cache branch 04:40
seeing what a rakudo spectest looks like now
hmm, but i did just build a moar with all jnthn++ 04:41
's changes...
before i just had the work_lifetime branch checked out 04:42
so not sure those times are directly comparable 04:43
and of course would the cache+change to nqp op be even better... 04:44
timotimo ? 04:52
MasterDukeLaptop looks like it passes a spectest 04:54
yep
timotimo honestly, i'd prefer only the nqp op, rather than adding a custom cache here. but that's just because i don't know enough about everything going on there 04:55
MasterDukeLaptop well, i think i'd agree that my cache implementation is not the best possible solution 04:56
timotimo can you do an apples-to-apples measurement for just changing to use the nqp op? 04:57
MasterDukeLaptop but it seems like something is non-optimal (given that my cache does make things better) and i'm not sure what the best possible solution s 04:58
*is
yeah, doing that now
on the laptop on battery, so stuff is a good bit slower though...
timotimo oh damn 04:59
can you try to do it on whateverable's server? power management can really screw up timings
MasterDukeLaptop this is nearly finished, but i'll see about switching. but >10s swings seems like it would be outside the noise of power management (given that everything else is equal) 05:01
timotimo if you have a sufficient N, then yeah, sure. 05:02
MasterDukeLaptop just re-ran on my branch, now trying branch+plus nqp op 05:09
these numbers are obviously not perfect, but it looks like 59.6s for stock NQP, 44.5s for my branch, 40.3s for stock NQP+change to nqp:: op, and 42s for stock NQP+change to nqp:: op 05:22
i 05:25
'm off to bed now, but i'll try getting numbers while on AC 05:26
timotimo i *think* you typod something there? 05:27
the 40s and 42s numbers seem to be for the same thing? 05:28
MasterDukeLaptop timotimo++ right, 42s was my branch+nqp op 05:30
and now truly off to bed
timotimo wait so
your branch made it a tiny bit slowre
Geth ast: d3b084f2db | usev6++ | 2 files
Fudge tests for JVM
06:14
[Tux] This is Rakudo version 2016.12-272-g9a11eacdb built on MoarVM version 2016.12-100-gf9e14e9c 06:54
csv-ip5xs 3.188
test 13.323
test-t 5.296
csv-parser 14.764
samcv hi [Tux] o/ 06:56
u: null 07:12
unicodable6 samcv, U+0000 NULL [Cc] (control character)
samcv, U+2400 SYMBOL FOR NULL [So] (␀)
samcv, U+1D159 MUSICAL SYMBOL NULL NOTEHEAD [So] (𝅙)
arnsholt [Tux]: Do I remember correctly when I think I've seen a CSV file of historical timings for your benchmark? 08:22
[Tux] yes 08:24
arnsholt What's the address? 08:25
[Tux] tux.nl/Talks/CSV6/speed4.html - the link is "Timing log" 08:29
lizmat Files=1164, Tests=56526, 199 wallclock secs (11.84 usr 4.76 sys + 1204.93 cusr 118.17 csys = 1339.70 CPU) 08:31
yoleaux2 00:06Z <TimToady> lizmat: It makes very little sense to me to do >>+<< lazily, since hypers are eager (unlike Z), and the common case will be that the lengths will match, because why try otherwise? And surely eager can be more efficient...
arnsholt [Tux]: No similar log for the other timings (like csv-ip5xs)? 08:33
lizmat .tell TimToady one would expect this to be lazy, no? .say for "fileA".IO.lines >>~<< "fileB".IO.lines 08:38
yoleaux2 lizmat: I'll pass your message to TimToady.
lizmat .tell TimToady or something like: ("fileA".IO.lines >>~<< "fileB".IO.lines).head(5) ??? 08:40
yoleaux2 lizmat: I'll pass your message to TimToady.
[Tux] arnsholt, nope, but you can scan the IRC log
diakopter [Tux]: since the changes have been so dramatic over time, can you make a logarithmic graph edition of those? 08:41
[Tux] don't the zoom'd versions not satisfy that quest? 08:42
diakopter a bit, yes
arnsholt [Tux]: I could, but that's more work than I have time for right now (should probably be doing $work stuff instead =) 08:43
[Tux] www.xs4all.nl/~hmbrand/csv-ip5xs.log 08:45
arnsholt Oh, cheers! 08:49
lizmat www.reddit.com/r/perl6/comments/5n...up_regular # Where can I start looking to speed up regular expressions in Rakudo/NQP/MoarVM? 08:51
any takers ?
Geth p: 0c249e7236 | (Samantha McVey)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java
Fix RT #117683 on JVM \c[LINE FEED] \c[CARRIAGE RETURN]

Also fixes \c[NEXT LINE] as well.
kudo/nom: 5ba982a27e | (Samantha McVey)++ | tools/build/NQP_REVISION
Bump NQP to pull in fix for RT #117683

  github.com/perl6/nqp/commit/0c249e7236
08:55
samcv anybody know what file in nqp to add nqp::getstrfromname in 08:58
moarvm will have its own op, but other backends need a sub. so putting it in the jvm and js sections would not be correct 08:59
arnsholt samcv: Wait, on MoarVM there will be an nqp::op but on the other backends it'll be a subroutine? Isn't that a bit odd? 09:08
samcv well i mean unless you know some way to make it so that i don't have to add it to the jvm and js sections both 09:10
unless that would be preferred. it's not a very long function
so I could def do that
arnsholt I think if there'll be an op on one backend, it should be an op in all backends 09:18
Unless it's something VM-specific, like JVM interop of course
samcv yeah it's not
ok 09:19
arnsholt But yeah, you can probably just not implement it as well =)
samcv not sure how to program an op
arnsholt It's pretty easy on JVM at least (which is where I've done it)
samcv gist.github.com/f385f19111df9ad282...6d3610fc6f 09:20
well this is what it is
i don't know how to add an op though…
arnsholt It's pretty easy!
The implementation itself is just Java code
Then you add a mapping between nqp::op name and Java method backing that op (somewhere, can't remember off-hand, but I'll find it) 09:21
The trickiest bit is figuring out where in the 7000 lines of Ops.java to put the code, TBH =) 09:22
samcv hm i don't know java though :(
arnsholt Oh, right!
In that case, I can just give you the implementation 09:23
samcv ok :D
arnsholt If you know Perl 6, Java is a breeze =)
samcv though tbh eventually let's say we have 10 backends. what are we going to do 09:24
not add an op for all 9 other backends that don't have moar's feature. i would think then having it as a sub for the other ones would be fine
Geth kudo/nom: 0f149dea15 | (Elizabeth Mattijsen)++ | 3 files
Abstract iterator selection logic into R:I.ZipIterablesOpIterator

DRY, right?
09:25
arnsholt samcv: I've added a comment to your gist 09:36
samcv cool, thanks 09:37
arnsholt HTH 09:38
I try to take advantage of small things like this to ease more people into doing more things with the internals stuff 09:39
(Like any good dealer }:)
samcv heh
arnsholt timotimo: IIRC you've done a bit of work on the NFA stuff. Could you sanity-check my comment on the Reddit post lizmat linked? 09:40
samcv nqp-jvm: say 'test' 09:41
camelia nqp-jvm: OUTPUT«Error occurred during initialization of VM␤Could not allocate metaspace: 1073741824 bytes␤»
samcv not sure why this ishappening. sadly it doesn't tell me the revision it's using >:(
travis-ci Rakudo build failed. Samantha McVey 'Bump NQP to pull in fix for RT #117683 09:44
travis-ci.org/rakudo/rakudo/builds/190884857 github.com/rakudo/rakudo/compare/9...a982a27e01
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
jnthn gfldex: (bigpage) Wow, that's a nice result. :) 10:05
yoleaux2 03:43Z <MasterDukeLaptop> jnthn: do you mind taking a look at github.com/perl6/nqp/pull/340? many thanks
samcv hi jnthn morning
jnthn morning o/
DrForr Local mornin'. 10:07
jnthn lizmat: I've always had hypers as eager, fwiw 10:08
lizmat: And Z as being the lazy thing 10:09
Since hypers visit structure and parallelize...
...and reproduce the structure that came in.
lizmat jnthn: so you're saying, don't ("fileA".IO.lines >>~<< "fileB".IO.lines).head(5) 10:10
but do ("fileA".IO.lines Z~"fileB".IO.lines).head(5) if you want lazy
jnthn Right
That's why we have the both :)
lizmat well, TIMTOWTDI :-) 10:11
jnthn So you can opt in to parallel vs. lazy processing.
lizmat ok
jnthn It's just like how .hyper and .race are forms of eager that happen to also paralelize
*ll
lizmat ack 10:12
jnthn m: PROCESS::<&chdir>('src') 10:14
camelia rakudo-moar 0f149d: OUTPUT«Failed to change the working directory to 'src': chdir failed: Unknown system error 2␤ in any at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤ in block <unit> at <tmp> line 1␤␤»
jnthn m: PROCESS::<&chdir>('..')
camelia rakudo-moar 0f149d: OUTPUT«Failed to change the working directory to '..': Cannot modify an immutable IO::Path␤ in any at /home/camelia/rakudo-m-inst-1/share/perl6/runtime/CORE.setting.moarvm line 1␤ in block <unit> at <tmp> line 1␤␤»
jnthn Any idea why that explodes with "Cannot modify an immutable IO::Path"? 10:15
jnthn ran into this in $dayjob code yesterday
Temporarily hacked it to nqp::chdir
chdir won't work as I really need to OS-level chdir which is what PROCESS::chdir is meant to do.
(Because a NativeCall library I'm calling relies on it...though I filed an issue about making it not need this too) 10:16
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Abstract iterator selection logic into R:I.ZipIterablesOpIterator 10:21
travis-ci.org/rakudo/rakudo/builds/190891716 github.com/rakudo/rakudo/compare/5...149dea15e9
buggable [travis build above] ☠ Did not recognize some failures. Check results manually.
gfldex jnthn: it's not surprising tho. Bigpage is basicly one multi that is happily calling itself while moving strings around. 10:59
jnthn Does it do a lot of closures, ooc? 11:01
gfldex let me check
jnthn It's a pretty dramatic win...
Does it do I/O also?
gfldex it does IO and that part is still not thread save (*hint* *hint*) 11:04
github.com/perl6/perl6-pod-to-bigp...e.pm6#L214
the business end is about 200 lines long if you want to take a look
jnthn Ohh...does it delegate to the Perl 6 parser for Pod parsing? I guess yes 11:05
gfldex it does 11:06
and that part is cached
it's loading precomp modules (kind of)
jnthn Hm, OK :)
gfldex with a cold cache it takes 2m45s to run
jnthn .tell MasterDukeLaptop left a comment; hope that helps :) 11:19
yoleaux2 jnthn: I'll pass your message to MasterDukeLaptop.
brokenchdir m: $*CWD = 'x' 11:48
camelia rakudo-moar 0f149d: OUTPUT«Cannot modify an immutable IO::Path␤ in block <unit> at <tmp> line 1␤␤»
brokenchdir a wild guess is somewhere we do $*CWD := IO::Path.new.....
hm, don't see a place 11:51
m: use nqp; dd nqp::iscont($*CWD)
camelia rakudo-moar 0f149d: OUTPUT«0␤»
lizmat m: my $*CWD = 'x' 11:52
camelia ( no output )
brokenchdir lizmat: so it's supposed to be immutable? 11:55
lizmat *CWD is supposed to be only changed with chdir()
hence its immutabllity
brokenchdir I guess mistery solved then :) 11:56
'cause PROCESS::<&chdir> doesn't follow that rule: github.com/rakudo/rakudo/blob/0f14...rs.pm#L148
jnthn: ^
arnsholt [Tux]: imgur.com/a/vwa4i # Development of csv-ip5xs relative to test-t 13:07
Looks like something happened in/to Inline::Perl5 about a year ago, but it's starting to creep back to 1 again 13:08
mst arnsholt: "creep back to 1" ? 13:13
ilmari mst: look at the graph 13:15
itw as about 0.8, then jumped up to 2.2, but is creeping back down
mst ah 13:17
arnsholt The numbers compared being running Text::CSV::XS (IIRC) via Inline::Perl5 and [Tux]'s pure Perl 6 Text::CSV 13:18
|Tux| perl5 Text::CSV_XS + Inline::Perl5 13:19
arnsholt Right, right. Almost got it =) 13:23
jnthn lizmat, brokenchicken: I'm still confused though. It seems that both PROCESS::<&chdir> and chdir are assigning to $*CWD 13:56
But one of them explodes doing so and the other doesn't 13:57
lizmat jnthn: am doing some $otherwork atm, will look tonight
brokenchicken doesn't know why...
jnthn Sure, no hurry
Geth kudo/nom: 563d117694 | (Zoffix Znet)++ | src/core/io_operators.pm
Remove chdir canary

No longer needed:
  irclog.perlgeek.de/perl6-dev/2016-...i_13810892
14:22
jnthn ooh, my need to use chdir at all has probably just gone away: github.com/frithnanth/perl6-Archiv...e/issues/4 :) 14:34
But still, guess it's nice to fix PROCESS::chdir still :)
MasterDukeLaptop jnthn: i just tried using nqp::findmethod() only if not traced, rakudo built fine, but `make install` died with `Cannot find method 'traced' on object of type Perl6::Metamodel::GrammarHOW` 14:48
yoleaux2 11:19Z <jnthn> MasterDukeLaptop: left a comment; hope that helps :)
MasterDukeLaptop `in block <unit> at tools/build/install-core-dist.pl line 27` 14:49
jnthn Perhaps need an nqp::can($cursor.HOW, 'traced') also 14:50
MasterDukeLaptop yep, gonna add that now 14:51
i assume if it can't 'traced' i can use the nqp op? 14:53
jnthn aye 14:59
MasterDukeLaptop ah, that works and provides about the same speedup 15:03
i'll submit a new PR once it passes a spectest 15:07
jnthn \o/ 15:10
timotimo arnsholt: your answer was good, i put some extra stuff in about the optimizer 15:20
MasterDukeLaptop spectest passed
arnsholt timotimo: Cheers! 15:21
travis-ci Rakudo build passed. Zoffix Znet 'Remove chdir canary 15:23
travis-ci.org/rakudo/rakudo/builds/190968362 github.com/rakudo/rakudo/compare/0...3d117694dd
Geth p: MasterDuke17++ created pull request #341:
Use nqp::findmethod instead of *.HOW.find_method
15:30
MasterDukeLaptop Geth++, was just about to paste the link here myself 15:37
jnthn spectest6 update: fixed the known issue in MoarVM that could affect it. So there's now one way less for it to break. Unfortunately, the way it usually does is still present. I'm looking into it, but it's slow going to reproduce it. 16:38
brokenchicken \o/ 16:47
jnthn Darm, I think it's about to hit my first run without triggering the bug, when I'm looking for the bug :P 16:49
brokenchicken :P
timotimo %)
fantastic 16:50
jnthn Not really
Since the bug is doubtless still there
timotimo yeah, it's the not-fun kind of fantastic
Geth p: de709396b6 | MasterDuke17++ | src/QRegex/NFA.nqp
Use nqp::findmethod instead of *.HOW.find_method

If the meta-object is not being traced we can use the much faster NQP op. This reduces the time needed to compile a script that just defines 50 custom operators from ~60s to ~40s.
16:53
p: ac431ced05 | (Jonathan Worthington)++ | src/QRegex/NFA.nqp
Merge pull request #341 from MasterDuke17/use_nqp_findmethod_in_QRegex-NFA_when_possible

Use nqp::findmethod instead of *.HOW.find_method
timotimo cool 16:54
jnthn Think I have a lead on the spectest6 issue 18:02
(The end-entries/made one)
brokenchicken \o/
samcv u: bell 18:19
unicodable6 samcv, U+0007 BELL [Cc] (control character)
samcv, U+237E BELL SYMBOL [So] (⍾)
samcv, gist.github.com/57e7834fb21df6cefe...d4d7e17dce
Geth ast: 1b84a47dbc | (Samantha McVey)++ | S02-literals/char-by-name.t
Add test that \c[BELL] returns 🔔 not U+0007

RT #130542
  rt.perl.org/Ticket/Display.html?id=130542
18:32
samcv brokenchicken, where is the code for Geth? 18:33
also what have you done to notviki 18:34
[Coke] I mean, brokenchicken is still not viki.
brokenchicken Geth: source 18:35
Geth brokenchicken, Source at github.com/zoffixznet/geth To add repo, add an 'application/json' webhook on GitHub pointing it to geth.perl6.party/?chan=#perl6
brokenchicken samcv: ^
samcv what happened to the bold text? also you can use my IRC::TextColor module if you want for bolding/coloring things 18:36
brokenchicken I am using it.
The channel is +c is what happened. 18:37
samcv oh ok
brokenchicken Someone with op privs could -c it
samcv making that a public module was def a good idea
brokenchicken I didn't really like its interface TBH 18:38
samcv how can it be improved?
open to suggestions but I wasn't sure what its interface should be in the 1st place :\ 18:39
brokenchicken Basically the main issue is the text I'm outputting is already being made up from all sorts of bits and pieces and the last thing I want is length function names and args adding more noise. So the first thing I did is shortened the routine name with constant &Δ = &irc-style-text; and the second thing I'd do to shorten the footprint of the function call is use, say :bold instead of :style<bold> and :red, 18:41
instead of :color<red> and :bgred instead of :bgcolor<red> etc.
*lengthy
samcv ah ok 18:42
brokenchicken irc-style-text(:color<red>, :style<bold>, blah blah blah) vs ircstyle(:red, :bold, blah blah blah) 18:43
This is what it currently looks like: github.com/zoffixznet/geth/blob/ma...m6#L67-L81
samcv brokenchicken, can i have arbitrary named arguments or do i need to put them all in the sig? 18:45
i will make an ircstyle sub which allows shortened versions 18:46
brokenchicken You could slurp them as *%args and then poke in that hash; die on conflicts (e.g. :red, :blue are passed at the same time) or unknown names (:rainbowcolour) and the rest is the same I think 18:47
samcv thanks :) 18:48
Geth kudo/nom: 3d86286842 | (Jonathan Worthington)++ | src/core/Mu.pm
Tweak dispatch:<hyper> to avoid a bug, speed up.

There's currently a code-gen bug in `"{$foo}"`, which affects multi- threaded programs. Unfortunately, the obvious fix for it regresses a spectest. In the meantime, we can avoid it in `>>.foo`. This is a positive change anyway: it's cheaper to simply interpolate a variable, and pulling the `Str` coercion up to the signature will avoid that being done multiple times if a non-string is interpolated as the method name. The `made` and `end-entries` methods are both called in TAP::Harness with the `>>.foo` syntax, which led to this discovery.
18:55
brokenchicken m: my %styles = <bold italic>.antipairs; my %colours = <red green>.antipairs; sub ircs (*%args) { if %args.keys ∖ %styles.keys ∖ %colours.keys -> $wrong { die "Unknown argument $wrong passed"; }; my @color = keys %args.keys ∩ %colours.keys; dd @color; @color > 1 and die "Can't specify more than one colour; you gave @color[]"; my @styles = keys %args.keys ∩ %styles.keys; dd "Styling with @color[] 18:56
camelia rakudo-moar 563d11: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Unable to parse expression in double quotes; couldn't find final '"' ␤at <tmp>:1␤------> %styles.keys; dd "Styling with @color[]⏏<EOL>␤»
brokenchicken and @styles[]"; }; ircs :bold :red; ircs :red :blue;
:(
m: my %styles = <bold italic>.antipairs; my %colours = <red green>.antipairs; sub ircs (*%args) {if %args.keys ∖ %styles.keys ∖ %colours.keys -> $wrong { die "bad: $wrong";}; my @color = keys %args.keys ∩ %colours.keys; dd @color; @color > 1 and die "too many color @color[]"; my @styles = keys %args.keys ∩ %styles.keys; dd "using @color[] and @styles[]";}; ircs :bold :red; 18:58
camelia rakudo-moar 563d11: OUTPUT«Array @color = ["red"]␤"using red and bold"␤»
brokenchicken m: my %styles = <bold italic>.antipairs; my %colours = <red green>.antipairs; sub ircs (*%args) {if %args.keys ∖ %styles.keys ∖ %colours.keys -> $wrong { die "bad: $wrong";}; my @color = keys %args.keys ∩ %colours.keys; dd @color; @color > 1 and die "too many color @color[]"; my @styles = keys %args.keys ∩ %styles.keys; dd "using @color[] and @styles[]";}; ircs :bold :blue;
camelia rakudo-moar 563d11: OUTPUT«bad: blue␤ in sub ircs at <tmp> line 1␤ in block <unit> at <tmp> line 1␤␤»
brokenchicken yey set ops
lizmat jnthn: will start a HARNESS_TYPE=6 make spectest right away 19:00
jnthn lizmat: OK. I'm running with a MoarVM branch that wasn't merged yet also 19:02
Still seeing some flakiness 19:03
But never seen the made/end-entries
So seems we're past that one at least
Time to go cook dal :) bbl
timotimo .o( man, what is his dal? ) 19:47
i have no idea why that there is a bug and why that commit fixes anything %) 19:48
lizmat en.wikipedia.org/wiki/Dal
lizmat loves Dal 19:49
timotimo was just a bad pun 19:50
lizmat ah, ok :-) 19:54
jnthn: 3 consecutive runs without problems :-) 19:55
Geth kudo/nom: ba8a2846c0 | (Elizabeth Mattijsen)++ | src/core/Mu.pm
Also adapt two other cases of 3d86286842

Well, presumably, couldn't hurt :-)
19:56
p/master: 4 commits pushed by samcv++ 20:09
b2gills samcv: You removed the 「$<integer>」 from the !moar codepath 20:12
samcv github.com/perl6/nqp/compare/d21b1...d3b25aR214 20:13
looks like it's there to me
spectest pass as well 20:14
b2gills lines 206 and 207
brokenchicken samcv: this one: github.com/perl6/nqp/blob/master/s...s.nqp#L207 20:15
looks like stuff's missing before "??" 20:16
samcv ah. ok
[Coke] m: say ( ?? 3 !! 4);
camelia rakudo-moar ba8a28: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Expected a term, but found either infix ?? or redundant prefix ?␤ (to suppress this message, please use a space like ? ?)␤at <tmp>:1␤------> say ( ??⏏ 3 !! 4);␤»
[Coke] m: my $a := ?? 3 !! 4; 20:17
camelia rakudo-moar ba8a28: OUTPUT«===SORRY!=== Error while compiling <tmp>␤Expected a term, but found either infix ?? or redundant prefix ?␤ (to suppress this message, please use a space like ? ?)␤at <tmp>:1␤------> my $a := ??⏏ 3 !! 4;␤»
[Coke] nqp-j: my $a := ?? 3 !! 4;
lizmat make: *** [m-spectest6] Segmentation fault: 11 # jnthn :-(
Geth p: 7b6fff991e | (Samantha McVey)++ | src/HLL/Actions.nqp
Add missing <integer> from section in Actcions.nqp for !moar

Accidently removed in 31b2b51eae5b9a7ea8dc3c1043544714e0809fd8
20:19
samcv there we go. that also pasess nqp test if i reverse the !moar and moar sections 20:20
brokenchicken \o/ 20:21
samcv otherwise should be fine and i can bump NQP in rakudo?
brokenchicken has no comments... this stuff's is not what I currently know about. 20:23
lizmat samcv: lemme see if a bump works out ok here :-) 20:24
samcv kk. i know it does for rakudo.moar at least
hopefully it is all "\c[woman gesturing OK]" 20:28
:P
lizmat t/spec/S05-mass/properties-general.rakudo.moar # failed 1 test 20:29
samcv yeah that happened before
lizmat (still running)
samcv: test 602 20:30
samcv from that file?
yeah
lizmat yup "space chars" 20:31
#130483
RT #130483
samcv ye
i *knew* i opened an RT for it
lizmat hmmm... seems we lost synopsebot ?
samcv even though i couldn't find it searching rt for <:space> 20:32
does it not search the body text?
lizmat m: dd " " ~~ /<:space>+/ 20:34
camelia rakudo-moar ba8a28: OUTPUT«Match.new(ast => Any, list => (), hash => Map.new(()), orig => " ", to => 8, from => 0)␤»
lizmat $ 6 'dd " " ~~ /<:space>+/'
Nil
samcv: that's a regression, I'm afraid
Geth ast: 9729f3849c | (Samantha McVey)++ | S05-mass/properties-general.t
Todo failing test RT #130483

  rt.perl.org/Ticket/Display.html?id=130483
  \#130483: [UNI] Regex Unicode properties check values before checking
property names
samcv no that failed before
lizmat it doesn't fail before bumping NQP ?
samcv before the most recent change
you sure? well. it's sort of a regression 20:35
but also sort of not
read the RT rt.perl.org/Ticket/Display.html?id=130483
lizmat camelia is not bumped yet
m: say " " ~~ /<:space>+/ 20:36
camelia rakudo-moar ba8a28: OUTPUT«「 」␤»
samcv well then maybe it broke before the other time i changed the unicode database
well. the bug is in nqp not moarvm
lizmat well, but that sorta implies we can't bump nqp :-(
samcv m: use nqp; say nqp::unipropcode('space') == nqp::unipropcode('White_Space')
camelia rakudo-moar ba8a28: OUTPUT«False␤»
samcv it's broken
right now
i mean <:space> doesn't work but that's not moarvm's fault 20:37
and we've bumped it before with <:space> failing
<ws> works fine. so does \s etc. 20:38
but <:space> is matching the LF property
use nqp; say nqp::unipropcode('space') == nqp::unipropcode('LF')
m: use nqp; say nqp::unipropcode('space') == nqp::unipropcode('LF')
camelia rakudo-moar ba8a28: OUTPUT«True␤»
lizmat camelia is currently at HEAD
samcv yeah
lizmat and there it works
samcv well it also doesn't work
lizmat I bump NQP, and it doesn't work anymore
b2gills it works for the wrong reason
samcv because 'space' resolves to 'LF'
lizmat as a rakudo user, that's all I see
samcv so it should be broken then? 20:39
lizmat b2gills: so the test is wrong ?
samcv see bisect from a while ago lizmat gist.github.com/Whateverable/50acf...9f144a106f
it works because it's checking the LF property. and it checks property values before names 20:40
Geth kudo/nom: c99fbc6793 | (Elizabeth Mattijsen)++ | tools/build/NQP_REVISION
Bump NQP to get latest NQP/Moar improvements

This makes one spectest fail, see:
   irclog.perlgeek.de/perl6-dev/2017-...i_13902378
20:41
samcv i mean if people want me to break it again before the next rakudo release i could do it. but that seems wrong to break moarvm on purpose 20:42
but it's basically checking if the 'space' property has the value 'space'. it doesn't. it's a bool property
lizmat ok, well, we've bumped and the test is fudged 20:43
samcv here is the code github.com/perl6/nqp/blob/master/s....nqp#L1439 20:46
that is causing the problem atm
yay jnth just merged another PR. can make more roast tests after bumping nqp and moar again heh 20:49
jnthn lizmat: Hmm...interseting that it works reliably for you now 20:51
lizmat well, apart from 1 segfault :-(
samcv m: say "\c[woman gesturing OK]"
camelia rakudo-moar c99fbc: OUTPUT«🙆‍♀️␤»
samcv \o/
really awesome 20:52
timotimo neat. (except my terminal shows only the woman symbol after an empty space)
samcv yeah mine too
oh i don't have a space though
well i don't see one. there's a ZWJ in there tho
jnthn lizmat: Oh, OK.
lizmat: Then "me too"
geekosaur I got a block [0 1 F/6 4 6]
(which is expected for this version of my client)
lizmat samcv: I see a woman with hands above her head, is that OK?
samcv yes
jnthn lizmat: Except I get the SEGV really often now 20:53
lizmat then it works on OSX
timotimo really often? :o
lizmat eh,. macOS
jnthn Yeah, nearly every spectest6 run
lizmat hmmm...
jnthn It's happening in the same place
I'm on a branch, will try off that
But it happens when it runs into a corrupt Int when doing a full GC collection
And I suspect spectest6 does full collections more often 20:54
After matches perged earlier this week
wtf
patches merged
timotimo ah, because of those huge buffers
jnthn Yeah
lizmat spooner is everywhere
jnthn It also likely uses less memory :)
samcv m: say "\c[woman construction worker]" ~ "\c[PERSONAL COMPUTER]"
camelia rakudo-moar c99fbc: OUTPUT«👷‍♀️💻␤»
samcv jnthn, if we are segv it is best to do with as little memory as possible 20:55
jnthn Indeed :)
samcv though one could argue after SEGV we use 0 memory
jnthn ;)
Anyway, I don't think it's a regression, just an unhidden
samcv memory reduction cut across the board 100x!
timotimo that's what we get for employing a 100x programmer 20:56
jnthn It's also always an Int that's corrupted
Think I've used up my debugging energies for today, though. 20:57
timotimo were you able to figure out in what way it gets corrupted? pointer points off in a random direction? 21:01
jnthn timotimo: Not really, just that it ends up in a state where it's interpreted as a bigint but the digits pointer is junk and so is the size etc.
timotimo ugh. okay! 21:02
Geth p: 10fa80827a | (Samantha McVey)++ | tools/build/MOAR_REVISION
Bump MoarVM Fix RT #117683 \c[LINE FEED] \c[CARRIAGE RETURN]

Also fixes \c[NEXT LINE] and \c[FORM FEED] as well. MoarVM/MoarVM@ef734fc8d7abaf687c5108f06c181f1bd6333634
timotimo so, build moar/master, try "make spectest6", wait for segfault?
jnthn Yeah
Well, do it in gdb
But don't use perl6-gdb-m otherwise you end up running all the spectests with that 21:03
And then things get crazy confused :)
And then get bt
timotimo maybe i can get it to spit out a core file for me
jnthn If the bt points to gc_cleanup of P6bigint or similar then it matches
Geth p/master: 9 commits pushed by pmurias++ 21:05
kudo/nom: 644cd342d7 | (Samantha McVey)++ | tools/build/NQP_REVISION
Bump MoarVM Fix RT #117683 \c[LINE FEED] \c[CARRIAGE RETURN]

Also fixes \c[NEXT LINE] and \c[FORM FEED] as well. MoarVM/MoarVM@ef734fc8d7abaf687c5108f06c181f1bd6333634
samcv mst, do you have ops in #perl6-dev? 21:06
i forget who does
mst samcv: what do you need?
samcv remove -c 21:07
so Geth can use bold
brokenchicken +1
timotimo mst has all the ops everywhere
(+1 on -c)
samcv also how do i get a fancy perl6 hostmask ;) 21:12
always good to get exciting things to tweet about twitter.com/samcv6/status/819290726919872512
moritz always happy for Perl 6 news to retweet as @perl6org :-) 21:13
brokenchicken yey 21:16
Geth ast/6.c-errata: 3eb86fd12c | (Samantha McVey)++ | 2 files
Replace Unicode 1 names with Alias Names in \c[…]

As per discussion with @TimToady
  irclog.perlgeek.de/perl6-dev/2017-...i_13888858
21:17
timotimo hooray
moritz what a bold move!
samcv we all know THIS IS HOW TO TYPE IN BOLD 21:18
moritz equal rights for bots and humans!
samcv heh
moritz nearly wrote "butts" instead of "bots" above
timotimo :P
mst it's ok, if it actually annoys me I'll turn filtering on on my clients 21:19
timotimo it took me a moment to notice that i actually did get kicked, that it wasn't just a fancy /me or something
'til now i had no idea how my client would display getting kicked 21:20
because i'm so nice
samcv looks like ignoremark doesn't work for emoji 21:22
m: say "\c[PREGNANT WOMAN, ZERO WIDTH JOINER, MALE SIGN]" 21:23
camelia rakudo-moar 644cd3: OUTPUT«🤰‍♂␤»
samcv heh
tho pretty sure that makes sense not to have gendered emoji 21:24
moritz samcv: you've opened a can of ... smilies there :-)
Geth ast: 23c7461aa5 | (Samantha McVey)++ | 2 files
Replace Unicode 1 names with Alias Names in \c[…]

As per discussion with @TimToady
  irclog.perlgeek.de/perl6-dev/2017-...i_13888858
Remove fudged test for rakudo since it has been fixed on JVM and MoarVM
21:35
ast: 6902a3e69a | (Samantha McVey)++ | S02-literals/char-by-name.t
Fix test plan for S02-literals/char-by-name.t
21:36
ast: 0993df4a30 | (Samantha McVey)++ | S02-literals/char-by-name.t
Add test for \c and Emoji Sequences

skip the test for JVM though.
21:41
kudo/nom: 8f3476d5d4 | (Elizabeth Mattijsen)++ | src/core/List.pm
Streamline List.from-iterator about 10%

Mainly possible because it doesn't need to call reification-target,
  because Array has its own .from-iterator.
21:45
lizmat and with that I wish #perl6-dev a good night 21:46
samcv night o/
brokenchicken night 22:03
m: use Test; is ' ' ~~ /<:space>+/, ' ', 'space chars'; 22:17
camelia rakudo-moar 8f3476: OUTPUT«not ok 1 - space chars␤␤# Failed test 'space chars'␤# at <tmp> line 1␤# expected: ' '␤# got: (Nil)␤»
brokenchicken star: use Test; is ' ' ~~ /<:space>+/, ' ', 'space chars';
camelia star-m 2016.10: OUTPUT«not ok 1 - space chars␤␤# Failed test 'space chars'␤# at <tmp> line 1␤# expected: " "␤# got: Match.new(ast => Any, list => (), hash => Map.new(()), orig => " ", to => 16, from => 0)␤»
brokenchicken
.oO( how was it ever passing... )
star: use Test; is ' ' ~~ /<:space>+/, ' ', 'space chars'; 22:18
camelia star-m 2016.10: OUTPUT«not ok 1 - space chars␤␤# Failed test 'space chars'␤# at <tmp> line 1␤# expected: " "␤# got: Match.new(ast => Any, list => (), hash => Map.new(()), orig => " ", to => 8, from => 0)␤»
brokenchicken poorly-written test. should've used proper "\t" or whatever the actual whitespace up in there is :( 22:19
star: use Test; is "\t \t" ~~ /<:space>+/, ' ', 'space chars'; 22:20
camelia star-m 2016.10: OUTPUT«ok 1 - space chars␤»
brokenchicken m: use Test; is "\t \t" ~~ /<:space>+/, ' ', 'space chars';
camelia rakudo-moar 8f3476: OUTPUT«not ok 1 - space chars␤␤# Failed test 'space chars'␤# at <tmp> line 1␤# expected: ' '␤# got: (Nil)␤»
brokenchicken there we go.
NeuralAnomaly: status
NeuralAnomaly brokenchicken, [✘] Next release will be in 1 week and 2 days. Since last release, there are 81 new still-open tickets (1 unreviewed and 0 blockers) and 258 unreviewed commits. See perl6.fail/release/stats for details
brokenchicken So we're fudging that test in 6.c-errata, right? 22:21
Geth ast: 4808c1f90f | (Zoffix Znet)++ | S05-mass/properties-general.t
Make test more clear

No functional change. Simple change tabs in string to "\t" chars to make it more obvious what's in that string.
22:23
brokenchicken is off for the night
.ask samcv would you mind fudging the /<:space>+/ test in S05-mass/properties-general.t in 6.c-errata? I vaguely recall you explaining it was passing earlier for the wrong reason; I figure you'd be able to write a better commit message than me. 22:40
yoleaux2 brokenchicken: I'll pass your message to samcv.
samcv brokenchicken, is the commit message from github.com/perl6/roast/commit/9729f3849 fine 22:47
yoleaux2 22:40Z <brokenchicken> samcv: would you mind fudging the /<:space>+/ test in S05-mass/properties-general.t in 6.c-errata? I vaguely recall you explaining it was passing earlier for the wrong reason; I figure you'd be able to write a better commit message than me.
Geth ast/6.c-errata: b6ffcf6347 | (Zoffix Znet)++ | S05-mass/properties-general.t
Fudge test that was passing for the wrong reason.

  See RT#130483 rt.perl.org/Ticket/Display.html?id=130483
for full explanation
  (Also: make it more clear what it's supposed to be testing by changing
literal tabs to "\t")
22:51
brokenchicken samcv++ thanks