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.
00:03 epony left 00:10 epony joined, p6bannerbot sets mode: +v epony 00:15 lizmat left 00:21 epony left 00:40 epony joined, p6bannerbot sets mode: +v epony 01:13 Ven` joined 01:14 p6bannerbot sets mode: +v Ven` 01:18 Ven` left 01:29 ZzZombo left 02:34 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 02:35 Ven` joined 02:36 p6bannerbot sets mode: +v Ven` 02:41 Ven` left 02:45 ufobat___ joined 02:46 p6bannerbot sets mode: +v ufobat___ 02:48 ufobat_ left 03:24 MasterDuke left 04:51 Ven` joined 04:52 p6bannerbot sets mode: +v Ven` 04:56 Ven` left 05:04 Ven` joined 05:05 p6bannerbot sets mode: +v Ven` 05:09 Ven` left 05:16 fake_space_whale left 06:44 patrickb joined, p6bannerbot sets mode: +v patrickb
pmurias [Coke]: looking into it 06:45
[Coke]: that's a too old node.js, I should a check for it to Configure.pl 06:46
nine Looks like NQP doesn't check non-primitive argument types anyway. 06:53
06:56 brrt joined 06:57 p6bannerbot sets mode: +v brrt
Geth nqp: 1f6e45abbe | (Paweł Murias)++ | src/vm/js/nqp-runtime/runtime.js
[js] Throw a proper nqp exception when we can't convert to num.
07:08
nqp: 209b20eb08 | (Paweł Murias)++ | src/vm/js/nqp-runtime/io.js
[js] Remove a check for a method that's uneeded in our model
nqp: 2209f00c81 | (Paweł Murias)++ | README.pod
[js] Update in README version of node I'm using
nqp/jvm-global-clean: adf3722d7f | tison++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ExceptionHandling.java
[jvm] clean ExceptionHandling
07:13
nqp: TisonKun++ created pull request #507:
[WIP] [jvm] global clean
07:15
nqp/jvm-global-clean: 6d70009a06 | tison++ | 15 files
[jvm] interface is public by default
07:23
07:32 brrt left 07:57 pmurias left 08:04 brrt joined, p6bannerbot sets mode: +v brrt
nine I now managed to get a profile of the MAST stage using a patched --profile-stage, but the profile is too large even for the QT frontend :/ 08:20
08:26 Ven` joined 08:27 p6bannerbot sets mode: +v Ven`
nine timotimo++ # moarperf works beautifully with this huge profile :) 08:45
Geth nqp/jvm-global-clean: c4c141eb7d | 陈梓立++ | 2 files
[jvm] clean IOOps.java
nine And it showed a nice opportunity for performance improvement: I completely forgot that I still pass the serialized data base64 encoded back from the VM to NQP and have to decode it there. Seems to be about 20 % of the runtime 08:47
jnthn Hm, and you needed 50% to break even, and that was before you had 3s off yesterday? :) 08:48
nine I'm just shy of 19s now and need to get it down to 11 08:51
jnthn m: say 0.2 * 19 08:52
camelia 3.8
jnthn Will help :)
08:58 lizmat joined, p6bannerbot sets mode: +v lizmat 09:08 brrt left
lizmat Files=1255, Tests=75811, 342 wallclock secs (15.78 usr 5.19 sys + 2395.49 cusr 258.31 csys = 2674.77 CPU) 09:12
|Tux| Rakudo version 2018.09-382-g7e86d4e30 - MoarVM version 2018.09-124-g588873f7a
csv-ip5xs0.923 - 0.969
csv-ip5xs-207.273 - 7.330
csv-parser20.770 - 21.185
csv-test-xs-200.427 - 0.434
test8.171 - 8.354
test-t1.700 - 1.743
test-t --race0.798 - 0.810
test-t-2029.354 - 29.959
test-t-20 --race10.826 - 10.845
09:22
09:24 robertle joined, p6bannerbot sets mode: +v robertle
Geth nqp: f1fa4603b8 | (Paweł Murias)++ | src/vm/moar/QAST/QASTCompilerMAST.nqp
[moar] Add coercions from int32, int16, int8, uint32, uint16, uint8 to num
09:43
nqp: b2e4c4da0a | (Paweł Murias)++ | t/nqp/109-coercions.t
Test coercions from int32, int16, int8, uint32, uint16, uint8 to num
timotimo nine: let me know what you're missing; of course there's lots still missing and the UI is currently clunky until i make the data fetching logic more appropriate ... 09:58
10:00 cognominal-p6 left
timotimo nine: how many GC runs does it do in that stage? i wonder if taking a heap snapshot is out of the question %) 10:02
10:08 patrickb left 10:13 ZzZombo left
Geth rakudo: 0425d927f8 | (Elizabeth Mattijsen)++ | src/core/CompUnit/RepositoryRegistry.pm6
Initialize CU:RepositoryRegistry at setting compile time

