00:18 MasterDuke joined 01:22 klapperl joined
samcv ok it's a regression this issue with zef taking up all my ram 04:50
i tried 2018.05 and there's no issues
definite blocker
releasable6: status 05:26
releasable6 samcv, Next release in ≈5 days and ≈13 hours. 3 blockers. 0 out of 78 commits logged
samcv, Details: gist.github.com/859a498b2dc26f3978...bb8aa1d4cc
samcv made an issue for it 05:30
nine Installs just fine on rakudo commit cbb5ee5f96a03614c03c5766f1f748c715876fe9 06:06
samcv not at all for me :\ though how much memory does it take and what platform 06:13
i've done multiple fully clean installs. same issue, but when i tested 2018.05 there was no issue
nine ~800 MiB on openSUSE Tumbleweed 06:14
So commit cbb5ee5f96a03614c03c5766f1f748c715876fe9 is already broken for you?
samcv yes
06:17 skids left
nine Odd. But at least it's a small enough range to not be a hassle to bisect 06:18
Gotta run now
06:39 robertle_ joined 07:07 [TuxCM] joined 07:56 [TuxCM] left
lizmat Files=1239, Tests=76361, 316 wallclock secs (15.87 usr 5.41 sys + 2201.55 cusr 215.87 csys = 2438.70 CPU) 08:12
jnthn: Metamodel::Primitives are not used in the core setting 08:21
there *Is* a spectest for it, but it feels to me that actually doesn't belong in roast ? 08:23
OTOH, Metamodel::Primitives *is* documented, so I guess it is part of canonical Perl 6
08:40 brrt joined
brrt \o 09:12
jnthn lizmat: The whole point of it was to provide an implementation-independent way to be able to write custom meta-objects, either from scratch or based on built-in ones. Prior to it, the only way to do a bunch of things in that area was `nqp::` ops 09:20
It'd feel a bit odd for it to need a `use` when all the other Metamodel:: stuff is just available in CORE.setting 09:22
lizmat jnthn: no problem: I noticed it wasn't used in the core, and not touched since 2014, so initially I expected it to be dead code 09:35
09:38 brrt left 10:26 brrt joined 12:02 brrt left 12:09 lizmat left 12:10 lizmat joined
Geth nqp: 7e98b7eabd | (Jonathan Worthington)++ | tools/build/MOAR_REVISION
Bump to MoarVM with speshgetattr support
12:27
nqp: version bump brought these changes: github.com/MoarVM/MoarVM/compare/2...8-g7a68b48
8b04876379 | (Jonathan Worthington)++ | t/moar/52-pluggable-spesh.t
12:31 j3nnn1 joined
tbrowder_ hi, #perl6-dev 12:34
i would like opinions on handling pod declarator blocks. currently text is normalized into one paragraph which, in many cases, seems to destroy the author’s intent. that is the way it is currently specced. 12:37
i would like to see that changed to keep the author’s line structure so it would more closely resemble something like the lists used in other code doc systems. 12:39
we could maybe define paragraphs with blank lines and lists with single char beginnings such as ‘+’, etc. 12:42
See this gist for an example: gist.github.com/tbrowder/e9badf205...2cb310b8f0 13:00
13:07 Tison joined
Tison github.com/rakudo/rakudo/issues/1893 13:15
Pod6 is more like comments in Perl 6 world, and in Java world, these things are manipulated by `javadoc`, the compiler `javac` treats them as "normal" comment 13:16
github.com/rakudo/rakudo/blob/mast...l6/Pod.nqp
now our code for parsing Pod6 generates over 1000 lines, and for the CORE language, it provides $=pod and .WHY and something like =data 13:17
but do they really need to be as a part of internal tasks? I prefer make it a plugin, like what javadoc for java, maybe it's called Pod6::Extractor or so 13:19
13:21 ExtraCrispy left 13:22 ExtraCrispy joined
tbrowder_ Tison: thnx for reply. Making pod a slang would be helpful, but it’s almost one as it is now in effect. My suggestion merely changes the after-parse implementation, and it would be up to the renderers to present it in final format. 13:26
Tison throwder_: thanks for your works on Pod6 tables ^_^ 13:28
tbrowder_: thanks for your works on Pod6 tables ^_^
lizmat notable6: weekly 13:29
notable6 lizmat, 10 notes: gist.github.com/58f889656f5a46fca2...bfc139135e
tbrowder_ As I understand it, to make a separate pod slang is mainly to separate pod grammar from code grammar, and ensure proper cursor positioning while jumping from one to the other.
Tison: you’re very welcome, and thnx for the appreciation! 13:30
Most of the code now in Pod.nqp I believe would stay as is with a separate Pod slang. 13:32
AlexDaniel weekly: Zoffix++ added redirection for links to IRC logs (#perl6 channel only) ( rakudo.party/post/How-To-Make-Old-...Links-Work ), AlexDaniel++ worked on making the same work for #moarvm, #perl6-dev and even previously-used #p6dev channels (should be available next week) 13:33
notable6 AlexDaniel, Noted!
AlexDaniel lizmat: ↑ :)
lizmat :-) 13:38
Tison tbrowder_: not that easy, need more efforts on it, Grammar.nqp also has supports for parsing Pod6 detailed. Thus I leave it as a proposal and want it attract more attention 13:42
13:48 Kaiepi left 13:49 Kaypie joined, Kaypie left, Kaypie joined
Geth nqp: cf97a39049 | (Jonathan Worthington)++ | src/how/NQPClassHOW.nqp
Toss two dead attributes in NQPClassHOW
13:53
rakudo/rescalar: ff952e6012 | (Jonathan Worthington)++ | 5 files
Eliminate p6scalarfromdesc ext-op for a desugar

