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.
Geth rakudo: vrurg++ created pull request #2946:
Make subsets validate against their constraints same way as definites do.
01:05
03:24 gfldex joined 04:58 SqrtNegInf left 06:26 robertle joined 06:33 leont joined 06:39 vrurg left 07:45 leont left
[Tux] Rakudo version 2019.03.1-547-g2566db7b9 - MoarVM version 2019.05-33-gc20f896f1
csv-ip5xs0.722 - 0.725
csv-ip5xs-205.916 - 6.259
csv-parser21.963 - 22.761
csv-test-xs-200.429 - 0.460
test7.010 - 7.355
test-t1.755 - 1.765
test-t --race0.820 - 0.848
test-t-2028.734 - 29.592
test-t-20 --race9.570 - 9.656
07:49
08:32 gfldex left 08:36 gfldex joined 08:41 gfldex left
lizmat Files=1262, Tests=108013, 203 wallclock secs (26.65 usr 7.62 sys + 2839.76 cusr 280.37 csys = 3154.40 CPU) 08:45
08:59 gfldex joined 09:05 gfldex left
lizmat bisectable6: my @a = ^10; $_ += 42 for @a.reverse; dd @a 09:10
bisectable6 lizmat, On both starting points (old=2015.12 new=2566db7) the exit code is 0 and the output is identical as well
lizmat, Output on both points: «Array @a = [42, 43, 44, 45, 46, 47, 48, 49, 50, 51]␤»
AlexDaniel lizmat: I'm curious, how could it possibly be something else? 09:11
lizmat wanted to make sure it wasn't :-) 09:12
testing a fix for R#2925 09:14
synopsebot R#2925 [open]: github.com/rakudo/rakudo/issues/2925 [performance][regression] .reverse takes time when it probably shouldn't
Geth roast: lukasvalle++ created pull request #546:
Test for github.com/rakudo/rakudo/issues/1219
09:19
roast: bd78c46ba2 | lukasvalle++ | S10-packages/precompilation.t
Test for github.com/rakudo/rakudo/issues/1219
09:21
roast: 827385b8ca | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | S10-packages/precompilation.t
Merge pull request #546 from lukasvalle/master

Test for github.com/rakudo/rakudo/issues/1219
rakudo: 2683b3d098 | (Elizabeth Mattijsen)++ | 2 files
Make List.reverse a bit less Seqqy

  - doesn't actually fix R#2925, but simplifies code
  - turned out, the iterator approach was as memory hungry as the
   original "just-reverse-the-reified" approach.
  - so go back to the "just reverse" approach, and simplify it
  - remove R:I:ReifiedListReverse, as it is no longer needed
... (6 more lines)
09:31
synopsebot R#2925 [open]: github.com/rakudo/rakudo/issues/2925 [performance][regression] .reverse takes time when it probably shouldn't
09:32 gfldex joined
lizmat afk for the rest of the day& 09:36
Geth rakudo: e118d4efa0 | (Elizabeth Mattijsen)++ | 2 files
Revert "Make List.reverse a bit less Seqqy"

