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:02 MasterDuke left 00:12 lizmat joined 00:38 MasterDuke joined 00:45 lizmat left 00:46 perlpilot joined 01:01 Kaiepi left, Kaiepi joined 01:51 perlpilot left 02:25 lizmat joined 02:27 lizmat left 02:32 lizmat joined
MasterDuke .ask timotimo can you think of a reason a profile just wouldn't get written? i'm attempting to --profile-compile the rakudo build and it takes a long time (~16m) and finishes without any sort of error, but it never even starts the 'Writing profiler output...' stage 02:40
yoleaux MasterDuke: I'll pass your message to timotimo.
lizmat MasterDuke: fwiw, I've been never been able to do that 02:47
MasterDuke lizmat: i was last able to in september of last year 02:48
i did it for a couple release in a row 2016.12 - 2017.09. but then it stopped working, with various different errors 02:50
fewer errors now, but still no profile
lizmat you were luckier than me 03:25
MasterDuke: BTW, I forgot to explicitely mention your commit bit in the last P6W
it fell through the cracks :-( 03:26
will do it in the next!
MasterDuke i had to use a (free) google vm with the ram increased a lot 03:28
lizmat: no worries 03:30
03:36 Kaiepi left, Kaiepi joined 04:23 Kaiepi left, Kaiepi joined
lizmat hmmmm 04:28
so I just created a new dir with "mi6 new", and all of a sudden the dir contains a subdir "inst#/Users/liz/.perl6/precomp/" 04:29
I guess that's mi6 not handling the home directory spec correctly ? 04:30
or is this a more general artefact ? 04:44
this feels like a potential blocker ?
04:51 lizmat left 05:02 lizmat joined
geekosaur suspect that is a recent change; [20 19:44:22] <Geth> ¦ rakudo: dcd5259a87 | (Aleks-Daniel Jakimenko-Aleksejev)++ (committed using GitHub Web editor) | src/core/CompUnit/RepositoryRegistry.pm6 05:02
05:32 ggoebel left 05:33 ggoebel joined
samcv MoarVM 2018.06 has now been released 06:09
.tar.gz has also been uploaded as well 06:10
06:15 ufobat_ joined
samcv AlexDaniel 06:16
06:49 skids left 06:54 stmuk_ joined 06:56 stmuk left 07:10 robertle joined 07:15 [TuxCM] joined 07:18 lizmat left 07:21 timotimo left 07:26 [TuxCM] left 08:00 lizmat joined 11:07 timo joined 11:27 timo is now known as timotimo
AlexDaniel samcv: yay, thanks 11:43
samcv++
lizmat: oh… huh 11:50
hoelzro: ping ↑
lizmat: can you ticket that? 11:52
12:10 committable6 left, committable6 joined
hoelzro AlexDaniel: pong 13:17
yeah, that definitely looks related to that change I made =/
AlexDaniel hoelzro: github.com/rakudo/rakudo/pull/1934...-399096218 13:22
hoelzro ah ha 13:23
ok, I'll fix that up real quick
13:25 AlexDani` joined 13:27 AlexDaniel left 13:38 AlexDani` is now known as AlexDaniel
Geth rakudo: cf10780daa | (Rob Hoelz)++ | src/core/CompUnit/RepositoryRegistry.pm6
Use HOME path for CURLI prefix

  ...rather than a "inst#$HOME/.perl6" spec
13:53
hoelzro AlexDaniel: done
lizmat: could you pull the latest and try that mi6 command again, please? 13:54
hoelzro leaves for a bit to walk the dog
AlexDaniel hoelzro++
13:55 evalable6 left, evalable6 joined
Geth roast: 9da44bb269 | (Jonathan Worthington)++ | S06-traits/is-copy.t
Test to cover `is copy` in a sub-signature

Got regressed during my Scalar container refactors, but no spectest caught the problem. Therefore, adding one.
13:58
rakudo/rescalar: 68efe75203 | (Jonathan Worthington)++ | src/Perl6/Metamodel/BOOTSTRAP.nqp
Bring a comment up to date with recent changes
14:20
rakudo/rescalar: 70bad89158 | (Jonathan Worthington)++ | src/Perl6/World.nqp
Fix regression in `is copy` in subsignatures

At least, that's what it fixes on the MoarVM backend. For JVM, it probably fixes the much more general `is copy` regression that was observed there.
14:27 MasterDuke left
lizmat hoelzro: yup, that seems to have fixed it! 15:01
15:10 robertle left
AlexDaniel awesome 15:15
Geth rakudo/release/2018.06: d06e70c3de | (Rob Hoelz)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | src/core/CompUnit/RepositoryRegistry.pm6
Use HOME path for CURLI prefix

  ...rather than a "inst#$HOME/.perl6" spec
15:17
nqp: 62ba16f6cf | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Add a wantdecont op

Which compiles its child with the want-decont flag set, thus giving the code-gen a hint it may not be able to otherwise figure out.
15:33
15:35 lizmat left
Geth rakudo/rescalar: b506292205 | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Add back compiling return value with want-decont

Which can lead to significantly better code quality in cases where the thing being returned might otherwise compile into a lexical reference.
15:35
15:46 robertle joined
hoelzro AlexDaniel: btw, should I have not pushed to master? 15:55
AlexDaniel hoelzro: no, it's ok. So you pushed to master and I cherry-picked into the release branch, no problem with that. If you pushed to the release branch, I would've merged the release branch into master instead, which is arguabbly a tiny bit better but doesn't really matter that much (in that case there's only one commit doing the change + merge, but cherry-picking results in two different commits) 16:04
16:14 lizmat joined 16:15 lizmat_ joined 16:19 lizmat left
Geth rakudo/rescalar: ef712dcb12 | (Jonathan Worthington)++ | 2 files
Introduce nqp::p6scalarwithvalue

