Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_log/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by Zoffix on 27 July 2018.
gfldex m: my @a; @a.push: Slip; 00:01
camelia Invocant of method 'iterator' must be an object instance of type 'List', not a type object of type 'Slip'. Did you forget a '.new'?
in block <unit> at <tmp> line 1
gfldex m: my @a; @a[$++] := Slip;
camelia ( no output )
gfldex do we have a method that does a BIND-POS the pushy way?
working with CORE::.values is really quite difficult :) 00:02
however, the whole thing turns out to be a good example why we need := 00:03
00:14 dct left
japhb m: my $counter = 0; $counter++ for CORE::.pairs; say [$counter, CORE::.values.elems]; 01:01
camelia [758 758]
japhb gfldex: Why not just iterate the .pairs instead?
timotimo or .keys 01:03
01:18 lizmat left 01:34 Ven`` joined 01:35 p6bannerbot sets mode: +v Ven`` 02:23 Ven`` left 02:58 Kaiepi left 06:03 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 08:15 robertle_ joined 08:16 p6bannerbot sets mode: +v robertle_ 08:50 patrickb joined 08:51 p6bannerbot sets mode: +v patrickb 09:26 ZzZombo left
AlexDaniel weekly: Kaiepi is the winner of the last squashathon 09:43
notable6 AlexDaniel, Noted!
AlexDaniel .tell jmerelo no, I just looked at the numbers and wrote the summary :) 09:51
yoleaux AlexDaniel: I'll pass your message to jmerelo.
10:16 Kaiepi joined 10:17 p6bannerbot sets mode: +v Kaiepi 10:21 lizmat joined, p6bannerbot sets mode: +v lizmat
lizmat Files=1264, Tests=87970, 382 wallclock secs (19.95 usr 6.28 sys + 2689.03 cusr 241.44 csys = 2956.70 CPU) 10:21
10:34 Kaiepi left 10:37 Kaiepi joined 10:38 p6bannerbot sets mode: +v Kaiepi
|Tux| Rakudo version 2018.12-173-gf010ef57a - MoarVM version 2018.12-19-gec8a240e3
csv-ip5xs0.928 - 0.929
csv-ip5xs-207.164 - 7.238
csv-parser21.861 - 22.280
csv-test-xs-200.438 - 0.446
test6.978 - 7.267
test-t1.804 - 1.811
test-t --race0.817 - 0.831
test-t-2030.013 - 30.324
test-t-20 --race9.663 - 9.704
10:46
lizmat And yet another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/01/08/...-for-2019/ 11:58
12:05 yoleaux joined 12:06 p6bannerbot sets mode: +v yoleaux, AlexDaniel left 13:08 lucasb joined, p6bannerbot sets mode: +v lucasb, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
Geth rakudo: 225d2f9669 | (Elizabeth Mattijsen)++ | 2 files
Streamline Map/Hash.gist a bit more
13:57
14:05 AlexDaniel left 14:29 lizmat left
Geth rakudo: 6b078a052a | (Jonathan Worthington)++ | lib/NativeCall.pm6
Reduce per-invocation NativeCall overhead

By lifting the most common cases out, avoiding calls and a lock acquisition, we can make quite some savings on each native call that we do. On a SQLite/DBIish benchmark, which is extremely native call heavy, this is worth over 10%.
14:36
jnthn That will also help multi-threaded apps doing lots of NativeCall, since now they won't content to acquire the setup lock 14:37
*contend
Geth rakudo/more-block-flattening: 7fb098d7d1 | (Jonathan Worthington)++ | src/Perl6/World.nqp
Fix leakage of lowered/flattened lexicals

