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:00 reportable6 left
vrurg Is there a commit with similar hash in roast, perhaps? 00:00
timotimo haha 00:01
perhaps you can put any commit hash in any repo
or maybe only for repos that are beyond a certain size?
AlexDaniel you can view the whole tree as if it was another repo github.com/perl6/roast/tree/c11e7e...4086722cc2 00:02
timotimo maybe the check "is this in the right repo?" is cheap up to a certain size or something
AlexDaniel this is definitely not right xD
I'll report that…
timotimo oh, you could fool people into believing something is in an official repo
00:03 reportable6 joined
timotimo could be some social engineering potential there 00:03
extra especially if it can be made to work in private repos
talking about that in a publically logged irc channel is, of course, not a good way to do responsible disclosure, oops 00:04
i hope i didn't ruin anyone's chances at a bug bounty by just blurting that out
AlexDaniel I mean, yeah, I should've thought a bit before sharing, I guess :) 00:06
00:09 pamplemousse left 00:12 pamplemousse joined 00:15 lucasb left
AlexDaniel hmmmm 00:16
timotimo: now that I think about it, did anybody somehow push rakudo commits into roast or vice versa? 00:17
ah, it should be easy to check that…
no, not really, hmm 00:18
timotimo i mean it's not impossible 00:20
orphaned branches are a thing git supports
AlexDaniel and github tends to cache them for a bit longer 00:21
I think this is the first commit…
github.com/perl6/roast/commit/8454...793b829910
let me check…
ugexe i was about to say... seems like something i did before 00:22
timotimo maybe they don't do "git gc" because "throw more storage at it" is easier and cheaper than "run git gc at bajillions of git repos"
AlexDaniel no, its children are also in 00:23
ok, *this* is the newest commit: github.com/perl6/roast/commit/a8cd...1d35686eff 00:24
or so it seems to me
so not a vulnerability then, as you'd have to push stuff into your own repo
timotimo OK 00:25
ugexe i remember wondering why that push was taking so long
AlexDaniel it's not great but I also can't see how it hurts, heh… :)
I found it because I was bisecting something in rakudo, then vrurg asked the question about roast, so I ended up pasting rakudo sha into a roast url 00:26
vrurg AlexDaniel: speaking of bisecting. Have you had a chance of running blin on the HEAD? I wonder if lizmat's changes to Map have affected any of the ecosystem modules. 00:28
AlexDaniel kawaii: ↑ ? 00:29
vrurg: kawaii said they'll run it, but I didn't see the results
vrurg Ok. That'd allow closing extra tickets on both rakudo and problem-solving.
timotimo how well does the get-caller's-language-version thing work with stuff like "the sub that asks is called via a closure that had been passed to grep" or something? 00:30
AlexDaniel I don't think I can run it easily nowadays. I had a google compute instance with a bunch of cores and I no longer do
kawaii I'm awake
Sorry have been in hospital recently
timotimo hey kawaii
AlexDaniel I can maybe run it locally but then it takes forever, especially on the kind of machines I have
timotimo glad to see you're back
kawaii Blin run tomorrow friends
I promise
I love you all
timotimo mhh tasty blins
AlexDaniel kawaii: we love you too ♥ 00:31
kawaii: and also, your health is more important than blin anyway, take care
timotimo i actually saw blinry in a freezer at a grocery store a month ago or so
00:31 pamplemousse left
AlexDaniel kawaii: I assume you're not coming to perlcon? 00:31
00:32 pamplemousse joined
AlexDaniel that was a weird way to phrase that… “are you coming to perlcon?” I meant to say :) 00:33
kawaii Sadly not this year AlexDaniel, but future Perl events for sure 00:34
So many friends I want to meet
AlexDaniel yeah!
vrurg timotimo: depends on how one implements it. I currently use CLIENT::LEXICAL::<CORE-SETTING-REV> 00:36
timotimo kawaii: what continent are you based on? 00:37
kawaii I'm in the UK timotimo!
AlexDaniel so, as I understand, these commits in roast are not on any branch, so eventually they'll expire and will be gc-ed 00:38
vrurg Oh, I just have gotten chance of reading the rest of the conversation. I join the chorus: the health is most important. Take care of yourself, kawaii ! 00:39
timotimo cool. i'm not sure which conferences i'll be visiting in the future, but the chances of meeting are non-zero 00:40
vrurg timotimo: unless I'm overexhausted, but the closured sub could end-up with grep's context as it's CLIENT:: and thus – with 'c' revision. 00:41
timotimo that could potentially be bad 00:45
i'm also very tired right now
but it'd surely be a good idea to construct the most difficult combinations of stacking we can come up with and see if everything makes sense
00:46 pamplemousse left
vrurg It's even worse than that: GLOBAL can have no client package 00:49
I think it's incorrect. Even if a routine is defined in GLOBAL in could be called from anywhere. 00:50
timotimo like most programs having a MAIN that is called from the setting 00:54
right?
Geth rakudo: vrurg++ created pull request #3103:
Return Failure from failed P6-level .parse on 6.e
01:05
vrurg timotimo: for example. Or a closure passed into a module's routine/method/whatever. 01:06
timotimo right
what does it meeeaaannnn 01:07
AlexDaniel vrurg: oh yay, you found it :) 01:10
I was looking for my revert but couldn't find it 🤷 01:11
vrurg AlexDaniel: are you about the ticket? It's referencing the 'caller language' ticket.
AlexDaniel ah, ha!
wasn't my revert of the tests after all :) 01:12
vrurg timotimo: don't drag it. ;) Am I missing something?
timotimo too tired to think, but thank you for working on that issue that had everybody hide 01:14
vrurg timotimo: if you come up with anything. I can't think out of anything better than CLIENT:: for now. Though most correct use of CLIENT::CORE:: comes up with 'c' and this is not correct. Being put together with the GLOBAL error it means PseudoStash needs some more rework. :( 01:16
AlexDaniel: if by any chance there's a commit for tests for Grammar returning Failure – I'd love to have it. 01:17
AlexDaniel vrurg: take a look at these: github.com/perl6/roast/commit/b536...00a3d6cd2b github.com/perl6/roast/commit/1fb6...958d1b4afd 01:19
vrurg: they're not exactly the tests you're looking for, but these changes were committed together with the rakudo change
vrurg: IIRC there are no other tests, just these changes to hide the fact that we were breaking everything
vrurg: also yeah, I got confused with roast and rakudo commits again :) 01:20
vrurg No escape then, will have to write few. 01:21
AlexDaniel vrurg: we also need some tests to make sure that the behavior in v6.c and v6.d remains still…
or do we?
vrurg AlexDaniel: just keeping the current tests will be sufficient. 01:22
AlexDaniel vrurg: ok, but why?
vrurg Would have to add explicit 6.d though
AlexDaniel vrurg: I'm not following. We're making a change to what .parse returns, what's going to make sure that in 6.c and 6.d it still returns Nil? 01:23
I should've been smarter and reverted these changes in roast back then 01:24
but I didn't
vrurg Oops, I'm over-exhausted already... Sure, Failure is Nil...
Ok, noted. 01:25
AlexDaniel so current 6.c-errata and 6.d-errata won't trip if you change what .parse returns
which is a mistake that we're allowed to fix, I think
by perhaps reverting these commits by TimToady 01:26
Geth ¦ rakudo: vrurg self-assigned [WIP] Incorrect behaviours of CORE:: and CLIENT:: pseudo-packages github.com/rakudo/rakudo/issues/3104 01:30
vrurg AlexDaniel: if you have time to revert and test them I would very much appreciate that. 01:31
I'm afraid of making extra mistakes. 01:33
AlexDaniel vrurg: we can do that after the merge 01:34
or we can as well do that before, but I'm currently going to bed… 01:35
vrurg AlexDaniel: I left a note to myself on the PR, so must not fail. 01:36
AlexDaniel and tomorrow I'll be screaming happily in anticipation of perlcon, probably for the whole day
vrurg Sleep well! :) And have a happy day!
01:51 Voldenet left 01:55 Kaiepi left 01:56 Voldenet joined, Voldenet left, Voldenet joined 02:52 Voldenet left 02:57 Voldenet joined, Voldenet left, Voldenet joined
Geth roast: vrurg++ created pull request #564:
Add tests for CLIENT:: pseudo-package
03:04
rakudo: vrurg++ created pull request #3105:
Allow use of CLIENT:: pseudo-package in code in GLOBAL
03:06
05:54 robertle left 05:56 scovit left 06:00 reportable6 left 06:01 reportable6 joined 06:18 scovit joined 07:32 lizmat joined 08:02 lizmat left 08:03 lizmat joined 08:14 lizmat left 08:19 lizmat joined 08:28 lizmat left 08:50 lizmat joined 09:12 lizmat left 09:13 lizmat joined 09:28 lizmat left 09:31 ufobat joined 12:00 reportable6 left 12:05 reportable6 joined 12:55 lucasb joined 13:24 pamplemousse joined
Geth rakudo: 7aa2848fa9 | (Vadim Belman)++ | 2 files
Allow use of CLIENT:: pseudo-package in code in GLOBAL