There is no need to go through the motions of adding a CU:Repository thread-safely *each* time at startup when we can also do this at setting compile time. This should help a bit with startup times.
10:19
10:24 brrt joined 10:25 p6bannerbot sets mode: +v brrt
nine lizmat++ # fighting the startup time battle 10:27
10:31 cognominal-p6 joined 10:32 cognominal-p6 left 10:33 cognominal-p6 joined 10:34 p6bannerbot sets mode: +v cognominal-p6
nine timotimo: I somehow can't get GC run information anymore though it worked just fine when I looked through the profile the first time. 10:50
timotimo: I've already deleted the .sqlite3 file, but that didn't change anything. Routine tab works just fine but GC only shows "nothing" 10:51
timotimo how does the cro app react to "get gc data"? an exception? 11:00
nine timotimo: only error I see is ⚠ moarperf [ERROR] 403 /css/bootstrap.css.map - 127.0.0.1 11:03
Only network request I see when switching to the GC tab is localhost:20000/js/gcoverview.bundle.js
which is 1.53MB
timotimo it should have a request for the gc data, too 11:04
oh, it doesn't show the button, i expect?
11:06 pmurias joined, p6bannerbot sets mode: +v pmurias
nine Oh, you mean the "Get GC overview" button? 11:07
That gives me a giant red smiley
11:07 pmurias left
nine TypeError: d is null[Learn More] GCOverview.jsx:148:65 11:08
timotimo does the cro app output anything then? 11:09
11:09 pmurias joined, p6bannerbot sets mode: +v pmurias
timotimo MFW the code that has d in it is either .filter(d => d !== null) or something after that 11:10
or maybe the line numbers have diverged
11:11 pmurias left 11:14 pmurias joined, pmurias left 11:18 cognominal-p6 left 11:20 pmurias joined, p6bannerbot sets mode: +v pmurias 11:21 pmurias left
Geth nqp/master: 4 commits pushed by (Paweł Murias)++ 11:22
nine No, cro is silent
timotimo: I can upload that profile if you want to take a look 11:23
timotimo tbh i don't know how sqlite3 reacts when you delete the file, but if that were to blame, there ought to be exceptions
yeah, gimme :)
surely it'll compress very well
11:24 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo 11:26 pmurias joined, p6bannerbot sets mode: +v pmurias
nine timotimo: niner.name/files/profile.sql.zst 11:31
timotimo ah, got it already btw 11:37
nine Btw. DBIish is missing in the requirements 11:38
11:38 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci NQP build failed. Paweł Murias '[moar] Implement unary ! on int32s' 11:38
travis-ci.org/perl6/nqp/builds/439085483 github.com/perl6/nqp/compare/b2e4c...a07a74ed39
11:38 travis-ci left
timotimo whoops, good catch 11:38
11:39 patrickb joined, p6bannerbot sets mode: +v patrickb 11:44 lizmat left 11:56 cognominal-p6 joined 11:57 p6bannerbot sets mode: +v cognominal-p6 12:03 cognominal-p6 left, cognominal-p6 joined 12:04 p6bannerbot sets mode: +v cognominal-p6 12:20 cognominal-p6 left 12:43 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias 12:44 pmurias left 12:45 brrt left 12:48 pmurias joined, p6bannerbot sets mode: +v pmurias
timotimo nine: i.imgur.com/tHgYzPY.png - i can get it just fine, though? 13:04
13:06 cognominal-p6 joined, cognominal-p6 left, cognominal-p6 joined 13:07 p6bannerbot sets mode: +v cognominal-p6
timotimo nine: POS looks fun. it allocates P6num. it's probably not supposed to :) 13:10
oh, but that's base64 anyway, you've cut that out already i believe?
AlexDaniel huggable: star 13:19
huggable AlexDaniel, Estimated Rakudo Star releases: .01, .04, .07 & .10
SyrupThinker AlexDaniel: So it seems, I think I found the reason for that and am currently testing a fix for it. 13:21
AlexDaniel nice
13:21 pmurias left
nine timotimo: not yet, but it's the first thing to go 13:26
timotimo OK
13:26 pmurias joined, p6bannerbot sets mode: +v pmurias 13:30 cognominal-p6 left
pmurias do we have a review process for putting new methods/adverbs into Perl 6? 13:36
Geth nqp: d62a03d648 | (Paweł Murias)++ | t/nqp/109-coercions.t
Fix test count
13:38
13:43 pmurias left 13:46 pmurias joined, p6bannerbot sets mode: +v pmurias 13:51 lizmat joined, p6bannerbot sets mode: +v lizmat 13:54 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci NQP build passed. Paweł Murias 'Fix test count' 13:54
travis-ci.org/perl6/nqp/builds/439142056 github.com/perl6/nqp/compare/7fa07...2a03d6487a
13:54 travis-ci left 14:02 pmurias left
lizmat m: say "{ }" # perhaps we should constant fold this ? 14:04
camelia Use of Nil in string context