Which saves the assignment of the default value when we're only going to immediately replace it anyway.
16:24
16:34 lizmat_ is now known as lizmat 16:37 ggoebel left 16:39 perlpilot joined 16:53 ggoebel joined
Geth rakudo/rescalar: 43680f32ce | (Jonathan Worthington)++ | src/Perl6/Actions.nqp
Make sure p6scalarfromvalue will decont
17:22
rakudo/rescalar: db7a77a1d7 | (Jonathan Worthington)++ | src/core/Array.pm6
Further usage of p6scalarwithvalue in Array

Will later do some further audit of the codebase for places where we can also use this.
18:22 pmurias joined
Geth nqp/truffle: 1d5e31c9fa | (Paweł Murias)++ | 4 files
[truffle] Call executeString when expecting an str
18:41
nqp/truffle: 2ffd9144c1 | (Paweł Murias)++ | 21 files
[truffle] Calling simplest code-refs works

  ./nqp-j nqp-truffle.nqp -e '(sub () {nqp::say("Hello World")})()' works
nqp/truffle: ae931c0610 | (Paweł Murias)++ | README.pod
[truffle] Add some helpfull links to learning about Truffle
19:01
nqp/truffle: 5fe4c8d99b | (Paweł Murias)++ | README.pod
[truffle] Describe how stuff is compiled
19:09
pmurias found out that the truffle backend had a first contributor 22 days ago and he didn't notice :( 19:11
Geth roast: cb4945616d | (Will "Coke" Coleda)++ | S05-capture/match-object.t
tie back to RT
19:35
19:46 brrt joined 19:49 Kaiepi left, Kaiepi joined 20:23 perlpilot left 20:24 MasterDuke joined 20:39 j3nnn1 joined 20:41 ufobat_ left 20:43 pmurias left 20:54 pmurias joined 20:56 perlpilot joined 21:24 brrt left 21:28 pmurias left 21:29 pmurias joined 22:06 perlpilot left 22:11 pmurias left 22:35 Kaiepi left, PufferBot left 22:53 Kaiepi joined 22:57 robertle left
Geth rakudo/release/2018.06: cccf3c7200 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Log all changes (+ announcement)