There is no reason for limiting its use in GLOBAL package.
rakudo/rakudo#3104
14:34
synopsebot RAKUDO#3104 [open]: github.com/rakudo/rakudo/issues/3104 [WIP] [WIP] Incorrect behaviours of CORE:: and CLIENT:: pseudo-packages
Geth rakudo: 22702ea312 | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files
Merge pull request #3105 from vrurg/rakudo_issue_3104

Allow use of CLIENT:: pseudo-package for code in GLOBAL
roast: 1821f07324 | (Vadim Belman)++ | 2 files
Add tests for CLIENT:: pseudo-package

Test for cross-language revision usage
roast: ef264eb457 | (Vadim Belman)++ (committed using GitHub Web editor) | 2 files
Merge pull request #564 from vrurg/rakudo_issue_3104

Add tests for CLIENT:: pseudo-package
15:06 vrurg left, vrurg joined 15:56 pamplemousse left 16:23 pamplemousse joined 16:49 epony left 17:10 Kaiepi joined 17:34 epony joined 17:52 pamplemousse left 18:00 reportable6 left 18:03 reportable6 joined, ChanServ sets mode: +v reportable6 18:13 chloekek joined
vrurg timotimo: ping 18:43
timotimo pong 18:45
18:46 chloekek left 18:52 Kaiepi left 18:55 Kaiepi joined
vrurg timotimo: what do you think about nqp::p6callerrevision op? 19:00
timotimo sounds like an interesting suggestion, but how would it be implemented? 19:01
vrurg timotimo: Similar to what I do with pseudo-packages: CLIENT::CORE::. I would experiment with it but I know too little about Moar internals. 19:02
timotimo such an op can also be implemented as a desugar in the compiler, which is nqp code 19:03
vrurg I didn't find any nqp implementation of p6* yesterday. But now as you mentioned desugar which I forgot about... 19:04
Ok, Actions.nqp. Thanks, I'll work with that! 19:05
MasterDuke the p6* ops are in rakudo/src/vm/moar/ops/ i think
vrurg Though it turns out that for Grammar it must be done in absolutely other way. 19:06
MasterDuke: those are C-implementations which I'm not ready to dive into.
Besides, p6callerrevision should be backend-independant. 19:07
vrurg is also considering compiling COREs by compiler with language revision they're implementing. 19:09
I.e. CORE.e.setting would be compiled as if `use v6.e` was specified.
timotimo vrurg: you'd probably find it in src/vm/moar/Perl6/Ops.nqp 19:10
MasterDuke timotimo++
vrurg timotimo: what's not right about Perl6/Actions.nqp? 19:12
timotimo not sure if there's implementations of desugars there 19:13
oh
19:13 chloekek joined
timotimo but there are 19:13
OK!
vrurg Fine. But that's if I ever need it. So far, jnthn's approach is that classes with different behaviour must be separaterly defined per-core. There is already PseudoStash for 6.c/d and PseudoStash for 6.e and those are two different classes. Similar to different module versions. 19:15
What worries me most for now is that there is no way to distiguish one from another. 19:17
19:17 pamplemousse joined
ugexe m: class Foo:api<6.d> { }; say Foo.^api 19:20
camelia 6.d
vrurg ugexe: I thought about ver for that purpose. Anyway, neither is set for now and that's what I plan to take care of. 19:25
Another question: how do I distinguis them in a signature? Say, 6.e core knows about two class versions. But sub foo(Foo where Foo.^ver eq '6.e') { ... } is too clumsy. 19:27
Geth rakudo: 74f2d3f465 | (Ben Davies)++ | src/core/ThreadPoolScheduler.pm6
Actually handle passing :every(Inf) to ThreadPoolScheduler.cue properly

