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 contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1spurt 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 contextAny of .^name, .perl, .gist, or .say can stringify undefined things, if needed. in block <unit> at <tmp> line 1.htmlsometextalive» | ||
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 contextAny 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! |