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:12
vrurg left
00:15
AlexDani` joined
00:19
AlexDaniel left,
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
01:12
Kaypie joined,
Kaiepi left
04:00
pamplemousse joined
06:08
shareable6 left,
committable6 left,
reportable6 left,
AlexDaniel` left,
nine left
06:12
benchable6 left,
coverable6 left,
zostay left
06:18
benchable6 joined,
coverable6 joined,
zostay joined,
TreyHarris joined,
card.freenode.net sets mode: +vv benchable6 coverable6,
shareable6 joined,
committable6 joined,
reportable6 joined,
AlexDaniel` joined,
nine joined,
card.freenode.net sets mode: +vvv shareable6 committable6 reportable6
06:20
HarmtH left,
epony left
06:22
HarmtH joined
06:25
Kaypie left,
Kaypie joined
07:05
Kaypie left
07:08
Kaiepi joined
07:20
robertle left
07:48
epony joined
08:10
Kaypie joined,
Kaiepi left
08:12
rba[m] left,
AlexDaniel` left,
tyil[m] left
08:16
epony left
08:17
Kaypie is now known as Kaiepi
08:20
AlexDaniel` joined
08:53
tyil[m] joined,
rba[m] joined
09:18
robertle joined
09:56
Kaiepi left
09:59
Kaiepi joined,
Kaiepi left
10:00
Kaiepi joined
10:01
pamplemousse left,
epony joined
10:02
Kaypie joined,
Kaiepi left
10:25
Kaypie is now known as Kaiepi
10:45
Kaiepi left
10:49
Kaiepi joined
10:56
robertle left
11:18
pamplemousse joined
11:37
pamplemousse left
11:43
pamplemousse joined
12:41
robertle joined
|
|||
Geth | rakudo: eb88e64ea3 | (Elizabeth Mattijsen)++ | src/core/signals.pm6 Fix for R#3035 |
12:42 | |
synopsebot | R#3035 [open]: github.com/rakudo/rakudo/issues/3035 signal has odd signature | ||
timotimo | haha, the archive on perl6.org has the note "this file is part of the perl 6 archive" and below that, in white on white, " | 12:43 | |
Note: these documents may be out of date. Do not use as reference!" | |||
with the "not" in boldface | |||
something clearly went wrong with the stylesheets there | 12:44 | ||
12:47
Kaiepi left
12:48
Kaiepi joined
13:02
Kaiepi left
13:03
Kaiepi joined
13:10
Kaiepi left
13:20
Tux__ left
13:26
Tux__ joined,
Kaiepi joined
13:52
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Elizabeth Mattijsen 'Fix for R#3035' | 13:52 | |
travis-ci.org/rakudo/rakudo/builds/555283422 github.com/rakudo/rakudo/compare/c...88e64ea3c6 | |||
13:52
travis-ci left
|
|||
synopsebot | R#3035 [open]: github.com/rakudo/rakudo/issues/3035 [tests needed] signal has odd signature | 13:52 | |
lizmat | argh, "make test" fails | 13:58 | |
timotimo | passing todos! | 14:01 | |
Geth | rakudo: fcf1f761a1 | (Elizabeth Mattijsen)++ | src/core/signals.pm6 Make sure the signal proto matches Unbreaks "make test" and makes Travis happy |
14:10 | |
14:16
HarmtH left
14:18
pamplemousse left,
HarmtH joined
|
|||
timotimo | anyway, i have this optimization. should i push it to master just before release? ;) ;) ;) ;) | 14:18 | |
time to recompile cro and the heapanalyzer so that i can run moarperf at my recordings %) | 14:19 | ||
what. i read some amusing website for a few minutes and it's already done and didn't even tell me about it | 14:26 | ||
in my very scientific "send to and receive from channel a million times in a row" there's an improvement | 14:31 | ||
lizmat | timotimo: is this a MoarVM push? if not, I think AlexDaniel already has a release branch for the rest | 14:32 | |
timotimo | it's a pure rakudo change | ||
the number of GCs doesn't go down, but the one GC it does do over the entire run is a bunch later, and frees 20k BOOTHash more than the unoptimized code instead of freeing the 950k IntAttrRef that my optimization caused to never be created in the first place | 14:33 | ||
lizmat | timotimo: then push away, it'll be in the next release :-) | 14:34 | |
timotimo | OK | ||
ugexe | alternatively the other signature could be changed: multi sub signal(*@signals [$, *@], :$scheduler = $*SCHEDULER) | 14:35 | |
i guess does it ever make sense to call signal with no signals? | 14:36 | ||
or rather: does it make sense for it to blow up if its called with no signals (previous behavior) | 14:37 | ||
Geth | rakudo: 84ee0c8ce2 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp Optimizer: Don't use Int*Ref in first arg of if/unless/while/until (this refers to the low level nqp ops, so not necessarily immediately works on user code with these keywords, but at the very least, a ternary usually immediately turns into an if op. |
||
timotimo | that send/receive thing went from about 2s to about 1.75s | ||
ugexe | i'd probably want signals(@possibly-empty-arr) to not blow up | 14:38 | |
lizmat | yeah, that code needs a closer look at | 14:40 | |
ugexe | it looks like the new code should allow it to not blow up | 14:43 | |
14:56
patrickb joined
|
|||
patrickb | o/ | 14:57 | |
yoleaux | 6 Jul 2019 01:46Z <vrurg> patrickb: It's been totally crazy last two weeks for me. Will try to find some time over the weekend. | ||
6 Jul 2019 20:37Z <ugexe> patrickb: I imagine we'll drop travis-ci and just use circle-ci eventually, but right now the familiarity of travis is still helpful to have around. as for testing e.g. reloc, names-with-spaces, etc these can probably be done with circle-ci using cron jobs that run specific jobs, but i dont think appveyor has anything beyond "run default branch nightly" | |||
patrickb | Now that relocatability is finally done I want to tackle providing binary releases. | 14:58 | |
We might even manage to have a binary package that has moar VM for different platforms but every thing else shared | 14:59 | ||
I'd like to provide a compiler bundled with the Windows binary package. | 15:01 | ||
Now I'm pondering which compiler best to use. Mingw can be bundled, but there are some libraries (C++ libraries mostly) that it can't link. | 15:03 | ||
`cl` on the other hand can not be bundled for licencing reasons, we'd have to provide a script to download and install it. | 15:04 | ||
But the compatibility with Windows libraries is best. | |||
Then there is `clang` but I think the same limits as with `gcc` apply. | 15:05 | ||
AlexDaniel | holy shit that sounds awesome | 15:06 | |
patrickb | Also I'm not sure in how far perl6 modules that bundle a C file need to care about the compiler or if zef` abstracts all of that away. | ||
ugexe | choco install vcredist140 | 15:07 | |
patrickb | ugexe: So you would vote for `cl`? | 15:08 | |
AlexDaniel | lizmat: and yes, that's correct. Feel free to push to nqp and rakudo | ||
According to samcv++ we'll have moar release soon too | 15:09 | ||
patrickb | ugexe: Is that available on all reasonably new Windowses? | ||
AlexDaniel | so we'll finally get something out :) | ||
ugexe | i think it will provide the best experience for windows user and developers | ||
timotimo | if we bundle that, we can perhaps also have something that compiles and installs gtk and friends using vcpkg or what it's called | ||
ugexe | using the other compilers always results in pain anytime i've gotten that far into the weed | ||
patrickb | OK cl it is then. | 15:10 | |
ugexe | then again i've never had problems with strawberry perl which doesnt use cl afaik | 15:11 | |
patrickb | timotimo: I do like the current solution a lot. Waiting 15 minutes for the build is not pleasant | ||
timotimo | yeah, sadly vcpkg is extremely slow at that. but i'm sure it'd be at least 50x faster if it didn't compile and run tests ... | 15:12 | |
ugexe | most of that stuff could be cached in the CI if someone was sufficiently motivated | ||
timotimo | i mean, who really cares about knowing things are broken a minute before it happens ... | ||
ugexe | even if built from source | ||
patrickb | ugexe: strawberry bundles a GCC. Not sure what they compiled perl itself with. | ||
ugexe | artifact caching | ||
patrickb | Is anyone experienced with glibc compatibility an how to build *nix binaries that run on many distros and releases? | 15:15 | |
15:19
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Make sure the signal proto matches | 15:19 | |
travis-ci.org/rakudo/rakudo/builds/555315730 github.com/rakudo/rakudo/compare/e...f1f761a1da | |||
15:19
travis-ci left,
pamplemousse joined,
HarmtH left
|
|||
patrickb | Some advice along the lines of: "Get Ubuntu 5.04 (2005) in a Docker, build every thing in there an you are good to go!" would be awesome. | 15:20 | |
timotimo | sorry, not sure about that :( | ||
15:21
HarmtH joined
|
|||
AlexDaniel | patrickb: :( github.com/perl6/doc/issues/2859 | 15:21 | |
patrickb: it is definitely an issue | |||
patrickb | AlexDaniel: That's an instance of the problem, yes. From what I've read the usual approach is compiling with a reasonably old glibc. (As glibc is backwards, but not forward compatible). But how old is reasonable I do not know. | 15:26 | |
AlexDaniel | :S | ||
patrickb | AlexDaniel: What would be needed to add the creation of binary releases to the release process? Is a step by step documentation on what to do sufficient? | 15:29 | |
Or is the process automated in some way? | |||
AlexDaniel | patrickb: yeah, most of it is automated | 15:30 | |
patrickb: there's `make release` target, so you can do it in the makefile if you can | 15:31 | ||
patrickb: if you can't and it requires some manual steps, then just document it in the release guide: github.com/rakudo/rakudo/blob/mast..._guide.pod | 15:32 | ||
patrickb: on top of that there's a Sakefile that follows the steps of the release guide similarly to how a human would do it: github.com/rakudo/rakudo/blob/mast...e/Sakefile | |||
patrickb | OK. Manual steps will definitely be required. One needs to boot different OS'. | 15:33 | |
AlexDaniel | ok, then just document it in the release guide | ||
and then we'll automate it in the sakefile :) | |||
patrickb | I think I'll start with getting it to work on my machine, then documenting as good as I can. Then look into automating it. | 15:34 | |
Yeah, that's what you already said... | 15:35 | ||
Do the releasers have a Windows somewhere by any chance? | |||
AlexDaniel | not exactly, no | ||
I most relied on the output from appveyor | 15:36 | ||
but even then, nobody really spectests on windows… and that's bad | |||
patrickb | OK. We might manage to use appveyor for this, but I wouldn't get my hopes up... | ||
AlexDaniel | maybe just document steps to set up a VM? | 15:37 | |
I think nowadays it's relatively easy? | |||
patrickb | VM s might be a good idea. I'd like to use containers or similar for building anyways so we can guarantee a reproducible build environment. | 15:40 | |
Only problem is you still have to buy a Windows. | |||
Or just havesomeone that has a Windows installed do the Windows build. | 15:41 | ||
I think there is no practical Windows container solution on dode | 15:43 | ||
... on Windows for Windows? | |||
AlexDaniel | patrickb: do you have to buy it? I thought there was some special image for devs somewhere | ||
I could be mistaken though | |||
patrickb | I heard about that too, but not sure it's still available... | 15:44 | |
timotimo | i used them a few times; they were for testing internet explorer with your sites/apps | 15:47 | |
patrickb | Chocolatey seems not to be preinstalled on Windows. | ||
timotimo | www.modern.ie/en-us/virtualization-tools - well, this isn't it | ||
patrickb | timotimo: do you have a link? | ||
timotimo | developer.microsoft.com/en-us/micr...tools/vms/ - this one i think | 15:48 | |
15:48
pamplemousse left
|
|||
patrickb | Just found this: developer.microsoft.com/en-us/wind...l-machines | 15:51 | |
ugexe | you can install choco with a one-liner | 15:58 | |
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" | |||
timotimo | that's equivalent to curl blah | sh? :) :) | 15:59 | |
patrickb | Is it ok to install chocolatey on a users computer who just to | ||
Wants to have a compiler installed? | 16:00 | ||
timotimo | yeah, we should at least ask in the installer if they want chocolatey and the Ask.com toolbar | ||
patrickb | Sorry, no real keyboard in front of me. | ||
I hoped for simple .zip file actually. | |||
And a .bat or .p6 file to install the compiler maybe. | 16:01 | ||
The build tools support silent installation. So we can just download + silent install. Only question: Can we do this in a .bat file? | 16:13 | ||
ugexe | just use powerscript imo | 16:14 | |
timotimo | you can call powershell from .bat and pass the powershell script | ||
ugexe | s/powerscript/powershell/ | 16:15 | |
patrickb | I think that will not work on all computers as power shell is often execute-locked | ||
timotimo | oh, huh? | 16:16 | |
ugexe | i'd be interested in seeing that quantified | ||
patrickb | About the only things you can double click start reliably are .exe and .bat. :-( | ||
ugexe: Good question! Me too! | 16:17 | ||
ugexe | well the .bat can just call the powershell script | ||
timotimo | are .msi out of the question? | ||
ugexe | i'd only expect powershell to be locked down on some type of super duper enterprise windows shop | 16:18 | |
patrickb | timotimo: can such things as download + execute be done with MSI? | ||
timotimo | i'd expect so, but i don't actually know how msi works | 16:19 | |
patrickb | ugexe: as is the case on my work computer :-P | ||
timotimo | omfg | ||
ugexe | but then should you be installing this at all then? | ||
timotimo | "what can msi do" in google gives me many results a la "what is an msi file what do you need to install so you can click on it is it dangerous for viruses" | ||
16:20
travis-ci joined
|
|||
travis-ci | Rakudo build failed. Timo Paulssen 'Optimizer: Don't use Int*Ref in first arg of if/unless/while/until | 16:20 | |
travis-ci.org/rakudo/rakudo/builds/555327939 github.com/rakudo/rakudo/compare/f...ee0c8ce263 | |||
16:20
travis-ci left
|
|||
ugexe | i.e. if your shop is locking down powershell won't they likely lock down other things (possibly compiler-y things?) | 16:20 | |
timotimo | looks like an msi can just extract an .exe and immediately run it | 16:21 | |
patrickb | ugexe: Kind of true, but the solution with the least potential of failing is the one to choose I'd say. | 16:22 | |
timotimo | let's develop a pure .bat package management solution so we don't have to force our users to install chocolatey | 16:23 | |
ugexe | powershell is going to give you a bunch of tools to avoid other types of failure though... i.e. you get a fake curl/wget to handle fetching | ||
patrickb | Good point | ||
ugexe | if only there was a Perl 5 Alien::VisualC | 16:24 | |
then we could just install a stand-alone strawberry perl 5 and use that | |||
patrickb | ugexe: does zef handle the envvar32.bat magic that is needed before running cl? | 16:25 | |
Well, if we are willing to install strawberry, we could just use their GCC... | |||
ugexe | no. you can add meta data that a builder module can parse/handle though github.com/niner/Inline-Python/blo...on#L36-L65 | 16:26 | |
builder field should actually be 'Distribution::Builder::MakeFromJSON' but you get the point | 16:27 | ||
16:27
vrurg joined
|
|||
ugexe | all that is the next gen of Build.pm6 fwiw, although it hasn't really been touched since 2 perl toolchain summits ago | 16:29 | |
patrickb | But then the module is responsible of dealing with compiler intricacies | 16:30 | |
I think I probavly misunderstood the point you wanted to make. | 16:31 | ||
timotimo | yes, yes. a provable misunderstanding :) | ||
patrickb | :-P | 16:33 | |
16:33
llfourn left
|
|||
ugexe | well someone can create a Distribution::Builder::* module to do whatever it is you need. | 16:33 | |
16:34
llfourn joined
|
|||
ugexe | if such logic existed in zef would it still be useful in 5 years or would we be cursing how we can't get rid of it now? | 16:34 | |
a builder module could, for example, provide an external API via env vars to allow the person using zef to e.g. set some alternate path to some library | 16:35 | ||
16:35
patrickb left
16:36
patrickb joined
|
|||
patrickb | OK. So in short the extra loops `cl` makes one jump through are no reason not to choose `cl` over `gcc` for this endeavour. | 16:36 | |
ugexe | the loops that we are aware of. fate will probably dictate that it is impossible for some obscure windows reason | 16:43 | |
it might also be worth mentioning that i think cl creates faster code on windows than other compilers too | 16:45 | ||
patrickb | I have to leave now. Thanks for all the help and heads up! | ||
ugexe: Yeah, I'll go for cl. Seems the sanest choice at the moment. | 16:46 | ||
o/ | |||
16:46
patrickb left
17:18
AlexDaniel left
17:19
AlexDaniel joined
17:33
btyler left
17:52
lucasb joined
|
|||
Geth | rakudo: a46c414f77 | (Elizabeth Mattijsen)++ | 2 files Only initialize HLL version of nqp::getsignals once |
17:53 | |
ugexe | m: &::("foo") | 18:03 | |
camelia | No such symbol '' in block <unit> at <tmp> line 1 |
||
ugexe | m: ::("&foo") | ||
camelia | No such symbol '&foo' in block <unit> at <tmp> line 1 |
||
ugexe | m: &::("foo")::bar | 18:04 | |
camelia | No such symbol '&bar' in block <unit> at <tmp> line 1 |
||
ugexe | m: ::("&foo")::bar | ||
camelia | No such symbol '&foo::bar' in block <unit> at <tmp> line 1 |
||
19:04
travis-ci joined
|
|||
travis-ci | Rakudo build passed. Elizabeth Mattijsen 'Only initialize HLL version of nqp::getsignals once' | 19:04 | |
travis-ci.org/rakudo/rakudo/builds/555407220 github.com/rakudo/rakudo/compare/8...6c414f77e8 | |||
19:04
travis-ci left
|
|||
kawaii | Hi people, sorry for being absent the last few days. I've been in hospital due to a slight personal emergency. I | 19:42 | |
am not sure if AlexDaniel picked up release tasks in the meantime | |||
I'm not feeling 100% yet, but hope to be back with you in the next week | |||
AlexDaniel | kawaii: we're alright, waiting for the moar release really | 19:43 | |
kawaii: I did sort the remaining commits in the changelog and some rewording is needed, so that's still in progress, but I do it much quicker when the release needs to be done :) | |||
kawaii: meanwhile the squashathon went great: github.com/ajs/perl6-Math-Sequence...-509005868 | 19:44 | ||
kawaii: rakudo and nqp have release branches now, so people are committing directly to master no problem | |||
kawaii | good to hear, thank you for updating me | ||
AlexDaniel | kawaii: it's not the same in moar, so that's still blocking some people, but samcv++ said that we'll have a moar release soon™ | 19:45 | |
kawaii: so yeah, please take care of yourself :) | 19:47 | ||
kawaii | I had some dark personal circumstances (relationship related as you might guess) and my mental health took a turn for the worse Wednesday evening but I feel a little better now. I want to stay involved in the community though since it's a nice distraction :) | 19:49 | |
and it's been 4 days since I wrote any perl 6 code so, need to do something about that :) | |||
lizmat hugs kawaii | 19:57 | ||
timotimo | i wish you all the bests | 19:58 | |
20:12
lucasb left
|