It was supposed to run the given block only once, but it was running it every millisecond instead.
19:33
ugexe you dont 19:35
vrurg ugexe: github.com/perl6/problem-solving/issues/3 and github.com/perl6/problem-solving/issues/71 19:36
If there're two implementations of `Set` and I want to support them both in my code? 19:37
ugexe then fuck you
lol
intead of "you dont" i should have said "you cant right now" 19:38
vrurg friendly community...
;)
I propose sub (Foo:ver<6.e> $foo) {...} notation. 19:39
ugexe it could work (although maybe the single colon in the signature would make it difficult to parse?)
but i imagine for that to really work we'd need a module Foo:ver<1.0> to automatically set .^ver as appropriate (i.e. with the stuff from META6.json if it exists) 19:40
class Foo:ver($*DISTRIBUTION.meta<version>) { ... } 19:41
timotimo longest-token-matching ought to do this right
Kaiepi what if META6.json doesn't match the :ver the class was declared with? i've forgotten to update it before 19:42
vrurg In a module it should be author's responsibility. In the core – I'm gonna start with per-CORE language and then ClassHOW would fetch the infor from the compiler and set it.
ugexe DIHWIDT
Kaiepi dihwidt? 19:43
ugexe doctor it hurts when i do this
Kaiepi oh
ugexe so dont do it
vrurg timotimo: BTW, the grammar would also have to support :ver<>:D But still should be feasible. 19:44
ugexe Foo:ver<420>:_: 19:45
timotimo even more smileys 19:46
:_:
ugexe i thought there was a :_: but maybe i was mistaken 19:47
ah its just :_
vrurg Heh.... More punctiation to the God of Punctiuation... 19:48
*punctuation 19:49
ugexe class Foo { method foo(IO::Path:_: IO::Path $) { } } 19:50
Kaiepi what does :_ do? 19:52
MasterDuke it's like * for type smilies. :_ means either :U or :D
ugexe i.e. its the same as no smiley 19:54
Kaiepi oh
20:51 ufobat_ joined 20:55 ufobat left, chloekek left 21:13 pamplemousse left 21:14 pamplemousse joined 21:17 MasterDuke left 21:24 lizmat joined 21:28 pamplemousse left 21:37 BeastieBot left 21:38 BeastieBot joined 21:53 pamplemousse joined
Geth rakudo: taboege++ created pull request #3108:
Pod: allow empty config value
21:58
22:14 pamplemousse left 23:46 lucasb left
Geth rakudo: vrurg++ created pull request #3109:
Make COREs compile with their respective language revision
23:59