dalek kudo/nom: ccf2dfc | ugexe++ | src/core/CompUnit/Repository/Installation.pm:
Return InstalledDistribution where appropriate

Gives CompUnits returned from CURI a Distribution with proper content access
   my $cur = CompUnit::RepositoryRegistry.repository-for-name("site");
   my $spec = CompUnit::DependencySpecification.new(:short-name("Inline::Perl5"));
   my $cu = $cur.resolve($spec);
   say $cu.distribution.content("lib/Inline/Perl5.pm6").open.slurp-rest
07:39
rakudo/nom: f1f750d | niner++ | src/core/CompUnit/Repository/Installation.pm:
rakudo/nom: Merge pull request #830 from ugexe/patch-8
rakudo/nom:
rakudo/nom: Return InstalledDistribution where appropriate
nine Aah...back again 07:56
dalek ast: 7d92f85 | usev6++ | S32-list/ (2 files):
Use ticket number for fudging
08:25
bartolin r: my $a = <b b>; $a .= unique; say $a.perl # RT #128720 08:27
synopsebot6 Link: rt.perl.org/rt3//Public/Bug/Displa...?id=128720
camelia rakudo-jvm cd19db: OUTPUT«Seq.new-consumed()␤»
..rakudo-moar f1f750: OUTPUT«("b",).Seq␤»
bartolin r: use nqp; my $a = <b b>; nqp::stmts($a .= unique); say $a.perl
camelia rakudo-jvm cd19db, rakudo-moar f1f750: OUTPUT«("b",).Seq␤»
psch bartolin: sinking on jvm has at least one more weird problem 08:39
r: sub f { sub { 1 } }; f()()
camelia ( no output )
..rakudo-jvm cd19db: OUTPUT«java.lang.NullPointerException␤ in block <unit> at <tmp> line 1␤␤»
psch bartolin: i think those might be related, and the latter is likely sitting in the QAST stage 08:40
m: my $a = <b b>; ($a .= unique).WHAT.say 08:41
camelia rakudo-moar f1f750: OUTPUT«(Seq)␤»
psch j: my $a = <b b>; ($a .= unique).WHAT.say
camelia rakudo-jvm cd19db: OUTPUT«(Seq)␤»
psch bartolin: if you feel adventurous, it's QAST::Compiler lines 4167 to 4194 and QASTCompilerMAST lines 1371 to 1412 :) 08:43
bartolin psch: thanks, I'll take a look :-) 08:55
gfldex m: use fatal; sub niler{Nil}; my $a = niler; spurt("$a.html", "sometext"); say "alive"; 08:59
camelia rakudo-moar f1f750: OUTPUT«Use of uninitialized value $a of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤spurt is disallowed in restricted setting␤ in sub restricted at src/RESTRICT…»
gfldex should `use fatal` turn the warning into a die in that case? 09:00
m: use fatal; sub niler{Nil}; my $a = niler; say("$a.html", "sometext"); say "alive";
camelia rakudo-moar f1f750: OUTPUT«Use of uninitialized value $a of type Any in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1␤.htmlsometext␤alive␤»
stmuk I've just ran japh's perl6-bench comparing .01 and 07.1 and on ten runs I estimate the latter is 52% faster 11:50
dalek kudo/nom: 43debec | niner++ | src/core/CompUnit/Repository/FileSystem.pm:
Fix CURF's resolve generating the wrong repo-id

Instead of a SHA1 like those generated when creating a precomp file as result of a .need, we got the source file's path as repo-id. Therefore the equality check always failed causing unnecessary recompiles.
Fixed by using the same code for generating the id in both methods.
kudo/nom: a5fae44 | (Daniel Green)++ | src/Perl6/Compiler.nqp:
Reword the 'perl6 --help' text

Make punctuation/capitalization consistent, show when arguments to long options are optional/required, and better explain how to get JSON profiles
12:42
kudo/nom: 2b5687f | lizmat++ | src/Perl6/Compiler.nqp:
Merge pull request #831 from MasterDuke17/reword_usage_text