This can only happen because things like throws-like are naughty with contexts; an actual EVAL would never really leak the context. This fixes a spectest regression thanks to the more aggressive block flattening.
15:17
jnthn That gets that branch passing spectest
Geth rakudo/master: 6 commits pushed by (Jonathan Worthington)++ 15:23
dogbert2_ cool, a merge 15:25
jnthn The 541a4f1 is the interesting commit in there, the rest is all just making it possible :) 15:26
This lets us do more lexical -> local lowering
As well as flattening away more unrequired scopes
Which means less Code allocations 15:27
dogbert2_ what kind of gains might we be talking about or are they still to come with pea?
jnthn In the DBIish benchmark I was playing with earlier, it seemed to give a few percent. 15:28
But yes, this work is in part happening now in order to give pea more to work with :)
dogbert2_ does that mean you're going to work on pea next or are there more preparatory steps to complete first? 15:30
jnthn I'm thinking about exactly that :)
dogbert2_ :) 15:31
jnthn Actually the next logical step on the flattening is to make it so we can flatten away one-arg blocks, which'd mean that `with $foo { .bar }` would be able to flatten in the inner scope, which could be possible now that $_ is lowered in the inner one 15:32
Which'll make every single `with` cheaper
dogbert2_ is that a difficult fix you think? 15:33
jnthn And then the same can apply to other constructs
It's...probably not quite trivial, but not awful either
Thing is
It's logical to make it also apply to for @xs -> $x { } too 15:34
But PEA can't yet handle loops, and that's some way down the line :)
(That *is* hard)
So if I do that `for` opt first, then early PEA is less useful 15:35
So yeah, probably I get PEA a bit further along, then make it loop-aware, and then come back and do the next round of flattening, when doing it won't hurt the pea.
releasable6: status 15:36
releasable6 jnthn, Next release in ≈11 days and ≈3 hours. 3 blockers. 0 out of 181 commits logged
jnthn, Details: gist.github.com/d779f54b639cf00e1b...f131f86c9b
dogbert2_ plenty of time until next release :)
jnthn Well, I think in the best case I'll have an initial pea branch ready for merge just after the next release...don't want to risk it earlier than that. 15:37
dogbert2_ yeah, that's probably the way to go 15:39
patrickb I'm successfully compiling a moar executable during the rakudo build. Now on to turning that into a perl6 runner.
Perl6 currently doesn't understand the --debug-port option. It would make sense to build support for that into a runner in C, right? 15:47
Are there any other options that one should consider mapping through from perl6 land to moar VM? 15:48
jnthn patrickb: --debug-suspend also I think 16:17
timotimo oh, yes, the debug server thing 16:38
i never actually got around to building a proper runner maker script 16:42
patrickb timotimo: Why a separate runner script instead of just forwarding options? 16:43
16:51 robertle_ left
timotimo because my shell scripting skills are ... subpar to say the least :) 17:00
patrickb Ah, then I'll try to go that route. :-) 17:04
17:08 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 17:28 lizmat joined, p6bannerbot sets mode: +v lizmat 18:13 ExtraCrispy left 18:16 Kaiepi left
AlexDaniel releasable6: status 18:19
releasable6 AlexDaniel, Next release in ≈11 days and ≈0 hours. 3 blockers. 0 out of 181 commits logged
AlexDaniel, Details: gist.github.com/3219a6e891b46c9191...9464f939fa
18:22 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 18:37 lucasb left 19:30 [TuxCM] joined, p6bannerbot sets mode: +v [TuxCM] 19:41 [TuxCM] left 19:46 [TuxCM] joined 19:47 p6bannerbot sets mode: +v [TuxCM] 20:01 Tux__ joined, |Tux| left, p6bannerbot sets mode: +v Tux__ 20:44 [TuxCM] left 20:46 [TuxCM] joined 20:47 p6bannerbot sets mode: +v [TuxCM] 21:17 [TuxCM] left 21:18 patrickb left 21:29 Kaiepi left 21:32 lizmat left 21:53 Kaiepi joined 21:54 p6bannerbot sets mode: +v Kaiepi 22:09 Kaypie joined, Kaiepi left 22:10 p6bannerbot sets mode: +v Kaypie 23:03 Ven`` joined 23:04 p6bannerbot sets mode: +v Ven``