00:27 frost-lab joined 01:20 Xliff left 02:20 linkable6 left, evalable6 left 02:21 evalable6 joined 02:22 linkable6 joined 03:56 Xliff joined 04:40 Xliff left 05:14 Xliff joined 05:19 Xliff left 06:37 sena_kun joined
[Tux] Rakudo v2020.10-1-g746c5998c (v6.d) on MoarVM 2020.10-3-g5c791a481
csv-ip5xs0.852 - 1.745
csv-ip5xs-208.583 - 9.096
csv-parser28.927 - 29.193
csv-test-xs-200.397 - 0.400
test8.536 - 9.015
test-t1.968 - 2.029
test-t --race0.873 - 0.904
test-t-2034.632 - 40.818
test-t-20 --race10.768 - 11.082
Geth nqp: 41bbb997f6 | (Elizabeth Mattijsen)++ | docs/ops.markdown
nqp::currentthread doesn't take any args

Also consistify the reference to the vm_thread object
rakudo: 59d140bfc3 | (Elizabeth Mattijsen)++ | src/core.c/Any.pm6
Give dd support for BOOTThread objects

aka vm_thread objects in NQP documentation.
09:21 Altai-man joined 09:24 sena_kun left
lizmat notable6: weekly 09:35
notable6 lizmat, 2 notes: 2020-10-24T17:52:13Z <El_Che>: updated rakudo-pkg and support for Ubuntu 20.10 ; 2020-10-25T08:39:24Z <El_Che>: linux 2020.10 packages: github.com/nxadm/rakudo-pkg/releas...g/v2020.10
nwc10 Altai-man: as to commit 558fa31e7d689edd669ffb2cb6e2b253c8697e9e on Rakudo on t/04-nativecall/02-simple-args.t 11:20
linkable6 (2018-08-21) github.com/rakudo/rakudo/commit/558fa31e7d Skip test that fails with clang
nwc10 I think that the problem is actually a bug in dyncall 11:21
certainly dyncall doesn't correctly cope with unsigned char and unsigned short on sparc64
(doesn't pass arguments in in registers correct as per the documented ABI) 11:22
Geth rakudo: e6787d77c0 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Implement the prefix:<||> operator in postcircumfixes

  - for 6.e and later only
  - described by design.raku.org/S09.html#line_419
  - sort of implemented by Wenzel P.P. Peppmeyer in Slippy::Semilist
  - does not actually add a prefix operator: it's just a double slip
  - manipulates the AST in case of a postcircumfix, to select the ; variant
  - the postcircumfix:<{; }> variant does the right thing for prefix:<||>
rakudo: 48b1b20fa3 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Move version test later

Not sure what is the cheaper test, but it possibly expresses the intent better. AlexDaniel++
nwc10 and they have a test in dyncall that comments about PPC32 that seems to suggest that they have the same failing there.
rakudo: 41d8956ce1 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/Perl6/Actions.nqp
Merge pull request #3953 from rakudo/prefix-pipe-pipe

Implement the prefix:<||> operator in postcircumfixes
lizmat hmmm.. I probably should have squashed that :-( 11:23
Altai-man nwc10, ? I am not sure what this case implies for me.
nwc10 you wrote a comment in that commit 11:24
I think I know more than you did back then,.
Altai-man ?
nwc10 commit 558fa31e7d689edd669ffb2cb6e2b253c8697e9e
linkable6 (2018-08-21) github.com/rakudo/rakudo/commit/558fa31e7d Skip test that fails with clang
Altai-man I see no comments on this commit, no?
0 comments on commit 558fa31
nwc10 the comment contains code comments
that sort of comment
the good old fashioned thing. Not metadata :-) 11:25
Altai-man I see.
nwc10 aha, actually, by 2018, Clang will be x86_64 won't it?
I'm ages out of date here
been summoned upstairs...
Altai-man For the record, I am not AlexDaniel.
SO maybe wrong ping?
nwc10 yes, sorry, wrong ping 11:27
Altai-man Phew, I was confused for a moment. :)
nwc10 yes, I am completely confused
yes, it was
Altai-man np 11:28
nwc10 AlexDaniel` is AlexDaniel I assume
AlexDaniel` yeah, it might be a bug
nwc10 and my tab completion is wrong
and I don't notice this
and apparently it's lunch time
and I'm trying to figure out encoding bugs now
AlexDaniel` the test was already skipped on some platforms so I just made it consistent, but that doesn't mean that the test is wrong :) 11:29
so if you have an idea on what's wrong and how to fix that, that's fantastic! Feel free to unskip it
nwc10 upstream dyncall needs changes 11:34
11:41 patrickb joined
patrickb nwc10: From my experience the dyncall devs are friendly and responsive. In the past I just wrote an email to the addresses listed on dyncall.org/contact . So don't hesitate to contact them should the need arise. 11:45
Altai-man confirms 11:46
lizmat notable6: weekly reset 12:00
notable6 lizmat, Moved existing notes to “weekly_2020-10-26T12:00:50Z”
Geth rakudo/nqpif2ternary: 60 commits pushed by 9 authors
review: github.com/rakudo/rakudo/compare/1...9a80e1989f
13:00 donaldh joined
lizmat that was just solving a merge conflict 13:01
And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/10/26/2020-...-and-star/ 13:18
Altai-man lizmat++ 13:19
nwc10 at the moment I can avoid the bug by buildng with libffi instead. Given that I seem to have a stack of different things to untangle, I'll get back to it once tests are passing 13:21
and the code is cleaner
13:22 sena_kun joined 13:24 Altai-man left
Geth rakudo: b1912d9fcf | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | 58 files
Replace all simple nqp::if(42,foo,bar) with ternaries (#3957)

If memory serves me well, about 1.5 years ago, optimizations in Rakudo made the construct:
   42 ?? foo !! bar
... (12 more lines)
linkable6 RAKUDO#3957 [closed]: github.com/rakudo/rakudo/pull/3957 Replace all simple nqp::if(42,foo,bar) with ternaries
[Coke] lizmat: thanks for poking on the nqp opcode doc test. 13:41
lizmat [Coke] yw :-)
13:41 patrickb left
Geth nqp: 11f88e9373 | Coke++ | docs/ops.markdown
Documentation - fix formatting on decont
lizmat [Coke] and thank you for fixing my formatting booboos 13:42
[Coke] no worries, it's a little esoteric. 13:43
happy to get any kind of docs in place and I can do cleanup
lizmat ok, I have some more lined up after some research :-)
[Coke] nqp: nqp::js('wtf'); 13:44
camelia Running JS NYI on MoarVM
at <tmp>:1 (<ephemeral file>:<mainline>)
from gen/moar/stage2/NQPHLL.nqp:1945 (/home/camelia/rakudo-m-inst-2/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:2150 (/home/camelia/rakudo-m-inst-2/share/nqp/li…
[Coke] ... why do we even have that?
lizmat git blame maybe reveals that ?
[Coke] We seem very happy to have specific opcodes per VM, so why add one that just dies on purpose?
timotimo so that the same code will compile on multiple backends without the #?if moar stuff 13:45
lizmat well, it is a NYI, so maybe the idea is to have it be supported at some point ?
[Coke] was added by pmurias
timotimo: that... is an acceptable reason.
but if we're going to do it, maybe we should do better. :) 13:46
lizmat timotimo: but that just turns a compile time error into a runtime one ?
timotimo correct
but the mere presence of the op somewhere doesn't mean it will die at runtime
since it doesn't necessarily have to be called
[Coke] (You can see a lot of vm-specific opcodes in the docs (and more in the 'not ok's of the doc test output)
13:46 sena_kun left
[Coke] is there an easy way to sort in NQP? 13:50
(no opcode, no method on NQPArray...)
lizmat not to my knowledge
[Coke] ok. (I ended up just lifting rakudo's "trim" into the nqp test when I needed it. 13:51
Does make me want to rewrite the whole test in Raku (which I think would be fine, but also work)
13:57 lucasb joined 14:00 frost-lab left 14:38 |Tux| left 14:50 domidumont joined
[Coke] ... huh. was a lot easier this time around. Definitely got stuck the last time I tried this. 15:11
(the raku version is much slower, however.)
Geth nqp: df6bdceb59 | Coke++ | t/docs/opcodes.t
Convert test to Raku
donaldh I'm working on updating the macOS homebrew formula for rakudo-star but there's a problem. The brew CICD checks for leakage into the built binaries: "Files were found with references to the Homebrew shims directory" 15:31
And right enough, for 5 modules that get installed, the entire ENV gets embeded in the precomp bytecode files. 15:33
The thing in common between the files seems to be "use Test" 15:38
lizmat nine ^^^ 15:39
donaldh Easy to reproduce with a file that just contains "use Test": gist.github.com/donaldh/02f62b4fd6...7fec3b704d 15:49
Geth nqp/master: 6 commits pushed by Coke++ 15:53
donaldh A bit of dissection and I seem to have narrowed it down to this commit: github.com/rakudo/rakudo/commit/30...1c503cece5
Removing "my %ENV := %*ENV;" eliminates the problem environment strings. 15:55
lizmat that would have been my suggestion 15:56
too bad you didn't try last week :-(
donaldh I don't understand why it has that effect though. 15:57
lizmat donaldh: could you please make an issue for this 15:58
especially since the fix appears to be easy, *and* not understood
donaldh: also, could you try *without* the binding ? 15:59
aka: my %ENV = %*ENV;
donaldh Yes, I can do.
Possibly related and probably not desirable: the value of TMPDIR is included in ~150 bytecode files. That's the randomised TMPDIR for the login session that was active during compile. 16:01
lizmat was "use Test" involved in that ? 16:02
donaldh No, that's just an observation I made along teh way. 16:05
lizmat donaldh: perhaps it's also time to remove the PERL6_... alternatives 16:11
16:22 sena_kun joined
nine Well I think it's pretty clear why the environment lands in the precomp file. A "use Test" will load that module and run its mainline. Any objects created during this mainline run will be added to the serialization context of the current compilation, i.e. Test's user. So Test's user is the actual owner of this my %ENV 16:24
So the fix will be to just not create any new reference to the environment. Yes, accessing %*ENV is slower, but we do it 4 times max. Won't cost you a millisecond 16:26
lizmat in a spectest, that's still be more than a second, though, which was the reason I did this 16:27
nine I wonder if the mainline's runtime is even the right time for initializing those variables. 16:30
Geth nqp: b15a2b9e8d | Coke++ | docs/ops.markdown
Document stringify

  (was previous in as strify which was incorrect and removed)
nqp: 20940b6071 | Coke++ | t/docs/opcodes.t
raku autovivifies

Remove code that was needed in nqp version
[Coke] lizmat: down to 223
(only 204 of those are for Moar)
lizmat :-)
Geth nqp: 0ffba885f3 | (Elizabeth Mattijsen)++ | docs/ops.markdown
Change Perl 6 reference to Raku
lizmat nine donaldh will be afk for a few hours, will look it again when back 16:42
nine: you mean it should run at INIT time, or ENTER time ? 16:44
nine It should run when we're actually interested in running tests. Modules that are just after Test's exported functions don't need this code run during their compilation at all. 16:50
16:52 domidumont left 18:01 travis-ci joined
travis-ci NQP build passed. Elizabeth Mattijsen 'Change Perl 6 reference to Raku' 18:01
travis-ci.org/Raku/nqp/builds/739033044 github.com/Raku/nqp/compare/20940b...fba885f362
18:01 travis-ci left
[Coke] ... did we just get travis back and then lose it? 18:09
nwc10 I *thought* that it was one of those bots that did a "drive by" to report things 18:10
[Coke] didn't report any of my changes.
nwc10 yes, good point
oh, passed
[Coke] so maybe all mine were fails? Iunno 18:11
nwc10 did it think that its previous state was "Failed"
lizmat nine: that's basically saying that every test sub run should do the check ? 18:55
Geth roast: a7fb735f45 | (Elizabeth Mattijsen)++ | S24-testing/8-die_on_fail.t

the new name!
20:07 Altai-man joined 20:10 sena_kun left 20:17 MasterDuke joined
nine lizmat: yeah...sucks, right? 20:19
Some time in the past 10 years we should have given a more rakuish Test some thought 20:20
lizmat well, if we're going to go that way, I'd say: indeed, let's rethink Test internals 20:21
nine I think as a quick workaround that keeps performance up is to just clean the %ENV reference after using it 20:24
lizmat well, we could do some nqp::null / nqp::ifnull 20:27
tricks, that's pretty cheap
Geth rakudo: 7a2264b4dc | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp
Be a little more accepting in %h{|| ... } syntax
roast: 7c85f7429d | (Elizabeth Mattijsen)++ | S32-hash/multislice-6e.t
Add %h{|| ... } tests
20:45 ugexe left, MitarashiDango[m left, ugexe joined 20:52 MitarashiDango[m joined
Geth rakudo: dd0a2a15c6 | (Elizabeth Mattijsen)++ | lib/Test.rakumod
Don't shortcut access to %*ENV

It is causing problems in some situations wrt to pre-compilation. Also rename some perl6 related variable uses
lizmat and that concludes my hacking for today 20:59
20:59 El_Che left 21:01 sxmx joined
donaldh lizmat++: thx for the change, you beat me to creating an issue (I was afk) 21:01
nwc10 is there any official easy way to determine at runtime whether we're running on a little endian or big endian platform? 21:11
(without hacks. I can think of hacks)
moritz I didn't find that info in *$VM.config, which is a bit disappointing 21:15
nwc10 good, so I didn't miss anything there :-/ 21:16
MasterDuke m: say Kernel.endian 21:17
camelia LittleEndian
moritz MasterDuke++
MasterDuke though i haven't run that on a bigendian system, so no idea what it will output there 21:18
nwc10 OK, you don't get any clue about that one frmo $*KERNEL.raku
moritz m: say Kernel.endian.^name 21:19
camelia Endian
nwc10 BigEndian
moritz m: say Endian::.keys
camelia (NativeEndian BigEndian LittleEndian)
MasterDuke m: .name.say for Kernel.^methods
camelia name
22:03 Xliff joined 22:07 vrurg left 22:12 vrurg joined 22:43 Altai-man left