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.
AlexDaniel .tell jnthn there's a huge list of your changes for the changelog and most of them are not very changeloggable separately, maybe you can write a line or three about your set of changes and stack all relevant commits there? 04:07
yoleaux AlexDaniel: I'll pass your message to jnthn.
AlexDaniel .tell jnthn just a very short summary will do 04:09
yoleaux AlexDaniel: I'll pass your message to jnthn.
lizmat I'm seeing t/spec/S32-io/file-tests.t die on its first test, am I the only one? 10:27
dogbert17 lizmat: are you on master? 10:40
lizmat yes 10:47
lizmat .ask jnthn I'm confused by 34468f11dc78c580d2 : before I was under the impression that using sigilless was better ? 10:52
yoleaux lizmat: I'll pass your message to jnthn.
dogbert17 lizmat: unable to repro I'm afraid 10:54
lizmat afk& 10:58
jnthn . 11:27
yoleaux 04:07Z <AlexDaniel> jnthn: there's a huge list of your changes for the changelog and most of them are not very changeloggable separately, maybe you can write a line or three about your set of changes and stack all relevant commits there?
04:09Z <AlexDaniel> jnthn: just a very short summary will do
10:52Z <lizmat> jnthn: I'm confused by 34468f11dc78c580d2 : before I was under the impression that using sigilless was better ?
jnthn .tell lizmat It depends. If you have a type constraint and that type is *not* Iterable then it generates code that strips off the Scalar container and stores it uncontainerized. That means nothing later on has to decont it again. Plus code-gen improved of late to emit just one decont, not multiple, in this case. 11:29
yoleaux jnthn: I'll pass your message to lizmat.
jnthn .tell lizmat If the parameter is unconstrained on type then \foo is probably faster because it won't defensively created a readonly Scalar wrapper to make sure itemization is retained. 11:31
yoleaux jnthn: I'll pass your message to lizmat.
jnthn releasable6: status
releasable6 jnthn, Next release in ≈7 hours. 2 blockers. 314 out of 448 commits logged
jnthn, Details: gist.github.com/2c37dae34b82570cbc...0382d85f20
jnthn Darn, I was helping that'd tell me where the changelog is... :P 11:32
timotimo jnthn: github.com/rakudo/rakudo/wiki/ChangeLog-Draft if you haven't found it yet 11:46
jnthn I hadn't, but I wrote up some entries :) 11:49
.tell AlexDaniel Updated ChangeLog-Draf, hope that helps :) 11:54
yoleaux jnthn: I'll pass your message to AlexDaniel.
AlexDaniel jnthn: cool, thanks! Though these were written without commit shas? 12:38
yoleaux 11:54Z <jnthn> AlexDaniel: Updated ChangeLog-Draf, hope that helps :)
jnthn AlexDaniel: Yeah, I didn't know the ChangeLog did that, and didn't really feel like doing the whole task again when I found out. :/ 12:47
Geth rakudo/hllbool: c82378925f | (Stefan Seifert)++ | 2 files
Remove obsolete p6settypes extop

Since the scalar refactor we don't actually need Mu and Any anymore in extops. All that remained in p6settypes was the initialization of some static strings which can easily be done in p6init.
14:46
rakudo/hllbool: 9d7ff1334c | (Stefan Seifert)++ | 2 files
Replace p6decodelocaltime extop with a native call

Usage of the extop pre-dates NativeCall. It was only called in a single place and only once, so it's not performance sensitive.
14:48
Geth rakudo/hllbool: 9e915e3221 | (Stefan Seifert)++ | 2 files
Replace p6decodelocaltime extop with a native call

Usage of the extop pre-dates NativeCall. It was only called in a single place and only once, so it's not performance sensitive.
14:52
nine 2 more extops down... 14:53
timotimo nice. 14:55
[Tux] hears bagpipes … 15:25
Rakudo version 2018.06-448-g34468f11d - MoarVM version 2018.06-428-g727767006
csv-ip5xs0.939 - 0.942
csv-ip5xs-208.009 - 8.014
csv-parser24.832 - 24.994
csv-test-xs-200.417 - 0.455
test8.627 - 10.545
test-t2.083 - 2.186
test-t --race0.918 - 0.943
test-t-2037.389 - 38.810
test-t-20 --race12.140 - 12.330
lizmat, ^^^^^ :)
timotimo that looks good 15:28
fake_space_whale I am reading some rakudo nqp and I am having trouble finding documentation for what "<!!before" means. Does it mean the same thing as "<?before" ? 17:11
this is inside a grammar
Geth star: TisonKun++ created pull request #119:
Bump release version
17:26
jnthn fake_space_whale: Yes, except that <?before ...> treats ... as the declarative prefix for LTM purposes and then that's the end of the declarative prefix, while <!!before ...> is ignored in that regard 17:31
fake_space_whale Thank you 17:32
What does LTM mean? 17:36
Geth star: cc2e402a2e | 陈梓立++ (committed using GitHub Web editor) | README
Bump release version
17:39
star: cd6f392c87 | (Steve Mynott)++ (committed using GitHub Web editor) | README
Merge pull request #119 from TisonKun/patch-1