in block <unit> at <tmp> line 1
14:11 pmurias joined, p6bannerbot sets mode: +v pmurias 14:16 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias 14:24 pmurias left, pmurias joined, p6bannerbot sets mode: +v pmurias 14:34 brrt joined 14:35 p6bannerbot sets mode: +v brrt 14:38 pmurias left 14:39 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias lizmat: if we find a way optimize .sum so that there isn't such a drastic difference do we need .sum(:wrap)? 14:43
lizmat I guess not 14:44
lemme see how much difference there is now 14:45
14:46 pmurias left
lizmat pmurias: for a 1000 element native int array, :wrap is still about 4x as fast 14:47
14:49 pmurias joined, p6bannerbot sets mode: +v pmurias 14:50 pmurias left 14:56 pmurias joined, p6bannerbot sets mode: +v pmurias
pmurias does Moar do the fancy speculate that bigint are in fact small optimizations nowadays? 14:58
jnthn Depends what you mean by fancy :)
It stores those in a 32-bit range without a real big integer representation 14:59
And a handful of ops are JIT in such a way as to just do the operation and then test the overflow flag
15:00 epony left
pmurias jnthn: I was wondering if we will eventually get to the point where .sum() and .sum(:wrap) will have similiar performance (when an overflow doesn't happen) and if so is the :wrap flag something we want to have long term 15:04
15:05 epony joined, p6bannerbot sets mode: +v epony
jnthn pmurias: Well, a test/branch is always a test/branch I guess 15:05
15:10 epony left 15:11 fake_space_whale joined, p6bannerbot sets mode: +v fake_space_whale 15:13 Ven` left 15:22 Ven` joined 15:23 p6bannerbot sets mode: +v Ven`, epony joined, p6bannerbot sets mode: +v epony 15:25 brrt left
AlexDaniel lizmat: it is possible that your last commit is causing this: travis-ci.org/perl6/doc/jobs/43919...1163-L1165 15:37
15:42 ufobat___ left 15:44 patrickb left 15:54 fake_space_whale left
Geth roast: 716331c35d | (Paweł Murias)++ | S09-typed-arrays/native-int.t
[js] Fudge a test that assume 64bit ints
15:56
roast: 32cc19f857 | (Paweł Murias)++ | S06-macros/unquoting.t
[js] Fudge test that's broken on moar too
lizmat AlexDaniel: I would be surprised :-( 15:59
but definitely possible
ok, reproed locally :-( 16:01
Geth rakudo: 8e1cd01aa7 | (Elizabeth Mattijsen)++ | src/core/CompUnit/RepositoryRegistry.pm6
Unbreak zef

Apparently we're not allowed to initaliaze the mapping of short-id to class at BEGIN time. Perhaps the stubs got compiled in?
16:09
lizmat AlexDaniel: ^^^
AlexDaniel I restarted the failed travis job, we'll see 16:10
lizmat hmmm... the classes seem to arrive in piece... maybe some scoping issue so that the added "perl" key is not seen 16:22
16:24 AlexDaniel left, AlexDaniel joined, asimov.freenode.net sets mode: +v AlexDaniel, p6bannerbot sets mode: +v AlexDaniel 16:26 cognominal-p6 joined, lizmat left, p6bannerbot sets mode: +v cognominal-p6 16:27 cognominal-p6 left, Ven` left, cognominal-p6 joined 16:28 p6bannerbot sets mode: +v cognominal-p6 16:30 lizmat joined, p6bannerbot sets mode: +v lizmat 16:34 AlexDaniel` left, AlexDaniel` joined, moon.freenode.net sets mode: +v AlexDaniel`, p6bannerbot sets mode: +v AlexDaniel`
Geth rakudo: f234b9afa4 | (Elizabeth Mattijsen)++ | src/core/Main.pm6
Remove unnecessary ?
17:19
rakudo: SyrupThinker++ created pull request #2357:
Use the actual object instance instead of a type object - Fixes #2352
17:44
synopsebot RAKUDO#2352 [open]: github.com/rakudo/rakudo/issues/2352 [regression][shaped][⚠ blocker ⚠] Indexing does not work for shaped arrays with a dimension higher than 3
lizmat m: say ᱁𑛂೩᮴୫᱆᥍𑇘᱙꘠ eq 1234567890 # surprising
camelia True
Geth rakudo: 0307c36671 | (Valentin Anger)++ | src/core/ShapedArray.pm6
Use the actual object instance instead of a type object

This is probably a copy paste error as there are similar constructor calls where \array was taken as the object.
17:45
rakudo: de27792024 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core/ShapedArray.pm6
Merge pull request #2357 from SyrupThinker/shaped_array

Use the actual object instance instead of a type object - Fixes #2352
SyrupThinker Well that was quick
17:48 pmurias left 17:53 x[LGWs4x4i]uG2N0 left
lizmat SyrupThinker: yeah, looking at the diff it was a no-brainer 17:56
I guess the next thing we need are tests ? *nudge* *nudge* :-)
SyrupThinker Already have those
But I can now bump up the limit 17:57
lizmat SyrupThinker++
Geth roast: daa986c2d5 | (Valentin Anger)++ | S02-types/multi_dimensional_array.t
Bump up the maximum dimension for the up to n dim shaped array test