No semantic change here, just a change in how we achieve it. This is both potentially slower (sequence of VM instructions rather than a C op) but potentially faster (spesh can eliminate a branch that it could not when it was just calling a chunk of opaque C code).
This does also make the slight improvement that we only ever create one default container descriptor now, whereas before we might have had many copies of it serialized across different precompilations.
14:07
jnthn And so a probably week long refactor begins :) 14:10
lizmat jnthn: something I can do to help ?
jnthn Make the weather cooler so I can think clearer? :) 14:11
lizmat ah, that... hmmm... 14:12
jnthn :) 14:13
I'm effectively re-doing Scalar internals so spesh can understand what's happening, so that we have less C code, and so we can avoid a closure clone on the first assignment into each array/hash slot, plus make every Scalar a pointer smaller as an extra win 14:14
tbrowder_ Tison: yes, not so easy. And I think grammar handling of pod declarator blocks may be better remaining with main grammar since it’s tied so closely to code, 14:17
.
lizmat jnthn: so you're going to get rid of the $!whence attribute ? 14:19
jnthn Yes, and fold that functionality into what $!descriptor points to 14:20
The basic principle is that we'll be able to use descriptor identity as a single spesh guard for both type check and whence check and thus hopefully often be able to elide both 14:21
lizmat ah, that makes sense
that would be quite a memory saving, one pointer less for *each* scalar :-) 14:22
jnthn Indeed, for a 1000 element array on 64-bit it's 8KB off :)
I've got quite a lot of motivations for doing this, but one of them is that spesh will be able to see that a Scalar assignment is really just an attribute bind 14:23
lizmat gotcha! 14:24
jnthn Also to eliminate type checks on assignment, which we can't do today
But it being able to understand "oh, it's just a bind" is something of a pre-req for meaningfully doing escape analysis and related opts usefully 14:25
lizmat jnthn: appears your spesh plugin merge broke zef (at least wrt to Inline::Perl5) :-(
jnthn The main opt we want being called (either confusingly or suitably, I'm not sure) scalar replacement :)
lizmat github.com/rakudo/rakudo/issues/19...-396259171
jnthn: sounds exciting :-) 14:26
jnthn Hmm, that's interesting 14:27
tbrowder_ Can Grammar.nqp be broken into separate files for the slang grammars. Likewise for Actions.nqp? 14:28
lizmat tbrowder_: they would have to live as a single compilation unit at one point, so we would need a merge script for them 14:31
tbrowder_ it would be very useful for working with a new slang imho. 14:32
nine lizmat: Inline::Perl5 makes good use of Metamodel::Primitives :) 14:34
lizmat yeah, I figured later :-)
tbrowder_ lizmat: good idea! i can roll my own until/if such is available with the build tools. 14:35
lizmat I was just surprised to see a source file that hadn't been touched in 3.5 years :-)
jnthn tbrowder_: There's already a general "concat these things" tool in the Rakudo repo that we use for the metamodel and CORE.setting 14:40
So it's mostly a matter of modifying the makefile templates to use it, I guess 14:41
14:46 robertle_ left 15:12 [TuxCM] joined
jnthn D'oh. So we've had a long-standing bug where a Proxy was not subject to the usual rules around decontainerization 15:20
Which I've got a fix for, but also causes spectest regressions 'cus they depended on the bug
Geth nqp: 333db31ed4 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Provide non-decont forms of some object ops