Bump release version
pmurias nine: re removing p6decodelocaltime does that work on windows? 17:43
yoleaux 17 Aug 2018 22:32Z <tyil> pmurias: anything can potentially cause a shitstorm, so by that definition nothing should ever be published under any circumstances
pmurias nine: the extopt you removed had an ifdef on windows 17:47
nine: also I don't like nativecalling into libc 17:48
pmurias nine: if we ran on a platform that doesn't have libc it will have to be implemented by putting an ugly if inside the nativecall 17:49
pmurias or an ?if 17:51
MasterDuke fake_space_whale: Longest Token Matching 18:00
fake_space_whale Thank you
pmurias nine: I see that it would work on moar on windows 18:21
Geth rakudo: ribbon-otter++ created pull request #2225:
Allow prefix calls with .:< ... > on integer literals
19:49
Geth roast: ribbon-otter++ created pull request #463:
Check .:< ... > for prefix operators on int literals
19:52
MasterDuke cool. i got the `for range` -> `while` optimization working if you add a literal integer to the range. now to generalize... 20:27
timotimo cool :)
Geth rakudo: ribbon-otter++ created pull request #2226:
Update CONTRIBUTING.md with regards to prefix `RT`
20:32
MasterDuke if i have `- QAST::Want <wanted> 10 - QAST::WVal(Int) - Ii - QAST::IVal(10) 10`, and i want to make sure i have a literal int, which thing(s) should i check against? 20:48
timotimo check if the second child is an "Ii", i guess 20:49
MasterDuke easy enough. how about if i have ($opname eq '&infix:<+>' || $opname eq '&infix:<->' || $opname eq '&infix:<*>'), any easy way to build the right QAST::Op using the $opname? i.e., i want add_i, sub_i, and mul_i respectively 20:54
timotimo not that i know of. also, don't forget to check if they come from the setting 20:57
MasterDuke yeah, i have that already 20:58
timotimo i mean in theory you could use optimize_op for that i guess? that might constant-fold it for you
MasterDuke guess i'll just build a little hash
timotimo i mean you could perhaps have it like $opname eq '&infix:<+>' && $opop := "add_i" || ... 20:59
lizmat . 21:13
yoleaux 11:29Z <jnthn> lizmat: It depends. If you have a type constraint and that type is *not* Iterable then it generates code that strips off the Scalar container and stores it uncontainerized. That means nothing later on has to decont it again. Plus code-gen improved of late to emit just one decont, not multiple, in this case.
11:31Z <jnthn> lizmat: If the parameter is unconstrained on type then \foo is probably faster because it won't defensively created a readonly Scalar wrapper to make sure itemization is retained.
MasterDuke timotimo: do i need to worry if e.g., the range values + the offset get into bigint territory? 21:29
timotimo hm, i think so? 21:36
does the current optimization stop outside of big int range?
MasterDuke it doesn't look like there are any checks 21:37
timotimo perhaps you can make your new code work completely before the other code does anything
also, if you're in bigint territory, you can't create an QAST::IVal from it 21:38
MasterDuke github.com/rakudo/rakudo/blob/mast...1112-L1126
jnthn I vaguely recall that it looked for a QAST::Want and took the int part of that, the existence of which'd imply it's in range and not need the check 21:39
But it may have change some and/or I may misremember :)
MasterDuke github.com/rakudo/rakudo/blob/mast...2239-L2307
timotimo github.com/rakudo/rakudo/blob/mast....nqp#L1027 21:41
check this
MasterDuke ah, just there now
jnthn ah, yes: github.com/rakudo/rakudo/blob/mast....nqp#L1030
MasterDuke afk for a bit, but i'll have to incorporate similar checking when i get back 21:42
lizmat still seeing this: Failed to create symlink called '/Users/liz/Github/rakudo.moar/symlink-existing' on target '/private/var/folders/7_/ndrzv7y14fj0zxjx3fy0hfjm0000gn/T/perl6_roast_file_tests_t_line1_0_33639232875052451534631334': Failed to symlink file: file already exists 22:30
in block <unit> at t/spec/S32-io/file-tests.t line 27
:-(
jnthn Not here fwiw, so maybe platform specific... 22:34
lizmat MacOS 22:37
timotimo lizmat: does that happen reliably? 23:54
lizmat 100%
timotimo can you use that mac os equivalent of strace on that? 23:55
is it dtrace?
ok, dtruss seems to give you what you need, but it might have bo se set suid root to work?
lizmat dtrace: failed to execute perl6: dtrace cannot control executables signed with restricted entitlements 23:57
timotimo uhh? 23:58
perhaps you have to cat (which perl6) and put dtruss in front of the commandline there?
lizmat this is quickly becoming too complicated for me at this late hour on a whiskey tasting filled day 23:59