Because github.com/rakudo/rakudo/issues/2352 has been fixed. With a limit of six 879 tests would be run which might be a few too many.
18:04
dogbert17 ZOFFLOP: t/spec/S11-modules/export.t, test #47 18:10
Type check failed in assignment to ; expected Hash[Str] but got Hash (${:ak("ak")})
18:16 patrickb joined 18:17 p6bannerbot sets mode: +v patrickb
AlexDaniel weekly: SyrupThinker++ worked on issues with shaped arrays (e.g. github.com/rakudo/rakudo/issues/2352 ) 18:19
notable6 AlexDaniel, Noted!
lizmat weekly: aka Valentin Anger
notable6 lizmat, Noted!
lizmat #2358 18:24
R#2358
synopsebot R#2358 [open]: github.com/rakudo/rakudo/issues/2358 [@LARRY][GAO][UNI][detrap][needs research] say ᱁𑛂೩᮴୫᱆᥍𑇘᱙꘠ eq 1234567890 # True
Geth rakudo: e48e750039 | (Elizabeth Mattijsen)++ | src/core/Main.pm6
Remove apparently unused/undocumented param from MAIN_HELPER

Because it is in the way of creating a sustainable API for MAIN_HELPER or whatever we want to provide there.
18:27
rakudo: f30b64709f | (Elizabeth Mattijsen)++ | src/core/Main.pm6
Revert "Remove apparently unused/undocumented param from MAIN_HELPER"