Reword the 'perl6 --help' text
jnthn gfldex: (from backlog) The fatal pragma turns failures into exceptions, not warnings into exceptions. 12:48
TimToady I think my Int:D $a = 42 should initialize as soon as possible, and never allow assignment of anything that ~~ Nil 14:02
bare "my Int:d $a;" should be illegal at compile time
the invariant is what's wanted, and that's what we should maintain
this is one of those spots where we should torment the implementor on behalf of the user, I suspect 14:04
dalek kudo/nom: 4786718 | niner++ | tools/build/install-core-dist.pl:
Fix precomp file for Staging repo containing build path

The only bundled module still containing $BUILDROOT in the generated precomp file was CompUnit::Repository::Staging itself. That's because we need the Staging repo to get the relative paths in the first place.
Break this bootstrap issue by calling .precompile directly instead of through .install
psch github.com/rakudo/rakudo/pull/829 looks rather uncomplicated 14:05
although i'm not sure how much it fixes
TimToady so when the symbol is introduced, we can temporarily poke an Int:D into it, but as soon as the "my" executes and sets the value the first time, it should never be reset to Int:D except by re-entry 14:10
if we know the value at compile time, we can even just initialize it to 42 when the symbol is created, even before the 'my' executes 14:11
gfldex jnthn: if found a workaround for my woes with Nil. It's surprisingly simple. 15:06
m: sub niler{Nil}; my $a = Str; say("$a.html", "sometext"); say "alive"; CONTROL { die $_ };
camelia rakudo-moar 478671: OUTPUT«Use of uninitialized value $a of type Str in string context␤Any of .^name, .perl, .gist, or .say can stringify undefined things, if needed.␤ in block <unit> at <tmp> line 1␤␤»
gfldex skids: did you test your anti-Nil patch against :D-sigilled Poisitionals like `my Int:D @a` ? 15:12
skids nope. lemme try.
Type check failed in assignment to @a; expected Int:D but got Int:D # win. Though the X could probably investigate if the two type names are the same during .message and be more awesome. 15:13
Works for assoicative too. 15:14
gfldex it could just say it's caused by Nil. If you backlog you will find a judgement by TimToady about 1h ago. 15:15
skids Not sure the X can know for sure it is caused by Nil, future-proof wise, but it could suggest that might have happened. I'd have to check and see what info is present in the X. 15:21
Hrm, you can still bind (insstead of assign) Nil to a @ or % slot. I'll have to look into that. $ rejects binding already. 15:28
awwaiid Looks like a good improvement
interesting that it happens at the moarvm level 15:29
skids I would say way too much happens way down at that level, but then I'd have to offer an alternative that is still fast and optimizable :-)
awwaiid :) 15:30
[TuxCM] This is Rakudo version 2016.07.1-45-g4786718 built on MoarVM version 2016.07-4-g236058a 15:45
test 14.991
test-t 8.052
csv-parser 16.358
pmurias I have looked through the nqp github issue tracker and it seems a large part of them are Parrot issues which it doesn't seem likely will be ever fixed 16:22
timotimo nqp still supports parrot, though 16:27
pmichaud I suspect a review of Parrot-related NQP issues would reveal some that can be closed as no-longer-relevant. (I just closed one, for example.) 16:39
timotimo that makes sense 16:40
pmurias timotimo: is anyone maintaing the parrot backend? while I can implement missing ops on the JVM and JS I myself won't do that for the Parrot backend 16:43
timotimo i don't know anyone who is
pmichaud a couple of weeks ago kid51++ made some interesting observations about Parrot activity: lists.parrot.org/pipermail/parrot-d...07660.html
timotimo maybe FROGGS did/does a thing or two in the past? 16:44
pmichaud tl;dr: No commits to parrot repo since Feb of this year, no activity on mailing lists (other than release announcements) since April 2015. 16:45
gfldex www.youtube.com/watch?v=Oj8RIEQH7z...&t=166 16:47
sorry I could not resist
pmichaud Personally, I think it'd be safe to close all of the parrot-related tickets as "wontfix until Parrot resurfaces" 16:48
Could also create a tag for any "suspended" tickets that get closed in this way. That way it's easy for someone to find the "Parrot+suspended" tickets if they wish to reopen them. 16:49
I'm afk
pmurias seems like a good solution to me 16:51
closed and tagged all the parrot nqp tickets 17:05
moritz want me to remove the remaining parrot support from nqp? 19:10
dead code is a liability, IME 19:11
dalek p: 99f96c2 | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
[js] Avoid code ref attribute name conflicts between code refs in different compilation units.
19:17
p: 4fa42ca | (Pawel Murias)++ | src/QRegex/NFA.nqp:
Get rid removed nl cclass leftover.
p: 290d2fb | (Pawel Murias)++ | src/vm/js/ (2 files):
[js] Avoid very expensive storing of arbitary attributes in code refs.
p: a5d13c1 | (Pawel Murias)++ | src/vm/js/ (4 files):
[js] Only keep codeRefAttr on the staticCode CodeRefs.
p: 620ebf0 | (Pawel Murias)++ | t/nqp/031-grammar.t:
Test <- name-with-hyphen>.
travis-ci NQP build failed. Pawel Murias 'Test <- name-with-hyphen>.' 19:20
travis-ci.org/perl6/nqp/builds/147039100 github.com/perl6/nqp/compare/3eb8b...0ebf0e6754
pmurias starts fixing 19:39
dalek p: 7635d55 | (Pawel Murias)++ | t/nqp/031-grammar.t:
Fix test plan.
pmurias moritz: I just ignore parrot in my .ackrc and I don't get affected by the parrot backend much (but don't update it when changing things) 19:43
moritz: the tickets where a problem as I felt they were turning the issue tracker into a graveyard
moritz 103 files changed, 25 insertions(+), 211713 deletions(-) 19:47
that's from locally removing parrot support from NQP
pmurias there is a lot compiler generate pir in the parrot backend (and some human written one, yuck!) 19:48
moritz and not yet fully complete
dalek p/noparrot: 560522b | moritz++ | / (90 files):
Some initial parrot removal
20:04
p/noparrot: 0c3d652 | moritz++ | / (4 files):
More deparroting
p/noparrot: 9bfbcd1 | moritz++ | / (9 files):
Remove more parrot-specific stuff
p/noparrot: 656eb65 | moritz++ | / (5 files):
Remove examples/json.nqp

