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:40 anatofuz left 00:43 anatofuz joined 00:50 anatofuz left 01:01 anatofuz joined 01:07 anatofuz left 01:12 anatofuz joined 01:23 anatofuz left 01:27 anatofuz joined 01:32 anatofuz left 01:34 lucasb left 01:37 cognominal joined 01:41 cognomin_ left 01:49 camelia left 01:52 camelia joined 01:53 ChanServ sets mode: +v camelia
Geth_ nqp: vrurg++ created pull request #580:
[WIP] Provide common ground for all backend makefiles
02:26
02:31 anatofuz joined
Geth_ rakudo: vrurg++ created pull request #3194:
[WIP] Further improvements to the build process
02:37
vrurg .tell patrickb Could you, pls, test R#3194? It's another big revamp, for NQP this time. It coincided with your NQP_HOME changes and caused collisions which I had to resolve manually and wanna make sure I missed nothing. 02:46
synopsebot R#3194 [open]: github.com/rakudo/rakudo/pull/3194 [WIP] Further improvements to the build process
tellable6 vrurg, I'll pass your message to patrickb
03:20 AlexDani` joined 03:25 AlexDaniel left 03:42 anatofuz left 03:43 anatofuz joined 03:48 anatofuz left 05:06 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 05:09 anatofuz joined, anatofuz left, anatofuz joined, robertle left
nine AlexDaniel: I'd very much be in favor of creating a release branch and just porting fixes to that. Otherwise we could end up with half a year without a release again because there will always be breaking changes while we're waiting for fixes 05:39
05:48 anatofuz left 05:57 filehandle32 joined
AlexDaniel nine: we can try that, but hold on, how often do you think we should make a release? 06:04
nine The release_guide says: "Rakudo’s development release cycle is the third Saturday of each month." 06:15
06:16 anatofuz joined 06:23 filehandle32 left 06:25 anatofuz left 06:30 anatofuz joined, anatofuz left 06:31 anatofuz joined 06:32 [Tux] left 06:38 [Tux] joined 06:50 ufobat joined 07:13 anatofuz_ joined, anatofuz_ left 07:15 epony left, anatofuz left, anatofuz_ joined 07:24 anatofuz_ left 07:30 anatofuz joined
AlexDaniel nine: I know what it says. Should we be doing that? 07:43
jnthn: ping 07:44
08:08 nebuchadnezzar left 08:12 nebuchadnezzar joined 08:16 robertle joined
lizmat in light of: stackoverflow.com/questions/580553...8#58058068 08:24
this patch will make Proxy honour subclassing: gist.github.com/lizmat/6b1fd58385a...b095edc323
however, that still does not fix the problem of the question on SO 08:25
apparently, nqp::assign is checking nqp::eqaddr against Proxy, instead of nqp::istype
is that a correct assessment ?
afk& 08:34
08:36 anatofuz_ joined 08:39 anatofuz left 08:47 anatofuz_ left, anatofuz joined
jnthn lizmat: I don't think nqp::assign has such type checks 08:48
tellable6 2019-09-21T21:56:35Z #perl6 <Xliff> jnthn What's the best way to invoke a C function pointer using NativeCall?
jnthn lizmat: More likely that the container spec is not being set on the subclass 08:49
08:59 anatofuz left 09:02 anatofuz joined 09:07 anatofuz left 09:08 robertle left 09:09 robertle joined 09:11 anatofuz joined 09:15 anatofuz left 09:17 anatofuz joined
AlexDaniel jnthn: so you're ok with the given extensions? 09:23
I'm asking because I don't want to ping people needlessly 09:24
lizmat: also, I understand that you want this issue to be resolved sooner, but you've just requested review from people who are not on the list and haven't requested it from those who are 09:28
jnthn AlexDaniel: I think so. I would have preferred shorter forms, but RealMedia-related extensions ruin every decent plan on those, and while I personally don't care much about that as they seem moribund, it seems others do. And honestly, I never type them anyway; the IDE does them for me, or tab completion at the console. 09:30
Huffmanization would indicate "shorter makes sense" here, but...if the coding in actual usage is "press tab" or "use an IDE", then... :) 09:31
So yeah, I can go with those. Having a decision on them is in many ways more important than the exact outcome. 09:32
AlexDaniel okay 09:40
09:43 anatofuz left
jnthn Ah, and I should have said: IDE or other tool that helps maintain META6.json automatically 09:44
AlexDaniel I understand that everyone wants to help, but it's a bit of a chaos. First there's vrurg's voting that left some people confused, now lizmat weirdly requesting reviews 09:53
for example, that's while there are people advocating that we can't do what we're doing without explicit Larry's approval 09:54
if you can all just chill and maybe ask before doing something, that'd be very nice
10:00 anatofuz joined 10:02 anatofuz left 10:03 anatofuz joined 10:18 anatofuz left 10:20 anatofuz joined 10:21 robertle left
Guest23744 releasable: next 10:22
releasable6 Guest23744, Next release in ≈26 days and ≈8 hours. R6 is down. At least 5 blockers. Unknown changelog format
Guest23744, Details: gist.github.com/026baa16e11c397c14...ad95391544
Guest23744 Huh, did I miss a release
10:23 anatofuz left 10:25 anatofuz joined, moritz_ is now known as moritz, robertle joined 10:26 anatofuz left
nine AlexDaniel: considering that there are now about 30 GC fixes in MoarVM not part of a release, I'd say that we still haven't approached the point where a longer release cycle is good enough. 10:28
And despite needing drastic measures to uncover them, these issues do appear in the wild. I've seen them in CI runs and on packaging servers. 10:29
10:29 anatofuz joined 10:31 anatofuz left
jnthn Indeed, I'd also appreciate kepeing them regular. 10:35
10:36 anatofuz joined 11:04 Geth joined 11:15 anatofuz left 11:17 anatofuz joined 11:20 |Tux| left 11:21 anatofuz left 11:25 |Tux| joined 11:30 anatofuz joined
jdv79_ i personally consider "because IDE" and the like to be poor justifications 11:33
11:33 robertle left
jdv79_ for instance i would be typing those file extensions by hand - probably everywhere 11:33
11:34 jdv79_ is now known as jdv79 11:35 robertle joined
AlexDaniel jdv79: yeah, it does feel like the next PR we'll be voting on is “Add short versions of extensions” :D 11:48
or maybe not 11:49
11:53 |Tux| left 12:01 |Tux| joined
jnthn I think the issue pretty much discovered that if we want short versions that match up nicely, we have to re-use some RealMedia extension or other. 12:03
12:05 anatofuz left 12:06 anatofuz joined 12:10 anatofuz left
AlexDaniel jnthn: not exactly? If I understood correctly there's not much wrong with rk rkm rkd 12:13
ok rk clashes with WinRK but nobody really seemed to care
the lack of extension for tests seemed to be the only problem to me, but then again, .t is also fine
jnthn .rkt 12:19
Yeah, there's no way we can use .rkt.
I think for now, let's see how things go with the longer ones.
Maybe everyone just gets used to it / isn't that bothered by it. 12:20
AlexDaniel the only justification for a test extension I've seen was “my text editor doesn't know how to process shebangs in .t files”
jnthn That seems a very common situation. 12:26
12:27 |Tux| left 12:33 |Tux| joined
AlexDaniel jnthn: you mean a very common bug? 12:35
so if any other language decides to use prove they'd also need to come up with a separate extension?
timotimo there's a point where "a common bug" becomes "a situation" 12:36
and at that point saying "well, it's a bug in *their* thing" is just dumb
AlexDaniel it's a thing that can be fixed 12:37
no one is insisting on not processing shebangs in .t files
timotimo mhm 12:38
AlexDaniel so instead of filing tickets like “please add support for .rakutest extension” we could as well be asking to process .t files properly 12:39
even today, right now, you can create a .t file with these contents:
#!/usr/bin/env python3
print("1..1\nok 1 - bot joined the channel")
evalable6 1..1
ok 1 - bot joined the channel
AlexDaniel then just run `prove`
with no arguments
oh wait, or is it working because it also works in perl5?
AlexDaniel tests 12:40
no, it works because it runs it as python 12:41
I should've provided a better test for you, of course, but it doesn't matter. Point is, .t files could be anything
12:42 robertle left
AlexDaniel and I'm pretty sure almost any editor can handle shebangs in files without extensions 12:43
12:44 robertle joined
lizmat AlexDaniel: sorry for the confusion, I was duped by the list that Github presented me... :-( 12:47
AlexDaniel lizmat: that, however, let me realize that github has a limit on how much reviews you can request 12:49
lizmat and yes, I *am* getting impatient by the apparent lack of movement
AlexDaniel 15, for some reason
how many I mean
lizmat well, if that is really the issue, then please let us close the current PR, and set up a new PR referring to the old, and let people vote on that
AlexDaniel lizmat: no, there's no issue 12:50
lizmat the history on how we got to the document is less important now
AlexDaniel nothing needs to be done, it's all fine now
lizmat ok, sorry again for the noise and the confusion
AlexDaniel it's just that once we go past 15 reviewers (currently at 13) we won't be able to use the “request a review from …” feature 12:52
lizmat well, hence maybe start a new PR ?
AlexDaniel well, only for 15 people
lizmat: we're currently at 13! There's no problem with the PR :)
lizmat ok
timotimo i have no overview any more for all the stuff going on and github notifications are completely useless :< 12:53
AlexDaniel timotimo: github.com/perl6/problem-solving/p...-534030831
12:58 lucasb joined 13:02 anatofuz joined
AlexDaniel also, `prove` doesn't even see .t6 files currently, not by default 13:03
the position that a separate extension is needed for tests is extremely weak
|Tux| Rakudo version 2019.07.1-340-gca5e3f1c8 - MoarVM version 2019.07.1-236-g92dd055be
csv-ip5xs0.759 - 0.797
csv-ip5xs-206.228 - 6.369
csv-parser21.420 - 22.028
csv-test-xs-200.422 - 0.428
test7.214 - 7.301
test-t1.715 - 1.726
test-t --race0.773 - 0.781
test-t-2029.033 - 29.665
test-t-20 --race9.183 - 9.466
13:08
timotimo that pullrequest currently speaks about extensions as well 13:12
AlexDaniel it does, yeah 13:13
timotimo how does reviewing the pullrequest interact with the discussion what the extensions should be 13:15
AlexDaniel if everyone approves, then we'll end up with .raku .rakumod .rakudoc .rakutest 13:16
timotimo oh
personally i'd prefer the shorter extensions
AlexDaniel .rk .rkm .rkd .t ?
timotimo yeah 13:17
AlexDaniel we're on the first day of the 2 week period, so changing it now doesn't throw us back at all…
timotimo i interpret the … as sarcasm, is that wrong? 13:18
AlexDaniel don't intepret it, it's just me thinking out loud
no sarcasm, it's better to change things now rather than later 13:19
13:19 anatofuz_ joined
AlexDaniel I personally think the long extensions are quite ugly when actually used, say Set.rakumod, and now I'm also starting to feel strongly about the test extension 13:19
13:20 anatofu__ joined 13:21 anatofu__ left 13:22 anatofuz left 13:24 anatofuz_ left
vrurg AlexDaniel: just would like to remind you that the problem with editors is not that they don't understand shebang but that they're either only allows one file type per extensions (intelliJ family) and that's not chanhable. And I'm not sure if perl6 package in Atom can be fixed not to disable perl5 just because they both claim for .t 13:27
timotimo of course it's changable!
just needs a few millions lines of code to be changed across multiple products and lots of plug-ins 13:28
worst case
AlexDaniel vrurg: so how does it work, for example, for *.sh files? 13:31
vrurg AlexDaniel: no idea. I think it's a lot of headache for those using intelliJ and needing more than one type/ext 13:32
Atom is perhaps easier to get done right because it's allowing on-the-fly type change. So, it's only about the packages in question. 13:33
But considering that intelliJ is kinda official platform now their policy of one type - one ext is leaving us not so many choices. 13:34
AlexDaniel “Please be aware that if you do not include the t extension above, your t files will be highlighted with the language-perl highlighter unless the first line contains use v6;.” 13:37
so atom will already do the right thing if you have `use v6`, it just needs to be improved a bit to look for the shebang
that's considering that you use this: atom.io/packages/language-perl6
“And I'm not sure if perl6 package in Atom can be fixed not to disable perl5 just because they both claim for .t” 13:38
what are you talking about?
vrurg AlexDaniel: I'm talking about language-perl package being forcingly disabled in my Atom. I'm using Vim for perl files only because of this. 13:40
It's being disabled by perl6. Somehow long time ago I linked this to their both claiming .t extensions. Could be wrong, of course, about the reason, but not about the disabling itself. 13:41
AlexDaniel vrurg: I don't get it? I'm looking at “How do I use this?” here: atom.io/packages/language-perl6
“This language grammar should automatically highlight .p6, .pod6, .pm6 and .nqp files. The language grammar will also detect files whose first line includes use v6, a shebang whose last term before any whitespace is perl6 , =begin pod, or my class.” 13:42
it even sounds like it should work for .t files too if you have a shebang
regardless of whether you have `use v6` or not 13:43
vrurg I'm talking about language-perl being disabled in my Atom. Nothing else.
AlexDaniel vrurg: so why did you disable it?
vrurg No matter what documentation says, this is a fact of life.
AlexDaniel I'm totally not following it
vrurg It. Wasn't. Me. Installing language-perl6 disables it. Trying to enable it manually doesn't work. 13:44
AlexDaniel samcv: any thoughts on this? ↑ 13:45
vrurg Alex, wouldn't it be about that stupidies of intelliJ and this minor but irritating problem with Atom – my vote would also go for short extensions and .t. But that's where we're now. And intellJ is absolutely no way get fixed.
AlexDaniel ok so what I'm getting is that the Atom part is most likely a non-issue, now intelliJ is a bit more interesting 13:46
“no way get fixed” is probably also false 13:47
there's at least this: youtrack.jetbrains.com/issue/IDEA-175757
found the link from here: intellij-support.jetbrains.com/hc/...-detection
vrurg 2 years old vote? How long would it take to get it implemented? There is nothing but proposals. I don't think this feature would ever take off. 13:50
Not in another 2-3 years. 13:51
AlexDaniel yeah and how long will it take for prove to start accepting extensions other than .t? 13:54
probably never because it doesn't make much sense :P
as for intellij, what's the actual problem we're talking about?
so if a user has both Perl and Raku plugins installed? 13:55
is perl plugin installed/enabled by default?
vrurg I think timotimo can explain better. My intelliJ experience is currently limited to occasional Comma installs. Briefly: ".t is Perl5. Period. No, you can't change it." 13:57
timotimo i don't know the details
maybe it's fine if you only have the comma plugin or use the comma ide standalone version
AlexDaniel “BashSupport can detect files based on the shebang if there is no file extension.” 13:59
so somehow it works for bash
so it could be that the Perl plugin will have to be tweaked too
but this doesn't look unfixable to me now?
vrurg BTW, as to prove, I think it's reliance solely on extension for batch processing is a weak point. It'd be better to have support for a list of test files somewhere. 14:00
AlexDaniel you can provide the files on the command line
vrurg AlexDaniel: no idea. But don't expect decent user to do as much research as you do. They will install, get into troubles, got search for something less troublesome. A lot of them would do it. 14:01
AlexDaniel exactly, which is why running `prove` with no arguments is very convenient 14:02
vrurg Let's leave prove aside as to not clutter to chat. :) I can look into it and produce a PR for the new extension. 14:03
The note on users was about IDE, not prove.
AlexDaniel if I were them I wouldn't accept it 14:04
they already have means of using it for other languages, adding a new extension for any other language doesn't sound like a great idea 14:05
there was this ticket: github.com/perl6/user-experience/issues/36
but seems like nobody created a new ticket for prove 14:06
also, we've been using .t for years
vrurg BTW, leont is right – we have prove6. 14:07
AlexDaniel and it's just recently that people started to kinda use .t6 after the push for .p6 .pm6
treegrep: \.t6
greppable6 AlexDaniel, gist.github.com/8e66fe52d66f35f9ab...9a083bd9a6
AlexDaniel exactly one user of .t6, but the info is outdated because perl6-all-modules repo is stuck 14:08
vrurg Anyway, it all takes too much time. I personally don't care much and more inclined to lizmat attitude: get it all done, finally. That's why the voting – because extensions were taking too much time, we had get through it and close the matter.
14:28 epony joined
AlexDaniel vrurg: we already had a get-it-done alias 14:47
didn't really work
vrurg AlexDaniel: no idea what are you talking about. :) 14:52
Whatever. Since the release is postponed, i think it's ok to merge anoter round of makefile temaplates update. 14:53
15:17 ufobat_ joined 15:20 ufobat left 15:22 robertle left
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/09/23/...else-itch/ 15:28
[Coke] lizmat++ 15:33
15:50 cognomin_ joined 15:55 cognominal left 16:11 robertle joined 17:03 dogbert11 joined
lizmat jnthn: looking at github.com/rakudo/rakudo/blob/mast....nqp#L1751 18:22
and github.com/rakudo/rakudo/blob/mast....nqp#L1758 18:23
it feels to me we're keeping the same info (the callables for FETCH and STORE) in 2 locations
ah, no... 18:25
PROXY_FETCH and PROXY_STORE are the callables that will call the &!FETCH and &!STORE
still looking at stackoverflow.com/questions/580553...rectly-tie 18:26
so if I understand correctly, to make subclassing of Proxy possible, somehow we need to set the nqp::setcontspec on the parent class ? 18:32
s/parent class/subclass/
18:34 Ven`` joined
MasterDuke lizmat: i have no answer to your question, but just wanted to say i'm happy to see you looking at/working on rakudo again 18:36
lizmat MasterDuke: thank you for your kind words 18:37
meanwhile, I'm going to be afk to see some fallen angels :-)
MasterDuke movie? 18:38
lizmat yeah... "Angel has fallen" :-)
seems to be the right thing to go see on a Monday night 18:39
"for real meatheads" it said in one review :-)
afk& 18:40
Geth_ nqp/master: 14 commits pushed by (Vadim Belman)++
review: github.com/perl6/nqp/compare/c8f6b...401b4801fe
19:12
rakudo/master: 10 commits pushed by (Vadim Belman)++
review: github.com/rakudo/rakudo/compare/c...60e7d66c36
19:14
rakudo: 554f91e88c | (Vadim Belman)++ | tools/templates/NQP_REVISION
Bump NQP version

Get support for latest build changes.
19:23
MasterDuke vrurg: interesting. after your latest nqp commits i got some `Merging GLOBAL symbols failed: duplicate definition of symbol <different thing each time>`, until i changed my `make -j12 install` to just `make install` (configured with ` --backends=moar`) 19:42
is there a way to make parts of the makefile non-parallelizable, even if someone puts `-j <some number greater than 1>`? 19:43
`make -j12 install` does work fine for rakudo 19:45
timotimo it doesn't do anything at all though 19:46
the dependency tree is linear for almost all of the rakudo build
MasterDuke i know, but i like to leave it there so my build command is the same for all three parts (moarvm+nqp+rakudo). and then hopefully when it can somehow be parallelized, i'll just get it without having to think about it 19:48
timotimo ah
well, if -j6 makes things break, that's a bug
jnthn lizmat: See what BoolificationProtocol and InvocationProtocol do in the MOP (effectively, they also have to deal with the "want subclass to carry meta-properties of the superclass", and you can take inspiration from those). 19:52
lizmat: Probably the trick is to add a role in the MOP that carries a property, which in turn sets the invocation spec. Rather than doing that directly in BOOTSTRAP. 19:54
vrurg MasterDuke: I'll be away for ~2hrs. Is it nqp problem? Because rakudo has .NOTPARALLEL 19:56
MasterDuke vrurg: yeah, it's only nqp. not major, i can build just fine when i don't set a -j value. but maybe that .NOTPARALLEL should be used for nqp also 19:58
19:59 travis-ci joined
travis-ci Rakudo build failed. Vadim Belman 'Merge pull request #3194 from vrurg/build-fixes 19:59
travis-ci.org/rakudo/rakudo/builds/588609324 github.com/rakudo/rakudo/compare/c...60e7d66c36
19:59 travis-ci left
samcv AlexDaniel, vrurg yeah i'm not sure. uh. from my experience you can have language-perl enabled, but then it may take precedence over language-perl6, since language-perl has a (bad) perl 6 grammar 20:25
but i've never seen it disable itself without the user doing it 20:26
a list of the modules you installed in atom might be useful? not sure
21:05 Ven`` left, Ven`` joined 21:06 Ven`` left 21:27 MasterDuke left 21:47 go|dfish left 21:49 TreyHarris left 21:50 anatofuz joined
vrurg samcv: if I enable language-perl manually on restart I get a message that it was disabled "for a more Perl6 fun editing experience". 21:55
Geth_ ¦ problem-solving: Xliff assigned to jnthn Issue Delegation does not handle multi-methods. github.com/perl6/problem-solving/issues/107 21:57
22:01 go|dfish joined 22:22 cognominal joined 22:25 cognomin_ left, anatofuz left 22:40 TreyHarris joined 22:50 anatofuz joined 23:07 anatofuz_ joined, anatofuz left, anatofuz_ left 23:10 anatofuz joined, anatofuz left
Geth_ nqp: 0e50a50035 | (Vadim Belman)++ | tools/templates/Makefile.in
Disable parallel build

It doesn't work for now.
23:15
23:27 travis-ci joined
travis-ci Rakudo build failed. Vadim Belman 'Merge pull request #3194 from vrurg/build-fixes 23:27
travis-ci.org/rakudo/rakudo/builds/588609324 github.com/rakudo/rakudo/compare/c...60e7d66c36
23:27 travis-ci left 23:44 anatofuz joined