To make it easier to implement Perl 6 Scalar related things.
15:24
rakudo/rescalar: 8e4611a633 | (Jonathan Worthington)++ | 3 files
Replace p6recont_ro C ext op with a desugar

This results in slightly larger code (though this is not a commonly occurring thing), but means that spesh can see into it further and hopefully better optimize it.
This also fixes the longstanding bug with recont_ro mishandling a Proxy. Sadly, that in turn regresses spectests.
15:26
lizmat notable6: weekly 15:41
notable6 lizmat, 11 notes: gist.github.com/70f0eb579526f765e2...7ea72bb47d
lizmat reportable6: 2018-06-04T00:00:00Z 2018-06-11T00:00:00Z 15:43
reportable6 lizmat, Couldn't find a snapshot for 2018-06-11T00:00:00Z (try 「list」 command to see what's available).
lizmat reportable6: list
reportable6 lizmat, gist.github.com/c53e4010bae0775963...368bb6c1f1
15:43 skids joined
lizmat AlexDaniel: what am I doing wrong ? 15:46
Geth rakudo/rescalar: c73fc50d1a | (Jonathan Worthington)++ | 5 files
Replace p6var C ext op with a desugar

Plus explicitly do what it would do in a couple of use sites elsewhere, and then replace uses of it with the new *_nd ops in some other spots. Again, gives spesh some visibility into the op, and will more easily cope with the upcoming Scalar changes.
15:53
lizmat reportable6: 2018-06-04T00:00:00Z 2018-06-10T00:00:00Z 15:54
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat, gist.github.com/586197e949386142ec...1b1d6546bb 15:55
AlexDaniel uhhh but that's yesterday 15:59
16:00 reportable6 left
AlexDaniel well I guess it's good enough 16:00
16:00 reportable6 joined
AlexDaniel lizmat: you're doing everything right, I think the job simply failed 16:00
I have never seen that before
reportable6: 2018-06-04T00:00:00Z 2018-06-10T12:00:00Z 16:02
yoleaux 16:01Z <Zoffix> AlexDaniel: since you're in contact with the colabti person maybe you could mention to them: I noticed the "today's log" URL (e.g. colabti.org/irclogger/irclogger_log/perl6 ) has an LTA behaviour. When a new day just starts, that page says "No data for the day" or whatever and there's no way to view log previous day. Would be nice to at least have that link there.
reportable6 AlexDaniel, OK, working on it! This may take up to 40 seconds
AlexDaniel, gist.github.com/60d69b6d7872e8b704...fc230443e9 16:03
tbrowder_ jnthn: looking at the rakudo makefiles.in it looks like src/Perl6/Actions.nqp is already prepped to have more than one file concatenated into one file if need be, so the same could be done with Grammar.nqp right now and it shouldn’t change the build results. 16:17
jnthn tbrowder_: Sounds like, yes 16:26
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2018/06/11/...-redirect/
16:27 [TuxCM] left
jnthn lizmat++ 16:31
[Coke] lizmat: I *just* posted that TPF link, you're fast. :) 16:37
lizmat [Coke]: #news on irc.perl.org helps :-) 16:38
jnthn grmbl, I fixed the other Proxy return mis-handling
And I think we're about to find we have some missing is rw / is raw in CORE.setting
lizmat jnthn: I wouldn't be surprised... 16:39
so any handling of Proxy should be checked ?
jnthn Yeah 16:43
Hmm
I've got an incredible number of spectest fails from my re-do of p6decontrv
hah, that's 'cus I mis-ported the C :) 16:52
lizmat
.oO( mis-porting, is that a kind of misbehaving? )
16:55
jnthn OK, good, 6 failing spectest files is a lot better than 60, especially when I know 2 of them are due to wrong tests 16:56
Geth rakudo/rescalar: 322765c234 | (Jonathan Worthington)++ | 3 files
Add some missing `is rw`
17:04
jnthn We probably want to code audit for more than the spectest finds 17:05
lizmat I guess specifically pull-one's we need to check 17:08
jnthn: shouldn't that be "is raw" instead of "is rw" ? 17:10
jnthn Hm, can you find into a sethash?
If so then yes
lizmat find into a SetHash ?
jnthn But I didn't think you could, so when'd it not be rw?
*bind :)
lizmat hmmm... 17:11
I thought "is raw" was about not deconting ?
jnthn It is. rw is also about not deconting but also means that we expect the thing we return to be rew 17:17
*rw
Whereas `is raw` doesn't care whether it's rw or not
Either is fine, and I think they may well share an implementation at present
Turns out my other regression was because handled in Failure was not marked `is rw`, but it manifested in an interesting way :) 17:18
lizmat m: my $s = SetHash.new(my $a = 42); dd $s.values.iterator.pull-one = False; dd $s # so this broke, jnthn? 17:22
camelia Bool::False
SetHash $s = ().SetHash
lizmat or ratherL
jnthn Yeah, that looks like a golf
To explain: previously we did the decont in C code and (wrongly) only did it for a Scalar, not a Proxy. We had two such places. 17:23
Geth rakudo/rescalar: 389e95e524 | (Jonathan Worthington)++ | src/core/Failure.pm6
Add missing `is rw` on Failure.handled
17:24
lizmat afk for a bit&
Geth rakudo/rescalar: 34a3b48e4b | (Jonathan Worthington)++ | 4 files
Implement p6decontrv as a desugar, not an ext op

