Perl 6 language and compiler development | Logs at colabti.org/irclogger/irclogger_logs/perl6-dev | For toolchain/installation stuff see #perl6-toolchain | For MoarVM see #moarvm
Set by AlexDaniel on 12 June 2018.
00:36 Kaiepi left 00:40 committable6 left, nativecallable6 joined, statisfiable6 joined, bisectable6 joined, greppable6 joined, committable6 joined 01:26 skids joined 01:29 stmuk_ joined 01:32 stmuk left 01:37 benchable6 joined
AlexDaniel weekly: reportable: gist.github.com/2461392a6a1ebc7fe8...4f2845e803 02:29
notable6 AlexDaniel, Noted!
AlexDaniel weekly: another squashathon happened, next squashathon on 2018-08-04 github.com/rakudo/rakudo/wiki/Mont...Squash-Day 02:30
notable6 AlexDaniel, Noted!
03:02 skids left 03:12 skids joined 03:38 BenGoldberg joined 03:55 MasterDuke joined 04:51 BenGoldberg left 05:04 stmuk joined 05:07 stmuk_ left 05:11 skids left 05:23 ufobat_ joined 05:59 zostay left, zostay joined 06:16 releasable6 joined 06:29 robertle joined 06:59 brrt joined
[Tux] samcv, maybe. I'm currently struggling with a bugfix that surfaced by the hash tests failing 07:10
what is the perl6ishest way to do this: 07:11
I hava an Array of Hash and I want an Array of a slice of each of the elements
p6: my @aoh = [{:a(1),:b(2),:c(3)},{:a(2),:b(3),:c(4)}]; my @h = <a c>; my @out = @aoh.list.map ([${@h}]); 07:13
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3; my @h = <a c>; my @out = @aoh.list.map7⏏5 ([${@h}]);
expecting any of:
infix
infix stopper
postfix
statem…
[Tux] p6: my @aoh = [{:a(1),:b(2),:c(3)},{:a(2),:b(3),:c(4)}]; my @h = <a c>; my @out = @aoh.list.map ([$_{@h}]); 07:14
camelia 5===SORRY!5=== Error while compiling <tmp>
Two terms in a row
at <tmp>:1
------> 3; my @h = <a c>; my @out = @aoh.list.map7⏏5 ([$_{@h}]);
expecting any of:
infix
infix stopper
postfix
state…
samcv m: my @aoh = [{:a(1),:b(2),:c(3)},{:a(2),:b(3),:c(4)}]; my @h = <a c>; say @aoh.map({ $_{@h}}) 07:15
camelia ((1 3) (2 4))
samcv like this?
[Tux] no, I wasn't clear enough, obviously :/ 07:16
[Tux] tries to create a small test case 07:17
tux.nl/Files/t.pl 07:21
or in there shorter: my @out = [ @hdr ], $aoh.list.map([ $_{@hdr} ]); 07:26
my @out = [ @hdr ], $aoh.map({$[ $_{@hdr} ]}).Slip; 07:30
^^^ that works
07:31 brrt left 08:03 dogbert17 left 08:06 benchable6 left 08:07 benchable6 joined, nativecallable6 left, statisfiable6 left, bisectable6 left, greppable6 left, committable6 left, committable6 joined, greppable6 joined, bisectable6 joined, statisfiable6 joined, nativecallable6 joined 08:08 releasable6 left
[Tux] Rakudo version 2018.06-85-g032c6c0bb - MoarVM version 2018.06-132-ga24033eb0
csv-ip5xs0.902 - 0.905
csv-ip5xs-207.437 - 7.593
csv-parser26.941 - 27.932
csv-test-xs-200.461 - 0.463
test9.162 - 9.194
test-t2.299 - 2.413
test-t --race0.962 - 0.999
test-t-2041.077 - 41.205
test-t-20 --race14.868 - 14.900
08:12
08:20 CIAvash[m] joined 08:23 lizmat joined 08:30 AlexDaniel`` joined
lizmat . 08:42
yoleaux 8 Jul 2018 22:41Z <DrForr> lizmat: Did you make any headway with Lembark's problem vis-a-vis readline? I've got time and inspiration to throw in whatever ideas you've got.
lizmat .tell DrForr no I didn't. 08:44
yoleaux lizmat: I'll pass your message to DrForr.
09:05 releasable6 joined, pmurias joined 09:22 ilmari left 09:23 ilmari joined, ilmari left, ilmari joined
Geth nqp/truffle: 0f532d64b0 | (Paweł Murias)++ | 2 files
[truffle] Cleanup node construction, get rid of unneded method
09:25
09:30 brrt joined 09:41 brrt left 09:43 klapperl joined
Geth rakudo: jkramer++ created pull request #2038:
Include source file name in module-not-found error message.
10:38
10:41 brrt joined
Geth rakudo: e93032a9a6 | (Elizabeth Mattijsen)++ | CREDITS
Merge two entries for cognominal
10:49
10:50 AlexDani` joined 10:52 AlexDaniel left 10:59 ExtraCrispy joined 11:53 pmurias left 12:12 pmurias joined 12:22 Zoffix joined 12:24 Zoffix left 12:31 benjikun2 joined 12:32 benjikun left
Geth rakudo/rescalar: 49 commits pushed by (Jonathan Worthington)++
review: github.com/rakudo/rakudo/compare/7...aab74164ce
12:54
jnthn A rebase so I can see what spectsets I've actually busted :)
Geth rakudo/rescalar: 05d7c39b40 | (Jonathan Worthington)++ | src/vm/moar/spesh-plugins.nqp
Use nqp::null as the "no Iterable" sentinel

Just in case the first lookup comes back with it as null, which can apparently happen and then poisons it for the rest of time.
12:55
jnthn After that, apparently only those that result from correcting the return decont of Proxy :) 12:57
timotimo that sounds good 12:58
Geth roast: 3fd9495f46 | (Jonathan Worthington)++ | 2 files
Correct tests using return instead of return-rw

Even if the enclosing sub is marked `is rw` or `is raw`, it is still required to `return-rw` the `Proxy`. We got away with this so far, as Rakudo had an implementation limitation/bug that meant a `Proxy` being returned in a non-rw context would not be stripped from around the value. A Rakudo branch currently in progress fixes the issue. The corrected test works in both master and in the branch. However, the branch also fixes a couple of todo'd tests in one of these files too, which can then be un-todo'd once the branch merges.
13:04
roast: da2a3c726f | (Jonathan Worthington)++ | S06-traits/misc.t
Remove over-specific and dubious error test

For one, this test checked for X::AdHoc, which a test should never do. It also checked that the error message contained the name of a readonly being assigned to (in parens too, for that matter). While we could in this particular case do that in Rakudo master, in numerous cases the information was not around at runtime to do this. Changes to Scalar ... (10 more lines)
13:14
13:18 benjikun joined 13:19 benjikun2 left
Geth roast/6.c-errata: b25ed6b284 | (Jonathan Worthington)++ | 2 files
Correct tests using return instead of return-rw

Even if the enclosing sub is marked `is rw` or `is raw`, it is still required to `return-rw` the `Proxy`. We got away with this so far, as Rakudo had an implementation limitation/bug that meant a `Proxy` being returned in a non-rw context would not be stripped from around the value. A Rakudo branch currently in progress fixes the issue. The corrected test works in both master and in the branch. However, the branch also fixes a couple of todo'd tests in one of these files too, which can then be un-todo'd once the branch merges.
13:20
jnthn Turns out the test I removed in da2a3c726f wasn't even in 6.c 13:21
13:42 Zoffix joined
Zoffix We have a wart in IO::Handle. In its TWEAK, it sets $!encoding, but that alone never sets up decoders 13:43
Geth rakudo: 2d85f8a19c | (Jonas Kramer)++ | 3 files
Include source file name in module-not-found error message.

Fixes rakudo/rakudo#2022.
rakudo: 8fa9941468 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 3 files
Merge pull request #2038 from jkramer/issue-2022

Include source file name in module-not-found error message.
synopsebot RAKUDO#2022 [closed]: github.com/rakudo/rakudo/issues/2022 [LTA] LTA error: "not found module" message does not include file
Zoffix e: with class :: is IO::Handle {}.new { .encoding.say; .print: "foo"} 13:46
evalable6 (exit code 1) utf8
Cannot do 'print' on a handle in binary mode
in block <unit> at /tmp/dbeuXgzaQW line 1
Zoffix probably can restructure and move the decoder creation to TWEAK, with .open not bothering with it if it's already set 13:57
Geth nqp: ceabc66953 | (Jonathan Worthington)++ | src/vm/jvm/QAST/Compiler.nqp
Add no-op wantdecont for JVM backend

We currently don't push information about things we'd like to have decontainerized down the tree on the JVM backend, so just make it compile into something that will give a usable result, if non-optimal.
Zoffix R#2039 14:00
synopsebot R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup
14:00 Zoffix left 14:03 skids joined
Geth roast/handle-6.d: 3cefe0dc59 | (Zoffix Znet)++ | S32-io/io-handle.t
Start spec of IO::Handle.READ/.WRITE/.EOF

Blocked by R#2039 github.com/rakudo/rakudo/issues/2039 as without explicitly calling .encoding on handle creation the character read/write methods explode.
14:05
synopsebot R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup
Geth rakudo/handle-6.d: edf81bfef2 | (Zoffix Znet)++ | src/core/IO/Handle.pm6
Check if $!decoder is setup in IO::Handle.encoding…

  …before we assume no work is needed. This likely won't be
needed when R#2039 github.com/rakudo/rakudo/issues/2039 is fixed to setup the decoder right when encoding is set on creation.
14:09
synopsebot R#2039 [open]: github.com/rakudo/rakudo/issues/2039 [IO][LTA] LTA IO::Handle.encoding can have a value, but no valid decoder is setup
Geth rakudo/handle-6.d: 03d79975be | (Zoffix Znet)++ | 2 files
Change IO::Handle.*-internal methods to their final names

Per 6.d-prep list[^1], these are now named .WRITE/.READ/.EOF.
The spec[^2] for these is currently blocked by R#2039
  github.com/rakudo/rakudo/issues/2039
  [^1] github.com/perl6/6.d-prep/blob/mas...f-internal
  [^2] github.com/perl6/roast/commit/3cefe0dc59
¦ rakudo: zoffixznet self-assigned LTA IO::Handle.encoding can have a value, but no valid decoder is setup github.com/rakudo/rakudo/issues/2039 14:11
14:18 travis-ci joined
travis-ci NQP build failed. Jonathan Worthington 'Add no-op wantdecont for JVM backend 14:18
travis-ci.org/perl6/nqp/builds/401773842 github.com/perl6/nqp/compare/5c77f...abc6695315
14:18 travis-ci left
Geth nqp: d37fe51507 | (Jonathan Worthington)++ | 3 files
Implement casattr and atomicbindattr on JVM
14:35
jnthn That unbusts the JVM backend on my rescalar branch 14:40
There's a bunch more things I want to do in that area, but I think perhaps it's sensible to merge the heart of it sooner rather than later.
There's no immediate speed wins, though it paves the way for quite a few more in the future. 14:41
Gets rid of an amount of C code in ext-ops
Fixes the Proxy not being stripped on non-rw return bug
Makes every Scalar 8 bytes (on 64-bit) smaller 14:42
Currently stresstesting it; it's good with spectest
Pro tip: remember to check out master of roast rather than stresstesting 6.c-errata and seeing a ton of passing todo tests :) 14:46
14:51 travis-ci joined
travis-ci NQP build failed. Jonathan Worthington 'Implement casattr and atomicbindattr on JVM' 14:51
travis-ci.org/perl6/nqp/builds/401790501 github.com/perl6/nqp/compare/ceabc...7fe515070a
14:51 travis-ci left 14:52 dogbert17 joined
lizmat notable6: weekly 14:54
notable6 lizmat, 6 notes: gist.github.com/ce8fea5f8a0ab35cdb...05f8b62c06
jnthn releasable6: status 15:02
releasable6 jnthn, Next release in ≈12 days and ≈3 hours. 3 blockers. 0 out of 88 commits logged
jnthn, Details: gist.github.com/26309646e30fe67f78...4e18e8e2ab
jnthn 2ish weeks. OK.
lizmat which can be stretched of course, for a Rakudo * release :-) 15:03
Geth nqp: 39f1057452 | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
Bump to latest MoarVM version
15:06
¦ nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...1-gcae4731
rakudo: c2446b03fa | (Jonathan Worthington)++ | tools/build/NQP_REVISION
Bump NQP_REVISION
15:08
¦ rakudo: version bump brought these changes: github.com/perl6/nqp/compare/2018....6-g39f1057
jnthn Alright, here we go...
15:10 brrt left 15:17 ExtraCrispy left
Geth rakudo/master: 51 commits pushed by (Jonathan Worthington)++
review: github.com/rakudo/rakudo/compare/c...ed6f2d874c
15:18
jnthn That's the rescalar merge
Please see the merge commit message for details 15:19
lizmat ok, lemme try that again as well :-)
timotimo fantastic 15:20
15:25 travis-ci joined
travis-ci NQP build failed. Jonathan Worthington 'Bump to latest MoarVM version' 15:25
travis-ci.org/perl6/nqp/builds/401805286 github.com/perl6/nqp/compare/d37fe...f1057452e1
15:25 travis-ci left
Tux__ On request ... 15:32
Rakudo version 2018.06-140-g68ed6f2d8 - MoarVM version 2018.06-141-gcae4731e2
csv-test-xs-20 0.443 - 0.458
csv-ip5xs 0.965 - 0.972
test-t --race 1.004 - 1.050
test-t 2.387 - 2.427
csv-ip5xs-20 8.572 - 8.807
test 9.239 - 9.328
15:32 Tux__ is now known as Tux
Tux test-t-20 --race 14.367 - 14.735 15:32
yoleaux 30 Jul 2015 15:10Z <[Coke]> Tux: if uchar has been tested on OS X? (I just installed quartz, xrdb, and now it runs without x errors, but if I run "uchar -d STUFF" it just prints out the original word.
21 Dec 2015 11:15Z <brrt> Tux: whether he'd care to test the moarvm timos-jit-patch branch for the slowdown in the test
21 Dec 2015 14:42Z <brrt> Tux: for my clarity whether the healthy numbers are from the fixed branch, and whether he's ok with me merging stuff
17 Nov 2017 16:07Z <tony-o> Tux: bench now has cpu/sys/usr times in it
Tux csv-parser 24.725 - 25.041
test-t-20 41.440 - 42.155
15:33 Tux is now known as Guest96969, Guest96969 is now known as |Tux|
|Tux| Interesing yoleaux, keeping my messages for a nick that I cannot use, as it is registered to someone else :) 15:34
15:41 Zoffix joined
lizmat |Tux| thanks, confirms what I saw, this is groundwork for more optimizations to come 15:41
Zoffix ZOFVM: Files=1297, Tests=153429, 148 wallclock secs (21.13 usr 3.21 sys + 3145.31 cusr 151.29 csys = 3320.94 CPU)
jnthn++ # rescallar work
Already seems to made an improvement, of about
m: say 161/148
camelia 1.087838
Zoffix this many
|Tux| :) 15:42
Zoffix (roughly; the stresstest has some randomness-driven tests which affect the overall time, but the new trend is definitely lower than a few days ago)
|Tux| goes home. More test requests will of course be honoured if I can access the machine
jnthn ah, nice :) 15:43
The new kinds of inlining that MoarVM can now do look, as I glanced what it was doing, to have helped NQP code somewhat too, so we might be seeing faster compilation times in the spectest result. 15:44
CORE.setting seemed to get a second faster for me. 15:45
Geth roast: e0d71a2b64 | (Zoffix Znet)++ | S06-routine-modifiers/proxy.t
Unfudge now-passing Proxy tests

RT#124341 rt.perl.org/Public/Bug/Display.html?id=124341 Rakudo fix: github.com/rakudo/rakudo/commit/68...69c80ef04c
synopsebot RT#124341 [open]: rt.perl.org/Ticket/Display.html?id=124341 [WEIRD] Proxy object also works on non- "is rw" subs/methods
jnthn Zoffix++
jkramer Zoffix: I renamed that attributes as you suggested. Should I change anything about the other points mentioned by ugexe? 15:46
Zoffix jkramer: ugexe knows much more about that part of codebase than me, so talk to them about any further work :) 15:47
Zoffix is a CompUnit n00b
jkramer He's not in IRC though. I'll just wait for further comments in the PR/ticket then. :) 15:56
Zoffix You can ask on the Issue. 16:00
jkramer I'll give him some time, I guess he would've already responded if he'd read our comments (and time). :) 16:04
Zoffix: Is there anything left to do here? As ugexe pointed out it works as intended if the aliases is named. github.com/rakudo/rakudo/issues/1669 16:21
Zoffix jkramer: the issue is the aliased name is missing in USAGE. Ugexe's use of the program is not shown as a possible use in the USAGE printed 16:24
jkramer: nm, it does 16:25
jkramer perl6 -e 'sub MAIN(Bool :h(:$help)) {}' --asd
Yeah his example is weird because it doesn't print the USAGE, but it works :) 16:26
Zoffix closed
jkramer Hmm, gotta look for something else then :)
Zoffix jkramer: there are a bunch of Issues tagged with "easy to resolve": github.com/rakudo/rakudo/issues?q=...resolve%22 16:27
[Coke]: you around by any chance?
jkramer Zoffix: I've already gone through them but I think they're mostly easy to resolve if you already have some knowledge about the internals and not "quick fixes anyone can do" :) 16:30
Zoffix I think the idea is you ask questions for tips on how to fix them or something. 16:31
jkramer I just don't want to annoy people with lots of newbie questions about tickets that they could probably solve themselves in 2min :) 16:37
Zoffix huggable: hug1 16:39
huggable Zoffix, Hug 1: Gift a Shovel. Always seek to expand our community. Invite people to help us. rakudo.party/post/On-Troll-Hugging...iftashovel
Zoffix By answering newbiew questions, eventually the tickets that could probably take days would be solved by those no-longer-newbiews 16:40
.tell [Coke] sent you an email about my grant 16:48
yoleaux Zoffix: I'll pass your message to [Coke].
Zoffix &
16:48 Zoffix left 16:50 benjikun2 joined 16:51 benjikun left
jkramer Is there a trick to speed up building rakudo/testing little changes? It seems like all code is copied into a giant CORE.setting file which is then compiled from scratch every time which is kinda slow. 17:01
17:05 Zoffix joined
Zoffix jkramer: there are some ways to avoid rebuilding, like modifying the object by mixing in a role with a fix: rakudo.party/post/Perl-6-Core-Hack...-To-Sender 17:05
Also, I think japhb had some sort of thing that lets you avoid full recompilation, but it looked too complex for me to understand so I never used it. 17:06
But other than that, no, the 70-second compile dash is something to get used to
At home, I usually have some game open in another window, like Letter Quest: Grimm's Journey or Car Mechanic Simulator that I play while rakudo is compiling 17:07
Well, something to get used to, or optimize grammars and improve it :) R#1999 17:08
synopsebot R#1999 [open]: github.com/rakudo/rakudo/issues/1999 [meta][regex][severe] Roadmap for Regex/Grammar optimizations
jkramer Zoffix: That's very good advice, I'll look out for some good games or maybe just surf reddit :) 17:09
Zoffix jkramer: oh, I linked to the wrong article. should've been this one rakudo.party/post/Hacking-on-Rakud...mixyourfix 17:13
jkramer Hmm, I'm now getting this when building: make: *** No rule to make target 'src/Perl6/Metamodel/ContainerDescriptor.nqp', needed by 'perl6.moarvm'. Stop. 17:15
Zoffix also surfing reddit isn't a good idea. Social media sites are purposefully designed to steal your attention, so you'll find instead of the 70-second compile tim you'll be spending 10-30 minutes each time, wasting your time :)
jkramer: you probably need to re-run perl Configure.pl
s/tim/time/; 17:16
There's also Z-script
huggable: zscript
huggable Zoffix, Helper script for Rakudo Perl 6 core development: github.com/zoffixznet/z
17:17 brrt joined
jkramer Looks like I broke something, apparently my nqp is "too old" and I need to rebuild everything :) 17:18
Zoffix My guess is you pulled new changes into rakudo, which included an nqp bump
jkramer Ah yes that's probably it, I just switched from my working branch to master which had newer changes from upstream 17:20
17:24 AlexDani` is now known as AlexDaniel
jkramer Alright, time for me to go home. I worked on another issue here if you want to review/comment (no PR yet), but I'm probably not gonna see it before tomorrow. :) github.com/jkramer/rakudo/commit/6...0debe97c67 17:25
Have a nice evening! o/ 17:26
Zoffix \o
17:28 Zoffix left 17:56 brrt left 18:02 MasterDuke left 19:21 pmurias left 19:24 AlexDaniel left 19:26 pmurias joined
Geth nqp: 09ae11ea19 | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown
Remove some internal ops from the TOC
19:57
nqp: ea992bccd6 | MasterDuke17++ (committed using GitHub Web editor) | docs/ops.markdown
Update unicmp_s section