This reverts commit 2683b3d0987a93a8e8dccca96bd4097ec221a49f.
Oops, didn't test this thoroughly enough: it causes spectest fallout. As I need to go away now, reverting for further investigation tomorrow.
09:58
lizmat really afk& 09:59
11:00 gfldex left 11:16 gfldex joined 11:58 gfldex left 12:40 gfldex joined 12:41 ggoebel joined 12:56 gfldex left 13:23 gfldex joined 13:44 gfldex left 13:45 gfldex joined 16:29 leont joined 17:35 ggoebel left
robertle what's up with the next release? what's stopping it? I can't figure it out.. is it N#544? 17:55
synopsebot N#544 [open]: github.com/perl6/nqp/issues/544 [BLOCKER][regression] Build fails with MoarVM in a different prefix
ugexe that is one thing, yes 17:56
there is also issues on 32bit systems and windows regarding big ints. possibly other issues from other updates/commits that occured a few weeks ago when appveyor went red 17:57
i'll test a fix for the windows thing whenever the build system can build a working perl6 on windows again 17:59
robertle ok, thanks for the info!
18:13 patrickb joined 18:20 gfldex left 18:34 gfldex joined
AlexDaniel robertle: I'm curios to know why you're interested. Like, the freeze is already behind, so for debian it doesn't matter, right? 18:40
u
18:48 gfldex left 18:49 gfldex joined 18:55 gfldex left 19:00 gfldex joined
patrickb I have a PR set that change rakudo, nqp and nqp-configure. They rely on each other. Is there anything else to do besides merging them simultaneously? "nqp bump" is a term poping up in commits from time to time, but I'm not sure what that actually does and if it's needed in my case. 19:20
ugexe nqp bump is what nqp is chosen when no revision is given. this gets pinned somewhere occasionally in a file called NQP_REVISION 19:21
`rakudobrew build moar-blead` ignores the nqp revision for instance
so in CI tests you can still tell if it worked because one of the build matrix envs uses --gen-moar=HEAD 19:22
but for it to work for most people you need to bump the nqp revision
19:23 ufobat joined
ugexe since windows build is currently busted i would suggest bumping nqp as soon as the merges are made 19:24
i forget the command to get the revision though. something like `git tag --something` 19:25
AlexDaniel git describe 19:29
patrickb: so yeah you run `git describe` in Moar and NQP and then write these strings into NQP_REVISION and MOAR_REVISION files
is there any easier way? Yes: github.com/zoffixznet/z 19:30
something like: z f && z bump m && z bump n && z bump push
also I think there was a shorthand for that, but I just ctrl+r anything nowadays so I don't care as much… :)
(yay infinite bash history) 19:31
robertle AlexDaniel: correct, for this debian release it doesn't matter much. I was just wondering because it has been a while and I couldn't really identify the blocker. 544 doesn't really look that ctritical or hard to fix... I am totally oblivious to windows problems though, so that explains :) 19:35
19:38 vrurg joined
patrickb ugexe: From my side the PRs are now ready for merge after the last set of changes proposed by vrurg++. 19:38
ugexe: Do you think I could just merge them and let the MoarVM PR get merged later? 19:39
AlexDaniel robertle: nowadays it is hard to make new releases. Big changes are landing all the time, and all previous releases are very stable, so it's hard to make a new one that doesn't break stuff
patrickb Wait, no. That's a bad idea.
Then we'd build a relocatable moar with a non-relocatable NQP and Rakudo on top. We shouldn't do that.
o/ vrurg 19:40
vrurg o/
patrickb vrurg: Can you tell me why there is sometimes a doubling of the @@ in Makefile rule dependency lists?
AlexDaniel opens the window to listen to Bon Jovi
patrickb AlexDaniel: A neighbor or the real deal? 19:41
AlexDaniel patrickb: real deal
patrickb OO
vrurg patrickb: It's for makefile whitespace escaping. Basically, it's a shortcut for sp_escape macro. 19:42
patrickb vrurg: Then I might have actually done it correctly.
vrurg patrickb: as long as you're talking of your changes – you did. 19:44
patrickb: @@ only makes sense to protect spaces from being parsed by make and mostly for targets and deps.
patrickb vrurg: I pushed more changes that incorporate your latest feedback a few minutes ago.
vrurg Didn't see them yet. Not sure if will have time to review today but will do my best. 19:45
AlexDaniel patrickb: I'm actually about 2 or 3 km away, but in calm weather it is loud and clear :) 19:46
patrickb is jealous...
vrurg AlexDaniel: with regard to breaking things – did you see my yesterday's comment on problem solving #3? 19:47
AlexDaniel vrurg: I sure did see it, but did I comprehend it?
vrurg Was I obscure? Could be, still lacking proper English skills. :( 19:48
Basically, the point is that `subset SS of Any where *.defined; my SS $s' must fail without `is default` or an initializer. But implementing this breaks backward compatibility because now `SS ~~ SS` is true but it shouldn't be. 19:50
AlexDaniel SS ~~ SS should be False? Why?
vrurg Because SS' constraint expects a defined value. 19:51
AlexDaniel ooh
vrurg m: say Int:D ~~ Int:D
camelia False
vrurg m: subset SS of Any where *.defined; say SS ~~ SS 19:52
camelia True
AlexDaniel vrurg: maybe jnthn can help? Things go a bit over my head right now, defending my thesis in two days :)
vrurg AlexDaniel: I'm not expecting some kind of final answer. Neither it's something urgent. I'm just stuck in possible options and desperately looking for any opinion. ;) 19:53
e: use v6.c.PREVIEW; 19:54
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/2F0Qrl2buI
No compiler available for Perl v6.c.PREVIEW
at /tmp/2F0Qrl2buI:1
------> 03use v6.c.PREVIEW08⏏04;
vrurg Oh! The right answer.
AlexDaniel e: use v6.what.ever; 19:55
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/FjGbnP3sji
No compiler available for Perl v6.what.ever
at /tmp/FjGbnP3sji:1
------> 03use v6.what.ever08⏏04;
AlexDaniel e: use v6.;
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/tdt20KXy5c
Malformed postfix call
at /tmp/tdt20KXy5c:1
------> 03use v6.08⏏04;
AlexDaniel e: use v9;
evalable6 (exit code 1) 04===SORRY!04=== Error while compiling /tmp/p6Ly4XfWtR
No compiler available for Perl v9
at /tmp/p6Ly4XfWtR:1
------> 03use v908⏏04;
vrurg The 'postfix call' is probably coming from the grammar. I wouldn't touch that yet. 19:56
AlexDaniel it shouldn't work, yeah
just trying to find a way to trip it :)
vrurg: it does seem to work! Thanks! 19:57
that issue was very old…
vrurg The postfix one or the other? 19:58
AlexDaniel vrurg: the ones you fixed 20:02
vrurg: you'll likely be able to close some tickets if you search for them
ah, weird 20:04
there was github.com/rakudo/rakudo/issues/2783 but nothing else?
vrurg I'll check, thanks! Actually, my plan was to finish with subsets, do something about BUILD/DESTROY in roles and then go through the tickes trying to close whatever possible.
AlexDaniel mmm it seems like the issue only appeared in 2018.11, so I guess I'm misremembering things 20:06
vrurg Ha, I'm not the first one to ask the question: github.com/rakudo/rakudo/issues/2464 :D 20:07
ugexe we could always implement the long lost full form `use Perl:ver<6.d>:api<PREVIEW>` 20:09
20:10 ufobat_ joined
vrurg ugexe: would it make any sense besides of unnecessary complication? 20:11
ugexe well for one you have all the mechanisms available to normal module loading (auth/api) that are not available for pragmas 20:12
additionally I find `use Perl:ver<6.d>` preferable to `use v6.c` and would argue the later is the complication
20:14 ufobat left
AlexDaniel ugexe: maybe we should have a shorthand for that? Something like `use Perl v6.d;` 20:15
ugexe github.com/perl6/specs/blob/master...odules.pod
it notes `use Perl:auth<cpan:TPF>` would be valid
AlexDaniel hmm “`use v6;` which is short for: `use Perl:ver<6.*>;`” 20:16
ugexe but its not short for that right now. its a completely separate thing. 20:18
all the handling for this stuff should go into the long form, and the short form *should* just be a wrapper around it 20:19
from a purist point of view anyway 20:20
vrurg patrickb: everything looks great! 20:21
patrickb vrurg: Thanks!
vrurg Thank you! 20:22
patrickb I think they are ready to merge. Now just waiting for the MoarVM PR to be merged, because they should be merged simultaneously.
I guess it won't happen today.
vrurg I'd need to take care about white spaces in path names at some point too. Furst, it would require dropping use of full paths wherever possible – especially where it's related to sources. 20:23
ugexe thats a fun problem with cross-volume building :) 20:24
vrurg It's the only way to work around oddities of Windows quoting and escaping.
patrickb vrurg: I'm working on that already.
I'm at the point MoarVM, NQP and Rakudo are building on windows with a space in their path. 20:25
ugexe for instance: building on volume C but installing to volume D
patrickb Well, nearly at that point....
vrurg ugexe: I hope File::Spec::abs2rel can handle this. It should.
ugexe well if it doesn't i doubt cross volume builds currently anyway :) 20:26
patrickb vrurg: Please do tell before you start work on spaces in path. I'd really like to prevent duplicate work... 20:27
ugexe that is why zef passes absolute file paths to everything though
patrickb Anyways.. I'm off to bed.
o/
20:27 patrickb left 20:28 |Tux| left 20:29 gfldex left
vrurg ugexe: I started with full paths as it seemed to be more stable way, so to say. But then it turned out that on Windows there is no good way to universally quote/escape white spaces on the command line. Now my intention is to use relative paths as to reduce the chances of needing to quote something. 20:29
vrurg hated, hates, and will hate Windows... 20:30
ugexe well that is just moving the goal post
no spaces in directories above CWD
which might even be slightly more confusing when it *is* encountered
another problem with absolute paths is that it can quickly eat up the command line length limit 20:31
every solution is broke and will never work :P 20:34
20:37 |Tux| joined 21:30 gfldex joined 21:39 gfldex left 21:41 gfldex joined 21:48 gfldex left, gfldex joined 22:06 gfldex left 22:13 gfldex joined 22:38 AlexDaniel left 23:47 leont left 23:50 vrurg left 23:53 vrurg joined