Deliberately not logged: 38a9204a c23ee248 16d3d6f6 b0890f21 26f00334 4bbb87f5 27e8dab9 8a62e5e0 91ae5efc caf0f568 01a37364 b0a54f92 7183ac10 af645c9f 2234b61d 398c270e c5d14062 fbdfe8c8 61ca55d8 6648e0d6 0180dfa6 847d3d60 154d9855 0666f6a8 ee48f191 4b28f2cd c6a61f56 65dccd8d bdbfee55 6663a6d4 74067127
23:05
rakudo/release/2018.06: a3f07d4f45 | (Aleks-Daniel Jakimenko-Aleksejev)++ | docs/release_guide.pod
Actual date, claim next release
23:10 perlpilot joined 23:24 j3nnn1 left
AlexDaniel R#1946 23:31
synopsebot_ R#1946 [open]: github.com/rakudo/rakudo/issues/1946 %(), @(), $() are evil/weird
AlexDaniel how come %() isn't just an empty hash? 23:32
“Use %() as a shorthand for %($/) to flatten as a hash”
why
greppable6: \%\(\) 23:33
greppable6 AlexDaniel, Sorry kid, that's not my department.
23:33 greppable6 left
jnthn I think that's been around in Perl 6 longer than I have, so would probably have to ask TimToady why :) 23:33
23:34 greppable6 joined, ChanServ sets mode: +v greppable6
AlexDaniel greppable6: \%\(\) 23:34
greppable6 AlexDaniel, No! It wasn't me! It was the one-armed man! Backtrace: gist.github.com/75a25d6cd2a1f2082b...17bdbac81f
AlexDaniel ah come on
perlpilot seems like %() and @() being lazy ways at $/ should be excised. IMHO
jnthn m: 'blah blah' ~~ /$<foo>=\w+ . $<bar>=\w+/; say %$/ 23:35
camelia Map.new((bar => 「blah」, foo => 「blah」))
jnthn There's already a totally regular 3-char way to two out of the 3
(%() => %$/ and @() => @$/) 23:36
So in terms of brevity there's no really argument for those two 23:37
perlpilot Then $() should go too because it would be the odd one out :)
jnthn As for $() I can't right off remember a time when I wanted a shorter way to write $/.ast // ~$/ :)
Generally, either I expected an AST or I wanted the matched string. 23:38
So I'm not inclined to consider $() very useful either 23:39
I quite happily use {...} for hashes in a lot of cases, always write {] over %() for the empty hash literal, and can't imagine myself doing otherwise. But I understand others prefer %(...) consistently, and letting %() mean the empty hash rather than %$/ to help with that feels like the better use of that syntax. 23:42
AlexDaniel how to change that though? If anybody is using %() on purpose right now, changing the behavior is possibly not the best idea
deprecate in v6.d and reallow in v6.e? Complicated…
jnthn It'll take years.
But yeah, something like that
23:43 Kaiepi left
jnthn It's a syntactic construct, so it's easy to switch over the current language version in the compiler. 23:43
23:45 PufferBot joined
AlexDaniel so {} is not an empty block but an empty hash, and %() is not an empty hash but %$/. Fascinating 23:45
23:48 Kaiepi joined
jnthn Well, {...} never claimed to always be a block; it's long been (and always will be) both a way to write a hash and a way to write a block. 23:49
perlpilot AlexDaniel, an empty block looks like this: {;}
jnthn I'd prefer %() to mean an empty hash, though :)
AlexDaniel perlpilot: that's not empty, it has a semicolon in it!
:)
jnthn Wanting an empty hash is rather more common than wanting an empty block, so the {} case isn't much to worry about, IMO 23:50
AlexDaniel not true
I flipped the table a few times because of this :)
one example is in sake files
jnthn I like the name of that, because "for goodness sake" is what I say half the time when doing anything with build systems anyway :P 23:51
AlexDaniel when you'd write something like:
task ‘foo’ => <bar baz>, {;}
jnthn Why doesn't it just let you know pass a block there?
s/know//
oops 23:52
s/know/not/
But yeah, if there's an API that is designed to want empty blocks, I guess it can bite.
geekosaur wonders how long before someone comes up with a slang including "pass" >.> 23:53
AlexDaniel it does fail with “Cannot resolve caller task(Str, Hash); none of these signatures match:”
but my point is that wanting an empty block is fairly common 23:54
the block probably has to be optional there, so that you can literally pass nothing
well ok, wanting an empty hash is probably *more* common :) 23:55
perlpilot probably? :)
AlexDaniel quotable6: Beware_of_empty 23:56
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
jnthn perlpilot: Certainly in my experience, but I never used sake :) 23:57
quotable6 AlexDaniel, Found nothing!
23:57 lizmat left
AlexDaniel quotable6: ‘empty block’ 23:57
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
AlexDaniel, Sorry kid, that's not my department. 23:58
23:58 Kaypie joined, quotable6 left, Kaiepi left, quotable6 joined
AlexDaniel this is really weird, some things are not working until I restart the bots… 23:59
23:59 PufferBot left
AlexDaniel quotable6: ‘empty block’ 23:59
quotable6 AlexDaniel, OK, working on it! This may take up to three minutes (4582161 messages to process)
23:59 lizmat joined