It's also implemented in the JS backend. Make the signature more consistent with other ops.
20:08
20:16 travis-ci joined
travis-ci NQP build failed. MasterDuke17 'Remove some internal ops from the TOC' 20:16
travis-ci.org/perl6/nqp/builds/401928410 github.com/perl6/nqp/compare/39f10...ae11ea1902
20:16 travis-ci left
lizmat And another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/07/09/...to-perl-6/ 20:17
jnthn lizmat++ 20:25
Busy week :)
lizmat it sure was
seems to get more busy every week
20:26 travis-ci joined
travis-ci NQP build failed. MasterDuke17 'Update unicmp_s section 20:26
lizmat jnthn: any opinions on the sticker ?
travis-ci travis-ci.org/perl6/nqp/builds/401932992 github.com/perl6/nqp/compare/09ae1...992bccd603
20:26 travis-ci left
lizmat m: while () { }; say "done" 20:29
camelia Resource temporarily unavailable 20:30
lizmat m: while () { }; say "done"
camelia done
lizmat now, oddly enough, in Perl 5 "while () { }" will loop forever
timotimo well, () is the empty list in this perl6 snippet? 20:32
lizmat yup 20:33
geekosaur "while (1) {" o.O 20:34
(-MO=Deparse)
tbh I'd have expected either $_ or undef there 20:37
lizmat this idiom occurs in 136 distributions on CPAN 20:40
in 222 files
so, it's at least out there in the world
I was thinking of adding a p5ism worry for it, as it should be easily checkable 20:41
20:44 ufobat_ left 20:51 MasterDuke joined 21:03 benjikun joined 21:05 skids left, benjikun2 left
lizmat afk& 21:17
21:27 MasterDuke left 21:29 MasterDuke joined 21:36 brrt joined
jnthn lizmat: Looks nice, will collect one if you're coming to SPW :) 21:37
MasterDuke any particular reason nqp::<coerce_is coerce_si> haven't been implemented on the JVM yet? 21:49
brrt samcv only just added them on MoarVM? 21:50
MasterDuke i thought it was *_us and *_su that she just added? 21:51
brrt oh, yes, you're right 22:03
i misread
TimToady the "while ()" thing was a bad default borrowed from how the middle term of "for (;;)" works 22:16
22:18 pmurias left 22:36 benjikun2 joined, brrt left 22:40 benjikun left 22:41 AlexDaniel joined
Geth nqp/truffle: a995b68e7f | (Daniel Green)++ | 3 files
[truffle] Pull copied function out to shared class
22:55
23:26 releasable6 left, greppable6 left, bisectable6 left, statisfiable6 left, nativecallable6 left, benchable6 left 23:27 benchable6 joined, statisfiable6 joined, bisectable6 joined, nativecallable6 joined, greppable6 joined, releasable6 joined, committable6 left
Geth nqp: 4e23337c7c | (Daniel Green)++ | 3 files
Implement nqp::<coerce_si coerce_is> for the JVM

And unskip some now passing tests.
23:47