Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6-dev, 2016-05-28

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

All times shown according to UTC.

Time Nick Message
00:04 travis-ci joined #perl6-dev
00:04 travis-ci Rakudo build failed. jnthn 'Implement shortname method in CoercionHOW.'
00:04 travis-ci https://travis-ci.org/rakudo/rakudo/builds/133497401 https://github.com/rakudo/rakudo/compare/113580583895...be4e4395856e
00:04 travis-ci left #perl6-dev
05:34 psch it looks to me like we're not doing anything with mast_frames from &EVAL on nqp-j
05:34 psch afaiu that would fit with the problem, maybe?
05:35 psch on the other hand, it's just an empty VMHash..?
05:35 psch well, unless HLL::Compiler.compile sets it somewhere i'm not seeing
05:35 psch or anything below, anyway
06:46 Ven joined #perl6-dev
06:48 RabidGravy joined #perl6-dev
07:25 nine psch: the reason for passing mast_frames is to share the mast_frames of the mbc compiler used for the EVAL with the mbc compiler used for the outer comp unit. Otherwise the EVAL's code objects in the outer unit's serialization context wouldn't find their static frames.
07:29 nine psch: I have no idea how this static frame business is handled on the JVM
07:36 psch nine: i think we talked about that?  ISTR that i guessed it's probably CallFrame.staticInfo
07:37 psch ah, CallFrame.codeRef.staticInfo rather
07:37 psch not sure how to wrangle that in there - i don't really see how mast_frames does what it does, anyway...
07:38 psch oh.  it *is* written to by QASTCompilerMAST
07:40 psch hmm, actually it looks to me that a MAST::Frame most closely matches to a JAST::Method..?
07:43 nine Yes, I pass it to QASTCompilerMAST's constructor.
09:02 [TuxCM] joined #perl6-dev
09:30 [TuxCM] This is Rakudo version 2016.05-24-gbe4e439 built on MoarVM version 2016.05
09:30 [TuxCM] test            19.638
09:30 [TuxCM] test-t          12.586
09:30 [TuxCM] csv-parser      33.548
09:31 [TuxCM] note that one of the tests failed twice, passed in manual mode and then passed in make test again
09:44 Ven joined #perl6-dev
10:22 masak [TuxCM]: what kind of failure_
10:23 masak ?
10:30 lizmat grrr:
10:30 lizmat # Failed test 'my Int %h declares a Hash with Str(Any) keys'
10:30 lizmat # at t/spec/S09-typed-arrays/hashes.t line 14
10:30 lizmat # expected: (Str(Any))
10:30 lizmat #      got: (Str(Any))
10:46 dalek nqp: a4143e3 | (Daniel Green)++ | docs/ops.markdown:
10:46 dalek nqp: Fix two inconsistencies in the ops documentation
10:46 dalek nqp: review: https://github.com/perl6/nqp/commit/a4143e377a
10:46 dalek nqp: 173098b | lizmat++ | docs/ops.markdown:
10:46 dalek nqp: Merge pull request #288 from MasterDuke17/master
10:46 dalek nqp:
10:46 dalek nqp: Fix two inconsistencies in the ops documentation
10:46 dalek nqp: review: https://github.com/perl6/nqp/commit/173098b3de
10:49 edehont joined #perl6-dev
10:59 dalek rakudo/nom: c5dfd77 | lizmat++ | src/core/Hash.pm:
10:59 dalek rakudo/nom: Bring Hash.keyof up to date, dogbert17++
10:59 dalek rakudo/nom:
10:59 dalek rakudo/nom: Turned out we only needed jnthn++ 's last commit
10:59 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/c5dfd77a58
11:00 dalek roast: 34ce0e9 | lizmat++ | S (2 files):
11:00 dalek roast: Fix Hash.keyof tests, now that it returns Str(Any)
11:00 dalek roast: review: https://github.com/perl6/roast/commit/34ce0e9a09
11:06 dalek roast/6.c-errata: de024bb | lizmat++ | S (2 files):
11:06 dalek roast/6.c-errata: Fix Hash.keyof tests, now that it returns Str(Any)
11:06 dalek roast/6.c-errata: review: https://github.com/perl6/roast/commit/de024bbf12
11:16 masak lizmat++
12:00 travis-ci joined #perl6-dev
12:00 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Bring Hash.keyof up to date, dogbert17++
12:00 travis-ci https://travis-ci.org/rakudo/rakudo/builds/133572722 https://github.com/rakudo/rakudo/compare/be4e4395856e...c5dfd77a5838
12:00 travis-ci left #perl6-dev
12:06 AlexDaniel joined #perl6-dev
12:25 [TuxCM] joined #perl6-dev
13:35 RabidGravy joined #perl6-dev
14:14 pmurias joined #perl6-dev
14:14 pmurias jnthn: setwho deconts on the jvm but not on the moarvm, where deconts on the moarvm but not on the jvm
14:16 dalek nqp: 8cc1e10 | (Pawel Murias)++ | src/vm/js/nqp-runtime/reprs.js:
14:16 dalek nqp: [js] Fix signature.
14:16 dalek nqp: review: https://github.com/perl6/nqp/commit/8cc1e103bc
14:16 dalek nqp: af5b2dc | (Pawel Murias)++ | src/vm/js/Operations.nqp:
14:16 dalek nqp: [js] Make callmethod decontainerize the invocant.
14:16 dalek nqp: review: https://github.com/perl6/nqp/commit/af5b2dcf96
14:16 dalek nqp: 54251ef | (Pawel Murias)++ | src/vm/js/Operations.nqp:
14:16 dalek nqp: [js] Decontainerize arguments to some ops.
14:16 dalek nqp: review: https://github.com/perl6/nqp/commit/54251ef7b9
14:16 dalek nqp: 1052795 | (Pawel Murias)++ | t/nqp/067-container.t:
14:16 dalek nqp: Test that some ops on a container decontainerize.
14:16 dalek nqp: review: https://github.com/perl6/nqp/commit/1052795bb3
14:16 dalek nqp: c72188d | (Pawel Murias)++ | src/vm/js/nqp-runtime/sixmodel.js:
14:16 dalek nqp: [js] Make a container type object decont it itself.
14:32 jnthn pmurias: Nice find :)
14:32 jnthn pmurias: I suspect they should decont both on both :)
14:40 pmurias jnthn: I can arrange that ;)
16:02 Ven joined #perl6-dev
17:36 pmurias joined #perl6-dev
17:55 [TuxCM] joined #perl6-dev
17:56 patrickz joined #perl6-dev
18:19 RabidGravy joined #perl6-dev
18:21 Ven joined #perl6-dev
19:41 hankache joined #perl6-dev
19:48 dalek rakudo/nom: 7500ea2 | lizmat++ | src/core/List.pm:
19:48 dalek rakudo/nom: Make List.new about 4x as fast
19:48 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7500ea2a10
19:49 lizmat not sure how often that actually gets called, but it seems to have a positive effect on the spectest
19:49 jnthn :)
19:49 lizmat Files=1098, Tests=52263, 254 wallclock secs (14.59 usr  4.19 sys + 1584.49 cusr 122.92 csys = 1726.19 CPU)
19:49 jnthn lizmat: Don't suppose you had chance to try out MoarVM HEAD yet? :)
19:49 lizmat indeed, not yet
19:49 lizmat trying to wrap my head around List reification
19:49 jnthn :-)
19:50 lizmat I'm getting more and more the feeling there's at least one level of indirection too many
19:50 jnthn heh :)
19:50 lizmat jnthn: could that be the case?
19:52 lizmat anyways, I got this concept of another speedup in reification
19:52 lizmat but somehow in some cases, it reifies a number of elements now that get lost
19:53 jnthn Well, it *could*, but what's there now is mostly a result of starting out as simple as could possibly work and then refactoring it until it handled the cases it needs to
19:53 lizmat m: my $a := squish( 42..Inf ); say $a[0]
19:53 camelia rakudo-moar c5dfd7: OUTPUT«42␤»
19:53 lizmat this gives 44 or 45 in my case  :-(
19:53 jnthn o.O
19:54 jnthn One LOI is needed to make things not go incredibly wrong in cases like
19:54 jnthn my @a = 1, @a, 2;
19:54 lizmat oddly enough, (42..Inf).squish[0] works fine
19:54 jnthn Where the RHS mentinos the LHS
19:54 jnthn *mentions
19:54 lizmat yeah, I got that
19:55 jnthn And then the level of indirection around pushing reified results is there to allow the same reification code to work out with List and Array and typed arrays and so on, iirc.
19:55 jnthn But most of those latter cases are inline-sized.
19:56 lizmat m: my @a = ^5; @a[2]:delete; $_++ for @a    # also looking at fixing this
19:56 camelia rakudo-moar c5dfd7: OUTPUT«Cannot call postfix:<++>(Any); none of these signatures match:␤    (Mu:D $a is rw)␤    (Mu:U $a is rw)␤    (Int:D $a is rw)␤    (int $a is rw)␤    (Bool:U $a is rw)␤    (Bool:D $a is rw)␤    (Num:D $a is rw)␤    (Num:U $a is rw)␤    (num …»
19:58 * jnthn wonders if that's broken... :)
19:58 jnthn Guess it arguably is
19:58 lizmat m: my %h; %h<a>++; dd %h   # we also expect this to work
19:58 camelia rakudo-moar c5dfd7: OUTPUT«Hash %h = {:a(1)}␤»
19:59 jnthn That's not an iteration case though
19:59 lizmat true
19:59 jnthn m: my @a = ^5; @a[2]:delete; @a[2]++
19:59 camelia rakudo-moar c5dfd7: ( no output )
19:59 jnthn That works out fine for example
19:59 lizmat m: my @a = ^5; @a[2]:delete; @a[2]++; dd @a
19:59 camelia rakudo-moar c5dfd7: OUTPUT«Array @a = [0, 1, 1, 3, 4]␤»
19:59 lizmat ok
19:59 lizmat hmmm....
20:00 jnthn So it's a bit distinct. But yeah, arguably iterating over a deleted element could produce a container that if assigned will bind itself into the array that position, just as assignment to a deleted element does.
20:00 jnthn *at that position
20:00 lizmat yeah, that was the plan
20:00 jnthn I think I'm good with it doing that :)
20:01 lizmat I mean, we already check for null's
20:01 jnthn Yeah. I guess a List should never contain a null 'cus there's no :delete
20:01 lizmat m: my Int @a = ^10; @a[2]:delete; .say for @a
20:01 camelia rakudo-moar c5dfd7: OUTPUT«0␤1␤(Int)␤3␤4␤5␤6␤7␤8␤9␤»
20:02 jnthn So putting it in the iterator code (that is shared between List/Array) should do it
20:02 jnthn And shouldn't do any accidental harm.
20:02 lizmat hmmm....   that means there can never be a nqp::null in a List ?
20:07 jnthn I can't think of a case where that'd ever happen.
20:09 lizmat cool
20:09 lizmat another thing in which List.iterator and Array.iterator can differ
20:13 jnthn Hm, I guess there is the case where we wrap an NQP array up in a Perl 6 List, but even there I can't think of a concrete case where one of those would result in it either
20:14 jnthn Time to go relax :) Probably will be about tomorrow o/
20:15 lizmat jnthn: enjoy relaxation, cu tomorrow ...  or some other time soon (I hope)
20:16 jnthn I expect to do Perl 6 stuff all Tue/Thu next week :)
20:16 jnthn So certainly then ;-)
20:16 lizmat ++jnthn
20:16 lizmat :-)
20:27 masak m: sub foo { sub bar { state $x; $x++; say $x }; bar; bar }; foo; foo
20:27 camelia rakudo-moar 7500ea: OUTPUT«1␤2␤1␤2␤»
20:28 masak in other words, `state` variables inside a sub means behavior isn't preserved when the sub is moved inside another routine.
20:28 masak just realized this.
20:28 masak oh, hey, this ain't #perl6...
20:34 patrickz joined #perl6-dev
20:50 travis-ci joined #perl6-dev
20:50 travis-ci Rakudo build failed. Elizabeth Mattijsen 'Make List.new about 4x as fast'
20:50 travis-ci https://travis-ci.org/rakudo/rakudo/builds/133634119 https://github.com/rakudo/rakudo/compare/c5dfd77a5838...7500ea2a100b
20:50 travis-ci left #perl6-dev
21:47 cognominal m: sub foo { our sub bar { state $x; $x++; say $x }; bar; bar }; foo; foo
21:47 camelia rakudo-moar 7500ea: OUTPUT«1␤2␤1␤2␤»
21:48 cognominal inner our chocks my inner self
21:50 cognominal on the other hand, in that case  "1\n\2\n\3\n4" would not have surprised me, here.
21:51 lizmat m: use nqp; say nqp::isbig_I(int.Range.max)  # jnthn: expected a 0 there
21:51 camelia rakudo-moar 7500ea: OUTPUT«1␤»
21:52 lizmat m: use nqp; say nqp::isbig_I(int32.Range.max)
21:52 camelia rakudo-moar 7500ea: OUTPUT«0␤»
21:52 lizmat m: use nqp; say nqp::isbig_I(int32.Range.max + 1)  # cutoff seems to be at 32bit ?
21:52 camelia rakudo-moar 7500ea: OUTPUT«1␤»

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