Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-07-24

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:11 geekosaur joined #perl6-dev
01:33 FROGGS joined #perl6-dev
01:38 [TuxCM] joined #perl6-dev
01:46 [TuxCM] joined #perl6-dev
02:10 committabletest joined #perl6-dev
02:18 [TuxCM] joined #perl6-dev
02:24 [TuxCM] joined #perl6-dev
02:25 skids joined #perl6-dev
03:51 [Tux] joined #perl6-dev
03:58 committabletest joined #perl6-dev
04:25 benchable joined #perl6-dev
04:25 committable joined #perl6-dev
04:26 bisectable joined #perl6-dev
07:39 dalek rakudo/nom: ccf2dfc | ugexe++ | src/core/CompUnit/Repository/Installation.pm:
07:39 dalek rakudo/nom: Return InstalledDistribution where appropriate
07:39 dalek rakudo/nom:
07:39 dalek rakudo/nom: Gives CompUnits returned from CURI a Distribution with proper content access
07:39 dalek rakudo/nom:
07:39 dalek rakudo/nom:     my $cur   = CompUnit::RepositoryRegistry.repository-for-name("site");
07:39 dalek rakudo/nom:     my $spec = CompUnit::DependencySpecification.new(:short-name("Inline::Perl5"));
07:39 dalek rakudo/nom:     my $cu    = $cur.resolve($spec);
07:39 dalek rakudo/nom:     say $cu.distribution.content("lib/Inline/Perl5.pm6").open.slurp-rest
07:39 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ccf2dfc8be
07:39 dalek rakudo/nom: f1f750d | niner++ | src/core/CompUnit/Repository/Installation.pm:
07:39 dalek rakudo/nom: Merge pull request #830 from ugexe/patch-8
07:39 dalek rakudo/nom:
07:39 dalek rakudo/nom: Return InstalledDistribution where appropriate
07:56 nine joined #perl6-dev
07:56 nine Aah...back again
08:25 dalek roast: 7d92f85 | usev6++ | S32-list/ (2 files):
08:25 dalek roast: Use ticket number for fudging
08:25 dalek roast: review: https://github.com/perl6/roast/commit/7d92f850fb
08:27 bartolin r: my $a = <b b>; $a .= unique; say $a.perl  # RT #128720
08:27 synopsebot6 Link:  https://rt.perl.org/rt3//Public/Bug/Display.html?id=128720
08:27 camelia rakudo-jvm cd19db: OUTPUT«Seq.new-consumed()␤»
08:27 camelia ..rakudo-moar f1f750: OUTPUT«("b",).Seq␤»
08:27 bartolin r: use nqp; my $a = <b b>; nqp::stmts($a .= unique); say $a.perl
08:27 camelia rakudo-jvm cd19db, rakudo-moar f1f750: OUTPUT«("b",).Seq␤»
08:39 psch bartolin: sinking on jvm has at least one more weird problem
08:39 psch r: sub f { sub { 1 } }; f()()
08:39 camelia rakudo-moar f1f750: ( no output )
08:39 camelia ..rakudo-jvm cd19db: OUTPUT«java.lang.NullPointerException␤  in block <unit> at <tmp> line 1␤␤»
08:40 psch bartolin: i think those might be related, and the latter is likely sitting in the QAST stage
08:41 psch m: my $a = <b b>; ($a .= unique).WHAT.say
08:41 camelia rakudo-moar f1f750: OUTPUT«(Seq)␤»
08:41 psch j: my $a = <b b>; ($a .= unique).WHAT.say
08:41 camelia rakudo-jvm cd19db: OUTPUT«(Seq)␤»
08:43 psch bartolin: if you feel adventurous, it's QAST::Compiler lines 4167 to 4194 and QASTCompilerMAST lines 1371 to 1412  :)
08:55 bartolin psch: thanks, I'll take a look :-)
08:56 RabidGravy joined #perl6-dev
08:59 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…»
09:00 gfldex should `use fatal` turn the warning into a die in that case?
09:00 gfldex m: use fatal; sub niler{Nil}; my $a = niler; say("$a.html", "sometext"); say "alive";
09:00 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␤»
11:50 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 rakudo/nom: 43debec | niner++ | src/core/CompUnit/Repository/FileSystem.pm:
11:50 dalek rakudo/nom: Fix CURF's resolve generating the wrong repo-id
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: Instead of a SHA1 like those generated when creating a precomp file
11:50 dalek rakudo/nom: as result of a .need, we got the source file's path as repo-id.
11:50 dalek rakudo/nom: Therefore the equality check always failed causing unnecessary recompiles.
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: Fixed by using the same code for generating the id in both methods.
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/43debec892
12:42 dalek rakudo/nom: a5fae44 | (Daniel Green)++ | src/Perl6/Compiler.nqp:
12:42 dalek rakudo/nom: Reword the 'perl6 --help' text
12:42 dalek rakudo/nom:
12:42 dalek rakudo/nom: Make punctuation/capitalization consistent, show when arguments to long options are optional/required, and better explain how to get JSON profiles
12:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a5fae44f7c
12:42 dalek rakudo/nom: 2b5687f | lizmat++ | src/Perl6/Compiler.nqp:
12:42 dalek rakudo/nom: Merge pull request #831 from MasterDuke17/reword_usage_text
12:42 dalek rakudo/nom:
12:42 dalek rakudo/nom: Reword the 'perl6 --help' text
12:42 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2b5687f333
12:48 jnthn gfldex: (from backlog) The fatal pragma turns failures into exceptions, not warnings into exceptions.
13:58 tbrowder left #perl6-dev
14:02 TimToady I think my Int:D $a = 42 should initialize as soon as possible, and never allow assignment of anything that ~~ Nil
14:02 TimToady bare "my Int:d $a;" should be illegal at compile time
14:02 TimToady the invariant is what's wanted, and that's what we should maintain
14:04 TimToady this is one of those spots where we should torment the implementor on behalf of the user, I suspect
14:04 dalek rakudo/nom: 4786718 | niner++ | tools/build/install-core-dist.pl:
14:04 dalek rakudo/nom: Fix precomp file for Staging repo containing build path
14:04 dalek rakudo/nom:
14:04 dalek rakudo/nom: The only bundled module still containing $BUILDROOT in the generated
14:04 dalek rakudo/nom: precomp file was CompUnit::Repository::Staging itself. That's because
14:04 dalek rakudo/nom: we need the Staging repo to get the relative paths in the first place.
14:04 dalek rakudo/nom:
14:04 dalek rakudo/nom: Break this bootstrap issue by calling .precompile directly instead of
14:04 dalek rakudo/nom: through .install
14:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4786718d2e
14:05 psch https://github.com/rakudo/rakudo/pull/829 looks rather uncomplicated
14:05 psch although i'm not sure how much it fixes
14:10 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:11 TimToady 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:17 Ven joined #perl6-dev
15:06 gfldex jnthn: if found a workaround for my woes with Nil. It's surprisingly simple.
15:06 gfldex m: sub niler{Nil}; my $a = Str; say("$a.html", "sometext"); say "alive"; CONTROL { die $_ };
15:06 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␤␤»
15:11 skids joined #perl6-dev
15:12 gfldex skids: did you test your anti-Nil patch against :D-sigilled Poisitionals like `my Int:D @a` ?
15:12 skids nope. lemme try.
15:12 [TuxCM] joined #perl6-dev
15:13 skids 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:14 skids Works for assoicative too.
15:15 gfldex it could just say it's caused by Nil. If you backlog you will find a judgement by TimToady about 1h ago.
15:19 [TuxCM] joined #perl6-dev
15:21 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:28 skids 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
15:29 awwaiid 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 :-)
15:30 awwaiid :)
15:45 [TuxCM] This is Rakudo version 2016.07.1-45-g4786718 built on MoarVM version 2016.07-4-g236058a
15:45 [TuxCM] test            14.991
15:45 [TuxCM] test-t           8.052
15:45 [TuxCM] csv-parser      16.358
16:08 AlexDaniel joined #perl6-dev
16:13 RabidGravy joined #perl6-dev
16:21 pmurias joined #perl6-dev
16:22 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:27 timotimo nqp still supports parrot, though
16:39 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:40 timotimo that makes sense
16:43 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
16:43 pmichaud a couple of weeks ago kid51++ made some interesting observations about Parrot activity:  http://lists.parrot.org/pipermail/parrot-dev/2016-July/007660.html
16:44 timotimo maybe FROGGS did/does a thing or two in the past?
16:45 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:47 gfldex https://www.youtube.com/watch?v=Oj8RIEQH7zA&amp;feature=youtu.be&amp;t=166
16:47 gfldex sorry I could not resist
16:48 pmichaud Personally, I think it'd be safe to close all of the parrot-related tickets as "wontfix until Parrot resurfaces"
16:49 pmichaud 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 pmichaud I'm afk
16:51 pmurias seems like a good solution to me
17:05 pmurias closed and tagged all the parrot nqp tickets
18:43 pyrimidine joined #perl6-dev
18:59 pyrimidine joined #perl6-dev
19:10 moritz want me to remove the remaining parrot support from nqp?
19:11 moritz dead code is a liability, IME
19:17 dalek nqp: 99f96c2 | (Pawel Murias)++ | src/vm/js/Compiler.nqp:
19:17 dalek nqp: [js] Avoid code ref attribute name conflicts between code refs in different compilation units.
19:17 dalek nqp: review: https://github.com/perl6/nqp/commit/99f96c210f
19:17 dalek nqp: 4fa42ca | (Pawel Murias)++ | src/QRegex/NFA.nqp:
19:17 dalek nqp: Get rid removed nl cclass leftover.
19:17 dalek nqp: review: https://github.com/perl6/nqp/commit/4fa42caddc
19:17 dalek nqp: 290d2fb | (Pawel Murias)++ | src/vm/js/ (2 files):
19:17 dalek nqp: [js] Avoid very expensive storing of arbitary attributes in code refs.
19:17 dalek nqp: review: https://github.com/perl6/nqp/commit/290d2fb226
19:17 dalek nqp: a5d13c1 | (Pawel Murias)++ | src/vm/js/ (4 files):
19:17 dalek nqp: [js] Only keep codeRefAttr on the staticCode CodeRefs.
19:17 dalek nqp: review: https://github.com/perl6/nqp/commit/a5d13c1849
19:17 dalek nqp: 620ebf0 | (Pawel Murias)++ | t/nqp/031-grammar.t:
19:17 dalek nqp: Test <- name-with-hyphen>.
19:17 dalek nqp: review: https://github.com/perl6/nqp/commit/620ebf0e67
19:20 travis-ci joined #perl6-dev
19:20 travis-ci NQP build failed. Pawel Murias 'Test <- name-with-hyphen>.'
19:20 travis-ci https://travis-ci.org/perl6/nqp/builds/147039100 https://github.com/perl6/nqp/compare/3eb8bd81dba1...620ebf0e6754
19:20 travis-ci left #perl6-dev
19:28 edehont joined #perl6-dev
19:39 * pmurias starts fixing
19:39 dalek nqp: 7635d55 | (Pawel Murias)++ | t/nqp/031-grammar.t:
19:39 dalek nqp: Fix test plan.
19:39 dalek nqp: review: https://github.com/perl6/nqp/commit/7635d55788
19:43 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 pmurias moritz: the tickets where a problem as I felt they were turning the issue tracker into a graveyard
19:47 moritz 103 files changed, 25 insertions(+), 211713 deletions(-)
19:47 moritz that's from locally removing parrot support from NQP
19:48 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
20:04 dalek nqp/noparrot: 560522b | moritz++ | / (90 files):
20:04 dalek nqp/noparrot: Some initial parrot removal
20:04 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/560522ba16
20:04 dalek nqp/noparrot: 0c3d652 | moritz++ | / (4 files):
20:04 dalek nqp/noparrot: More deparroting
20:04 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/0c3d652fc8
20:04 dalek nqp/noparrot: 9bfbcd1 | moritz++ | / (9 files):
20:04 dalek nqp/noparrot: Remove more parrot-specific stuff
20:04 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/9bfbcd11f7
20:04 dalek nqp/noparrot: 656eb65 | moritz++ | / (5 files):
20:04 dalek nqp/noparrot: Remove examples/json.nqp
20:04 dalek nqp/noparrot:
20:04 dalek nqp/noparrot: it was based on PAST, not QAST, so not compatible with modern backends
20:04 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/656eb65d7b
20:05 moritz sorry dalek, we hardly knew thee
20:06 geekosaur looks like it completed successfully to me and didn't get flood-kicked?
20:07 moritz there were three more commits in that branch
20:09 Zoffix joined #perl6-dev
20:09 moritz https://github.com/perl6/nqp/pull/298 comments welcome
20:15 dalek nqp/noparrot: 3dd70d9 | moritz++ | t/nqp/0 (20 files):
20:15 dalek nqp/noparrot: Remove parrot-specific things from the tests
20:15 dalek nqp/noparrot:
20:15 dalek nqp/noparrot: including the sporadic, parrot-based shebang line
20:15 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/3dd70d943a
20:18 [TuxCM] joined #perl6-dev
20:19 dalek nqp/noparrot: f467e3a | moritz++ | t/ (2 files):
20:19 dalek nqp/noparrot: Remove more parrot stuff from the tests
20:19 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/f467e3a263
20:19 dalek nqp/noparrot: 44af8f2 | moritz++ | tools/lib/NQP/Configure.pm:
20:19 dalek nqp/noparrot: Kill a dead line in Configure.pm
20:19 dalek nqp/noparrot: review: https://github.com/perl6/nqp/commit/44af8f214f
20:20 arnsholt joined #perl6-dev
20:24 pyrimidine joined #perl6-dev
20:32 lizmat good *, #perl6-dev
20:33 lizmat seems we caught some spectest failures lately  :-(
20:33 lizmat t/spec/S10-packages/basic.rakudo.moar   tests 47-48
20:34 lizmat t/spec/S02-literals/allomorphic.t and t/spec/S04-statements/return.t fail to compile when run under make spectest
20:34 lizmat but run fine with just perl6
20:35 * lizmat nukes all precomps to see if that helps
20:42 pyrimidine joined #perl6-dev
20:55 lizmat nine: reverting 43debec892f0bdaf0c474 seems to fix the issues
21:38 dalek nqp: bd36285 | (Pawel Murias)++ | docs/HACKING-js:
21:38 dalek nqp: Update HACKING file.
21:38 dalek nqp: review: https://github.com/perl6/nqp/commit/bd36285876
21:38 dalek nqp: 2491176 | (Pawel Murias)++ | src/vm/js/nqp-runtime/ (4 files):
21:38 dalek nqp: [js] Fix coding style errors found by 'make js-lint'.
21:38 dalek nqp: review: https://github.com/perl6/nqp/commit/2491176a0a
21:38 gfldex joined #perl6-dev
21:47 skids do we maintain a list of roast flapper tests?  I just got one that might be rare.
21:56 lizmat skids: which one ?
21:57 skids oddly, mixhash ".roll(100) (2)" if the spectest numbering is accurate.  Cannot get it to fail again.
21:57 skids (#129 in 6.c-erratta)
21:57 lizmat ah, yes, that's not really a flapper
21:58 lizmat in a way it's a poor test
21:58 lizmat but I couldn't figure out a better way
21:59 skids OIC I just "lucked out"
22:08 lizmat yup
22:50 dalek rakudo/nom: 957dc0d | lizmat++ | src/core/Backtrace.pm:
22:50 dalek rakudo/nom: Make Backtrace creation 25% faster
22:50 dalek rakudo/nom:
22:50 dalek rakudo/nom: Which in turn benefits Failure creation, which in turn helps situations
22:50 dalek rakudo/nom: such as:
22:50 dalek rakudo/nom:
22:50 dalek rakudo/nom:   my @a; @a.pop // 42;
22:50 dalek rakudo/nom:   $*FOO // "default foo";
22:50 dalek rakudo/nom:
22:50 dalek rakudo/nom: aka, anything that potentially can return a Failure.
22:50 dalek rakudo/nom:
22:50 dalek rakudo/nom: This is a work in progress: many more avenues of optimisation to check
22:50 dalek rakudo/nom: out.  But small changes here have large repercussions  :-(
22:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/957dc0d034
22:50 lizmat good night, #perl6-dev!

| Channels | #perl6-dev index | Today | | Search | Google Search | Plain-Text | summary