it was based on PAST, not QAST, so not compatible with modern backends
moritz sorry dalek, we hardly knew thee 20:05
geekosaur looks like it completed successfully to me and didn't get flood-kicked? 20:06
moritz there were three more commits in that branch 20:07
github.com/perl6/nqp/pull/298 comments welcome 20:09
dalek p/noparrot: 3dd70d9 | moritz++ | t/nqp/0 (20 files):
Remove parrot-specific things from the tests

including the sporadic, parrot-based shebang line
20:15
p/noparrot: f467e3a | moritz++ | t/ (2 files):
Remove more parrot stuff from the tests
20:19
p/noparrot: 44af8f2 | moritz++ | tools/lib/NQP/Configure.pm:
Kill a dead line in Configure.pm
lizmat good *, #perl6-dev 20:32
seems we caught some spectest failures lately :-( 20:33
t/spec/S10-packages/basic.rakudo.moar tests 47-48
t/spec/S02-literals/allomorphic.t and t/spec/S04-statements/return.t fail to compile when run under make spectest 20:34
but run fine with just perl6
lizmat nukes all precomps to see if that helps 20:35
nine: reverting 43debec892f0bdaf0c474 seems to fix the issues 20:55
dalek p: bd36285 | (Pawel Murias)++ | docs/HACKING-js:
Update HACKING file.
21:38
p: 2491176 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (4 files):
[js] Fix coding style errors found by 'make js-lint'.
skids do we maintain a list of roast flapper tests? I just got one that might be rare. 21:47
lizmat skids: which one ? 21:56
skids oddly, mixhash ".roll(100) (2)" if the spectest numbering is accurate. Cannot get it to fail again. 21:57
(#129 in 6.c-erratta)
lizmat ah, yes, that's not really a flapper
in a way it's a poor test 21:58
but I couldn't figure out a better way
skids OIC I just "lucked out" 21:59
lizmat yup 22:08
dalek kudo/nom: 957dc0d | lizmat++ | src/core/Backtrace.pm:
Make Backtrace creation 25% faster

Which in turn benefits Failure creation, which in turn helps situations such as:
   my @a; @a.pop // 42;
   $*FOO // "default foo";
aka, anything that potentially can return a Failure.
This is a work in progress: many more avenues of optimisation to check out. But small changes here have large repercussions :-(
22:50
lizmat good night, #perl6-dev!