This reverts commit e48e75003909fc89d29d8fccb89d153e76378367.
Apparently this *is* being used???
18:56
19:18 ufobat___ joined 19:19 brrt joined, p6bannerbot sets mode: +v ufobat___
lizmat .ask I'm thinking of adding a IterationBuffer.List and Array method 19:19
yoleaux lizmat: What kind of a name is "I'm"?!
19:19 p6bannerbot sets mode: +v brrt
lizmat .ask jnthn I'm thinking of adding a IterationBuffer.List and Array method, which would basically do a nqp::p6bindattrinvres(nqp::create(List),List,'$!reified',$buf) 19:20
yoleaux lizmat: I'll pass your message to jnthn.
lizmat .tell jnthn s/$buf/self/ , and replace a lot of those calls throughout the setting: for clearer code and possibly smaller candidates
yoleaux lizmat: I'll pass your message to jnthn.
lizmat .ask jnthn do you think that's a good idea ? 19:21
yoleaux lizmat: I'll pass your message to jnthn.
19:24 AlexDaniel left, AlexDaniel joined 19:25 p6bannerbot sets mode: +v AlexDaniel
Geth rakudo: 35f3d83dc4 | (Elizabeth Mattijsen)++ | src/core/Main.pm6
Simplify / readablize code in MAIN_HELPER

  - change one letter variable names to meaningful names
  - let the parser return a Capture, rather than a List / Hash
19:29
19:33 dct joined, p6bannerbot sets mode: +v dct 19:36 AlexDaniel left, AlexDaniel joined 19:37 p6bannerbot sets mode: +v AlexDaniel 19:47 robertle_ joined, p6bannerbot sets mode: +v robertle_
lizmat .tell pmurias stackoverflow.com/questions/527272...js-backend 19:57
yoleaux lizmat: I'll pass your message to pmurias.
20:07 patrickb left 20:10 brrt left, travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build failed. Elizabeth Mattijsen 'Remove apparently unused/undocumented param from MAIN_HELPER 20:10
travis-ci.org/rakudo/rakudo/builds/439278398 github.com/rakudo/rakudo/compare/d...8e75003909
20:10 travis-ci left
buggable [travis build above] ☠ All failures are due to: failed make test (6 failures). Across all jobs, 6 unique test files failed. 20:11
lizmat yeah, already fixed
20:22 brrt joined 20:23 p6bannerbot sets mode: +v brrt
Geth rakudo: 8c10da6abd | (Elizabeth Mattijsen)++ | 11 files
Add IterationBuffer.List method

  - because Lists are nowadays built with $!reified being an IterationBuffer
  - it seemed handy to have
  - it makes a lot of code easier to read
  - and creates smaller candidates that potentially inline better
  - and the new call should inline pretty quickly
And apply this to the setting where appropriate.
20:24
AlexDaniel releasable6: status 20:26
releasable6 AlexDaniel, Next release in ≈10 days and ≈22 hours. 4 blockers. 0 out of 390 commits logged
AlexDaniel, Details: gist.github.com/7887977454c8f0a2a5...e368129f4a
20:42 robertle_ left
Geth rakudo: 84311b77a2 | (Elizabeth Mattijsen)++ | 7 files
s/IterationBuffer.new/nqp::create(IterationBuffer)/

IterationBuffers are a low level thing. There is no need to go through the whole Mu.new code path to create an IterationBuffer.
20:44
rakudo: 1d41213652 | (Elizabeth Mattijsen)++ | src/core/Hash.pm6
Remove one nqp::isnull straggler

Hashes now *always* have a descriptor
20:56
rakudo: 7c9b2955db | (Elizabeth Mattijsen)++ | src/core/Main.pm6
Simplify the MAIN_HELPER code some more

  - remove unnecessary variables
  - merge several if's into an if / elsif / else sequence
  - remove now unnecessary return statements
  - change a .grep to a .first, as we need a boolean anyway
  - use a Set instead of a Z=> 1 xx *
  - lose scope on loop
21:18
21:39 brrt left 21:54 stmuk_ joined, p6bannerbot sets mode: +v stmuk_ 21:56 stmuk left 22:00 cognominal-p6 left 22:03 cognominal-p6 joined 22:04 p6bannerbot sets mode: +v cognominal-p6 22:23 ggoebel left 22:34 travis-ci joined, p6bannerbot sets mode: +v travis-ci
travis-ci Rakudo build passed. Elizabeth Mattijsen 'Remove one nqp::isnull straggler 22:34
travis-ci.org/rakudo/rakudo/builds/439348606 github.com/rakudo/rakudo/compare/8...412136526b
22:34 travis-ci left 22:50 ggoebel joined 22:51 p6bannerbot sets mode: +v ggoebel 23:00 dct left 23:03 cognominal-p6 left
[Coke] .tell pmurias - github.com/rakudo/rakudo/issues/2359 - REPL borked 23:37
yoleaux [Coke]: I'll pass your message to pmurias.