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:06 robertle_ joined 00:09 robertle left 03:17 pamplemousse joined 03:25 pamplemousse left, pamplemousse joined 04:26 pamplemousse left, pamplemousse joined 04:43 pamplemousse left, pamplemousse joined 05:05 pamplemousse left 06:52 rba[m] left, AlexDaniel` left 07:02 AlexDaniel` joined 07:11 patrickb joined 07:35 tyil[m] joined, rba[m] joined 08:06 ufobat joined
samcv why can't you do that on AMD? 08:20
and what is rr? 08:21
08:42 titsuki left
|Tux| Rakudo version 2019.03.1-664-g2dc68c922 - MoarVM version 2019.05-95-g065b2b427
csv-ip5xs0.687 - 0.712
csv-ip5xs-205.135 - 5.283
csv-parser22.941 - 23.187
csv-test-xs-200.424 - 0.449
test6.572 - 6.976
test-t1.772 - 1.806
test-t --race0.826 - 0.853
test-t-2028.610 - 28.934
test-t-20 --race9.320 - 9.797
09:02
lizmat Files=1275, Tests=108166, 207 wallclock secs (26.42 usr 7.85 sys + 2879.32 cusr 290.68 csys = 3204.27 CPU) 09:24
patrickb samcv: rr is a debugger that can step backwards rr-project.org/ It seems to only support intel atm github.com/mozilla/rr/issues/2034 09:26
samcv: How is GSoC going?
10:19 MasterDuke left 11:03 AlexDaniel joined 11:22 Kaiepi left 11:50 pamplemousse joined 11:56 brett-soric joined
AlexDaniel releasable6: status 12:21
yoleaux 06:11Z <jmerelo> AlexDaniel: can you please take a look at this? github.com/perl6/doc/issues/2859 Maybe provide another binary that works in Ubuntu 16.04?
releasable6 AlexDaniel, Next release will happen when it's ready. R6 is down. At least 2 blockers. 262 out of 664 commits logged (⚠ 1 warnings)
AlexDaniel, Details: gist.github.com/e4b5eddaeb8827a01c...6f48b3c482
samcv patrickb, going good. helping my mentee to integrate the encoder/decoedr they wrote into moarvm now 12:30
12:45 brett-soric left
patrickb Sounds good! 13:10
13:10 pamplemousse left 13:11 pamplemousse joined
lizmat m: my %a; without %a<a> { $_ := 42 }; dd %a # hhmmm expected this to complain, or just work, not silently do nothing :-( 13:22
camelia Hash %a = {}
lizmat m: my %a; without %a<a> { $_ = 42 }; dd %a # assignment works though :-)
camelia Hash %a = {:a(42)}
vrurg lizmat: makes sense, actually. 13:24
lizmat why ?
or: how does that make sense ? 13:25
vrurg Because $_ is not that magical, after all. It exists in a lexpad as a symbol. So, you bind to it.
lizmat I guess... it you look at it that way :-)
I could live with a "you cannot bind with this left side" error :-) 13:26
jnthn Vification of hash keys is a property of assignment, not binding.
Well, apart from you *can* bind it; if you dd $_ afterwards it will have taken
You just bound away the container from the hash :)
lizmat yeah... I was caught by the silentness
yeah... vrurg pointed that out to me :)
vrurg jnthn: how can I get source file name of a loaded unit? For debugging I'd like to know what is my current core. 13:38
jnthn vrurg: I think you'd have to obtain a code object from it and then ask that for its location 13:41
And take the file from that
vrurg jnthn: thanks!
jnthn There's some getcompunitcodes op or some such
iirc, filenames are only stored as annotations, and those are always associated with code
vrurg One of the biggest problems I currently have – undocumented opcodes. :( 13:46
13:49 pamplemousse left, pamplemousse joined
timotimo uh oh 13:50
can you point out some you need info for?
well, compunitcodes would be one 13:51
vrurg timotimo: all of them. When I know what is needed but don't know how to get it – I scan sources for similar operations. 13:53
timotimo so github.com/perl6/nqp/blob/master/d...s.markdown isn't helpful?
vrurg timotimo: somewhat and often it is. It's just incomplete.
timotimo so not only is stuff missing, but also you can't really tell what's missing 13:54
damn
13:54 pamplemousse left 13:55 pamplemousse joined
vrurg I think the list of documented ones can be pulled out from ops.markdown and compared to oplist in MoarVM. 13:55
timotimo yes, however it'd probably be better to compare to what's in QASTOperationsMAST, since some are renamed in the process 13:58
vrurg timotimo: g '^## ' ops.markdown|awk '{print $2}' is pretty much effective. :)
timotimo AFKBBL
gist.github.com/timo/508a27b00f742...47ef99d456 14:16
why are there documented ops that aren't in all_ops? beats me :P 14:18
vrurg timotimo: did you take MoarVM/lib/MAST/Ops.nqp into account? 14:22
timotimo no, i used nqp's QASTOperationsMAST
but i only grepped out core op mappings 14:23
so none of the ops that have a little piece of specific compiler code in them
vrurg is afk for breakfast... 14:24
timotimo same, actually
14:29 epony left
timotimo i left the cereal i was about to eat in the car, now they're pretty toasty 14:36
jnthn Shoulda left the bread there, at least then you'd have toast :P 14:45
14:49 pamplemousse left 14:50 pamplemousse joined 14:55 epony joined 15:23 Kaiepi joined, patrickb left 15:33 pamplemousse left
AlexDaniel some help with github.com/rakudo/rakudo/issues/3000 would be appreciated :) 15:39
timotimo issue 3000 should have been a funny reference to Python3000 15:40
16:00 epony left
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue LCM (support Rat and fail on lossy coercion) github.com/perl6/problem-solving/issues/55 16:17
16:52 DrForr joined
DrForr Mornin'. 16:52
I will preface this comment with "Whenever people say `I don't want to start a flamewar, but...' it seems that they usually do." With me I truly do not wish this. I have one piece of information I want to pass along, and leave it at that. 16:53
I was recently at lunch with an old friend whom a few of you may know, who also happens to be a Perl evangelist at Apple. 16:54
Conversation eventually rolled around to the reasons that Apple was pulling a bunch of open-source languages from their core distro, among them Perl 5. 16:55
16:58 Kaiepi left 16:59 Kaiepi joined
DrForr I don't know about the other languages such as Ruby, but Perl 5 was being pulled, despite extensive use internally at Apple, because the legal team doesn't consider the AL a true "license." I was recently reminded that Perl 5 was dual-licensed AL/GPL and passed this fact on in hopes that it might spark something. I see that the Perl6 roast tests have ALv2 attached, but there didn't appear to be any 17:05
reference to licenses on the website. This will probably reopen old wounds, and for that I'm truly sorry. It's not my intention to pander to Apple or any other company, and I realize this is Larry's decision alone. It simply seemed foolish to me to lock ourselves out of an opportunity before we could even get a foot in the door.
My contact, incidentally, also uses Perl 6 :)
vrurg DrForr: I think it would make sense to raise this matter on github.com/perl6/problem-solving/issues 17:16
DrForr Thanks, I'll add that there. 17:17
vrurg IRC isn't the best place to discuss it.
DrForr I understand completely.
[Coke] an 17:18
(oops) 17:19
17:19 epony joined
AlexDaniel DrForr: I don't really understand your point :) 17:20
IIRC they try not to ship anything that is licensed under GPLv3, right? 17:21
which is why they were stuck with the old bash version, among other things 17:23
DrForr I don't know about that. I don't use Apple stuff nowadays, although given how this Windows laptop is behaving that may change.
I'd honestly forgotten that Perl 5 was dual-licensed, and it took me quite a bit of hunting to find Perl 6's license. I was thinking that it might help to clarify the point that Perl 6 is dual-licensed so that if another company wants to make a similar determination, they can say "Oh, we can license under GPLv2 [or whatever], problem solved." 17:26
timotimo is there a reason to license perl6's test suite? 17:27
DrForr Also this is more recent, part of reassessing whether languages like Ruby belong in Apple's core distro, over the last month.
timotimo i mean, biuld a derived thing off of it i guess
DrForr I've passed along the point that Perl5 is dual-licensed, and that's all I can do, I think. 17:28
17:28 Kaiepi left 17:29 Kaiepi joined
DrForr I guess a more productive way of wording things would be "Hey, I don't see a 'licensing' section of the website, maybe displaying the text of both licenses and saying you can choose between the two would help later." 17:31
Which is what I'm adding to the issue right now.
AlexDaniel is it actually dual-licensed? 17:34
I thought that Artistic 2.0 is just that permissive
japhb AlexDaniel: Perl 5 versus Perl 6
AlexDaniel hmm
DrForr That's a good question. The Wikipedia article had the only clear licensing statement I could read :)
AlexDaniel but generally I think it's a good point, why are we insisting on a license that nobody knows about or uses 17:35
outside of perl 5/6 communities of course
japhb AlexDaniel: From `perl -v`: Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
AlexDaniel: Artistic-2.0 is on the official OSI list: opensource.org/licenses/alphabetical 17:37
DrForr Legal types aren't likely to install it and run 'perl -v' to find licensing terms. Now, I don't know *where* they found the AL and *not* the GPL, but if we can make it more obvious that Perls 5 and 6 are GPL then it might help clear up the apparent confusion. 17:38
AlexDaniel japhb: and?
japhb: still nobody knows about it or uses it
japhb AlexDaniel: Any person calling themselves an IP lawyer in Silicon Valley would know about the OSI list. My reading of someone using the license to disregard perl5 is that they have other reasons; that's not really it. 17:39
AlexDaniel I don't care about that as much, I'm just interested in knowing why we use this oddball license 17:40
japhb FWIW, I am able to work on Perl stuff here at Google *because* it has an Artistic license.
AlexDaniel japhb: but if it was MIT or BSD license you'd also have no problem working on perl stuff, right? 17:41
japhb AlexDaniel: Because Larry values things somewhat differently from the MIT/BSD crowd, but also differently than the GPL crowd.
DrForr Apple still uses a helluva lot of Perl internally, especially in build chains. I only know that this was a decision by their legal team that AL could not be considered a license, so Perl was one of the languages that had to be removed from the distribution going forward. 17:43
japhb AlexDaniel: Yeah, looks like MIT/BSD are both OK, if I'm reading things right. (IANAL of course, nor speaking on behalf of Google.)
DrForr: Well, someone who *does* have IP law skills might want to reach out to them, because this is the kind of thing that goes against literally decades of standing agreement. 17:45
DrForr I understand.
japhb (And we don't want anyone else in the industry blindly following that mistake.)
[Coke] I'm sure artistic would get through legal at my last few dayjobs, but because it's "non-standard", it would require more effort. a time sensitive project would probably pick something with a standard license.
DrForr As I said, I mentioned this to my contact, I'm not associated with Apple or any of its subsidiaries. 17:46
[Coke] but, I don't think licensing is the root cause of our adoption issues.
japhb Given CPAN, there is a *lot* of Artistic licensed code out there (almost all perl* related, but my point here is mainly one of talking about how many different authors and companies have gone along with that license).
DrForr I agree there are bigger issues out there than licensing stopping adoption, all I'm saying is that making it clearer that you *can* use the GPL wouldn't hurt, and might stop us from shooting ourselves in the foot. 17:49
If the legal team wants to use AL as a reason to not include Perl <[56]> in their distributions, we can't help that. But if it's a little clearer that GPL is an option and someone on the inside can point this out, it just might help. 17:51
AlexDaniel DrForr: they're anti GPL, making it clearer wouldn't help in that case 17:54
japhb AlexDaniel: Anti-GPL3 or Anti-GPL*?
AlexDaniel japhb: GPLv3 but given that “or later” projects tend to move to GPLv3 eventually I wouldn't be surprised if they generally dislike GPL of any version 17:55
japhb is saddened for the umpteenth time by IP law 17:56
DrForr OTOH I did have the highest turnout at a YAPC this year for my Perl 6 course :) Damn near sold-out. 17:57
And highest turnout for *any* course this year.
AlexDaniel japhb: IMO it's not so much the IP law, it's just Apple being Apple 18:01
BUT I do find it weird that we use some oddball license. Doesn't feel like there's a good reason for that…
18:11 pamplemousse joined
[Coke] DrForr: glad to hear that. I heard that attendence was down overall at the con though, any word on that? 18:13
vrurg [Coke]: true 18:15
Or, at least it felt like that.
DrForr [Coke]: The last European one felt the same way, and there I put it down to Booking not attending. Over here it's probably that *plus* the current administration. 18:17
They're still contributing to the Perl5 fund but their name wasn't on the list of sponsors here. SawyerX, Mickey and Abigail were there, but that looked to be about it. 18:21
japhb AlexDaniel: FWIW, the wikipedia page on AL is actually somewhat enlightening: en.wikipedia.org/wiki/Artistic_License -- to whit, the AL2 exists partly to solidify the AL's grounding due to contention over the AL's original terms (which the AL won, FWIW, but that's neither here nor there) 18:26
18:35 MasterDuke joined
[Coke] DrForr: in any case, yes, highlighting license information on the site is +1 18:36
DrForr Thanks, that's all I was really getting at, I suppose. We can't help if they're biased against AL, but pointing out that you *can* use GPL can't hurt the situation. 18:40
I know more than what I'm saying, but a certain team that is currently using Perl 5 wants to adopt 6, and clarifying this might help. 18:44
Geth ¦ problem-solving: AlexDaniel self-assigned Clarifying dual-licensing on the site github.com/perl6/problem-solving/issues/56 18:47
AlexDaniel DrForr: I don't know if I got my point across, but they don't want to use GPL 18:48
I can't know that 100% but I'm pretty sure that's the case 18:49
DrForr Like I said, I don't know the internal politics of the situation, but if the subtext I missed was "They don't like GPL and the AL didn't qualify" then there's not much else we can do, other than note that attitude affects a lot more than just Perl software. MIT/BSD-style licensing may be more their speed, but short of getting Larry to accept a new license there's not much to do. 18:55
And then I come across twitter.com/jimjag/status/1144616827378720769 in my Twitter drip-feed. 18:59
japhb DrForr: Well, they could have been objecting to AL1 and not AL2 ... and if so, then Larry already *did* accept a "new" license, so to speak. 19:13
19:15 BeastieBot left 19:16 BeastieBot joined 19:17 BeastieBot left, BeastieBot joined, BeastieBot left, pamplemousse left, BeastieBot joined 19:19 pamplemousse joined 19:36 pamplemousse left
TimToady my understanding is that it's the other way around; they like AL1 better than AL2 because it's not trying to be gpl compatible 19:40
19:54 pamplemousse joined
japhb Oh interesting 19:56
Still, that shouldn't affect their interest in perl5 then, since that's AL1. Of course, they may object to both licenses for different reasons, I suppose. 19:57
20:15 ggoebel left 20:50 pamplemousse left 21:00 epony left 21:01 pamplemousse joined 21:05 patrickb joined 21:09 pamplemousse left 21:23 patrickb left 21:29 ggoebel joined 21:53 pamplemousse joined 22:05 ggoebel left
vrurg jnthn: I'm stuck with introspection of cores. It turns out that load_setting returns BOOTContext and I can't find out how to deal with that. Can you point me into the right direction? 22:12
timotimo you can use associative ops on a context object 22:17
i.e. existskey, at_key, ... 22:18
vrurg oops... That simple... Thanks! 22:19
timotimo i figured that out from the ops struct in src/6model/reprs/MVMContext.c 22:20
jnthn Also, nqp::ctxcode 22:21
iirc
Uh, if you want to know the code object 22:22
timotimo there's also the traversal ops, like ctxouter and ctxcaller
jnthn That may not be interesting
timotimo but they aren't interesting for settings
jnthn Just remember we talked about code yesterday :)
vrurg jnthn: I've got a BOOTCode and I did not manage to pull anything useful out of it. 22:25
timotimo: for now I only need to know if a block at my hands is a CORE and which one is it. Investigating find_symbol logic. 22:26
timotimo maybe getcodelocation gives you what you want 22:27
vrurg timotimo: thanks, will give it a try. 22:28
trating the context as a hash works and good enough for my purpose. 22:31
23:01 epony joined 23:30 patrickb joined
patrickb o/ 23:30
I'm trying to get the build of nqp working on windows with spaces in the path. Currently nmake in combination with calling a bat file fails (again, ugh). I could replace all the .bat runners (the one in the build directory and the relocatable and non-relocatable variants) with native executables, just as I did with rakudo. 23:34
But that is quite a lot of cruft added to nqp.
timotimo oh, i think there was a branch loooong ago for this purpose
spaceybuild? or something? 23:35
patrickb specifically for nqp?
That was rakudo 23:37
it's called 'spacey'
timotimo oh, ok
it was really long ago tho, wasn't it?
patrickb 2013 23:38
looks stale in the light of vrurgs refactor
timotimo mhm
patrickb Anyways. Neither I nor vrurg managed to get bat files work reliably with spaces in arguments. Getting nmake to call bat files with spaces in its path or arguments is probably impossible. 23:39
That's why I'm pondering getting rid of the .bat files.
But it very much feels like overkill.
I just don't see much of an alternative. 23:40
timotimo oof
23:41 patrickb83 joined
vrurg patrickb: a mistake I made which complicates things is basing every path on absolute build_path. Using relative path could simplify building in a path with spaces. Though it doesn't help with installation. 23:42
patrickb83 vrurg: I favor absolute paths actually. They are more reliable over all. Relative paths just push the border of not having to fix the spaces-in-path problem for good a bit further. 23:44
23:44 patrickb left
vrurg patrickb83: Reliability was my point too. 23:44
patrickb83 I also looked into make.nqp. There is some work needed to get it to a state to process the nqp makefile. 23:46
I'm off to bed now. But I welcome all suggestions of alternatives. If nothing comes up (and no one objects) I'll persue the .bat -> .exe approach. 23:48
vrurg was thiking about rewriting all of Configure in nqp. 23:49
But that would require pre-built moar...
patrickb83 .tell nine I'd appreciate a look: colabti.org/irclogger/irclogger_lo...06-28#l257 23:50
yoleaux patrickb83: I'll pass your message to nine.
patrickb83 .tell ugexe I'd appreciate a look: colabti.org/irclogger/irclogger_lo...06-28#l257
yoleaux patrickb83: I'll pass your message to ugexe.
patrickb83 vrurg: NQP and rakudo can get by without as there is stage0 of nqp.
vrurg patrickb83: stage0 still requires moar because it's a bytecode. 23:51
patrickb83 That's why I said NQP and rakudo. :-)
vrurg patrickb83: I don't get you. But I'm all ears when you get time for this. :) 23:52
patrickb83 I meant you could rewrite the configure of nqp and rakudo in nqp, not touching moar at all. You would still need perl5 to build moar of course. 23:54
vrurg patrickb83: And want to get rid of perl5 whatsoever. 23:55
patrickb83 Then you also need to tackle Moar. And then it's just as you said, prebuilt moar. 23:56
vrurg That would be feasible when there be a way to have moar precompiled for enough number of platforms.
So, the conclusion is: wait. The time will come some day. 23:57
patrickb83 moar is ~5MB on my machine.
timotimo we should be able to kick out some subsystems to get a smallmoar 23:58
patrickb83 Alternatively one could use lua. Moar already has a lua interpreter included.
timotimo or ... lessmoar
like, throw out spesh and the jit completely
throw out sockets for example 23:59