This fixes its behavior around Proxy, which may have some fallout for code that didn't mark things `rw` where it should have. Again, gives larger code size, but means spesh can see inside of the op and work on it. We can probably use a spesh plugin to at least somewhat have our cake and eat it (smaller code size, and spesh opts).
17:27
jnthn Well, that gets rid of a bunch of the C ext-ops that were tightly coupled to the Rakudo Scalar's current structure 17:29
And fixes bugs around Proxy handling
And probably slows things down a bit in the immediate
(The last patch probably throws the inlining off course a bit) 17:30
Next will be moving the assignment logic itself into Perl 6 code
Well, NQP 17:31
And then I can get to the whence/descriptor changes, and then the spesh plugin use will come after that :)
But enough for today :)
18:15 brrt joined
brrt \o 18:16
18:35 ExtraCrispy left
tbrowder_ please, what make test target is used for the rakudo release? 20:03
m-spectest6?
nine tbrowder_: I'm sure it involves a stresstest 20:04
tbrowder_ nine: thnx, do you know which stress target? 20:06
timotimo github.com/rakudo/rakudo/blob/mast..._guide.pod - see step 13 20:10
20:10 Kaypie left 20:11 Kaypie joined
tbrowder_ timotimo: thnx! 20:14
[Coke] I'll be at TPC next week, looking forward to socializing! 20:22
20:53 brrt left 21:20 AlexDaniel left, AlexDaniel joined 21:23 AlexDaniel`` left, AlexDaniel`` joined 21:35 robertle left
MasterDuke samcv: any changes needed for Perl 6 to support Unicode 11? blog.unicode.org/2018/06/announcing...n-110.html 22:30
AlexDaniel m: 0x1F973.uniname.say 22:33
camelia <reserved-1F973>
22:42 Kaypie left 22:43 Kaiepi joined
Geth rakudo: tbrowder++ created pull request #1914:
Prepare for upcoming Pod slang
23:25
23:30 j3nnn1 left 23:34 lizmat left