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.
AlexDaniel 6c: say Int + 0 00:02
committable6 AlexDaniel, gist.github.com/e51dfe0c33cb5515be...515591d9e9
AlexDaniel timotimo: ?
timotimo huh, really?
i did not know that 00:03
AlexDaniel so the issue is that it didn't just change, but there's a 6.c test too 00:04
github.com/perl6/roast/commit/d60f...0250243809
6c: my $x; say $x + 5 00:07
committable6 AlexDaniel, gist.github.com/939ebc603c40b83f3d...912262065f
AlexDaniel hm, that didn't really change 00:08
6c: my Int $x; say $x + 5
timotimo Any vs Int, right?
committable6 AlexDaniel, gist.github.com/a24604cbc614ae9f45...ccd2f1e443
AlexDaniel well, here's a ticket: github.com/rakudo/rakudo/issues/3051 00:12
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue What can and what cannot be changed in 6.c-errata? github.com/perl6/problem-solving/issues/62 00:48
rakudo: vrurg++ created pull request #3052:
Protect class Perl version method with Lock
01:11
01:30 epony left
Geth rakudo: 4c10373b87 | (Vadim Belman)++ | src/core/Perl.pm6
Protect class Perl version method with Lock

Make it thread-safe, as noticed by Jonathan:
  github.com/rakudo/rakudo/commit/65...#r34296824
01:44
rakudo: 4eb4c0c795 | (Vadim Belman)++ (committed using GitHub Web editor) | src/core/Perl.pm6
Merge pull request #3052 from vrurg/perl-version-threadsafe

Protect class Perl version method with Lock
03:19 AlexDani` joined 03:23 AlexDaniel left 03:30 AlexDani` is now known as AlexDaniel, AlexDaniel left, AlexDaniel joined 05:18 ufobat joined 05:56 epony joined 06:23 ufobat_ joined 06:26 ufobat left 06:42 MasterDuke left 06:50 notable6 left, benchable6 left, coverable6 left, zostay left, tyil[m] left, shareable6 left, committable6 left, reportable6 left, nine left 07:16 tyil[m] joined, shareable6 joined, committable6 joined, reportable6 joined, nine joined, card.freenode.net sets mode: +vvv shareable6 committable6 reportable6, notable6 joined, benchable6 joined, coverable6 joined, zostay joined, card.freenode.net sets mode: +vvv notable6 benchable6 coverable6
lizmat Files=1275, Tests=108183, 205 wallclock secs (26.92 usr 8.11 sys + 2835.26 cusr 278.60 csys = 3148.89 CPU) 07:23
|Tux| Rakudo version 2019.03.1-714-g4eb4c0c79 - MoarVM version 2019.07-5-gdefe0a959
csv-ip5xs0.683 - 0.696
csv-ip5xs-204.947 - 5.196
csv-parser21.829 - 22.384
csv-test-xs-200.434 - 0.439
test6.817 - 7.112
test-t1.668 - 1.668
test-t --race0.798 - 0.905
test-t-2027.444 - 28.610
test-t-20 --race8.773 - 8.862
07:58
08:26 tyil[m] left, shareable6 left, committable6 left, reportable6 left, nine left 08:27 notable6 left, benchable6 left, coverable6 left, zostay left 08:30 patrickb joined 08:36 notable6 joined, coverable6 joined, benchable6 joined, ChanServ sets mode: +v notable6, ChanServ sets mode: +v coverable6, ChanServ sets mode: +v benchable6, zostay joined, nine joined, reportable6 joined, committable6 joined, shareable6 joined, ChanServ sets mode: +v reportable6, ChanServ sets mode: +v committable6, ChanServ sets mode: +v shareable6
Geth ¦ star: hankache self-assigned Offer zip builds github.com/rakudo/star/issues/140 08:37
08:40 ufobat_ left 08:42 tyil[m] joined 08:43 tyil[m] is now known as Guest1109
lizmat hopes for a release today 08:52
10:56 patrickb left 11:14 ufobat joined
timotimo can my last nqp commit make it into the release? 11:21
lizmat I think there is already an NQP and a MoarVM released 11:35
11:35 patrickb joined
lizmat but I think nine also had a fix in Moar that probably should be in the release 11:35
so maybe a point release is warranted ?
tbrowder hi, all. i'm working on a fix for GH #3036 and shortly will post a gist showing results of a WIP PR. the PR, ideally, will improve error msgs for embedded comments, leading declarator blocks, and trailing declarator blocks. 11:54
so far i have been fairly successful with the first two, but have not found a working solution for the trailing declarator. maybe moritz can suggest a solution. 11:56
timotimo cool, is that the errors that normally tell you that the infix operator "=" is in a wrong spot or something?
tbrowder well, my solution shows the invalid opening bracket. the message is basically a dup of the panic msg in the current code for the embedded comment. let me go post the gist. 11:59
here it is: gist.github.com/tbrowder/085ceedeb...e360e3c2db 12:00
timotimo ah, it's that kind of comment
pretty amazing that the error seems to also have had a newline in there 12:01
tbrowder well, i so far haven't had much luck with tidying stuff--there be dragons! 12:10
i mean as far as editing the remaing cruft after the error msg...not sure if it can be done 12:12
timotimo the "expecting any of", you mean? 12:14
tbrowder yes! 12:15
timotimo if there isn't yet a way, should be possible to make one 12:16
tbrowder i'll push the current state of the PR soon so folks can see what works so far. 12:17
i've tried many iterations of the grammar tokens for the trailing decl blk but no progress yet. 12:19
13:09 lucasb joined 13:22 pamplemousse joined 14:12 vrurg left 14:13 vrurg joined
Geth nqp/release-2019.07: a2e8d634ae | (Timo Paulssen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | src/vm/moar/HLL/Backend.nqp
fix profiling gc/deallocations bug swapping thread/seqnum
14:26
AlexDaniel timotimo: like this?
lizmat: github.com/rakudo/rakudo/issues/30...-511425123 14:27
timotimo yes, that's lovely
AlexDaniel I agree about the revert, yes 14:28
14:28 pamplemousse left 14:41 mst_ joined, mst_ left, mst_ joined
lizmat reportable6: 2019-07-08T00:00:00 2019-07-15T00:00:00Z 14:43
reportable6 lizmat, OK, working on it! This may take up to 40 seconds
lizmat notable6: weekly
notable6 lizmat, 17 notes: gist.github.com/178db23888f621e240...f26a1c39f6
reportable6 lizmat, gist.github.com/d1b9ed765a76ca4af8...5020293cbf 14:44
Geth rakudo/release-2019.07: b1cb2b040a | (Aleks-Daniel Jakimenko-Aleksejev)++ | 2 files
Revert "Made all operators in Real require definite objects"

This reverts commit d8ad62249ae0e2eca954a1cc92d62accbb9078ad.
Resolves GH-3051.
14:44 mst left 14:46 mst_ is now known as mst
Geth rakudo/release-2019.07: a67ba0c09f | (Vadim Belman)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | 3 files
Move VERSION file back to the root of build directory

This would simplify life for some infrastructure scripts.
Following the discussion here:
  colabti.org/irclogger/irclogger_lo...-07-11#l47
14:47
AlexDaniel lizmat: I also do hope for a release today :) 14:49
lizmat :-)
AlexDaniel as for moarvm point release, I'm not sure
there was also a fix by Kaiepi
(for the ticket that was marked as blocker, but we decided that it's alright to release with that bug)
15:11 pamplemousse joined 15:16 patrickb left 15:24 pamplemousse left 15:27 pamplemousse joined 15:52 pamplemousse left
Geth roast/rakudo-release-2019.07: 40098aa714 | (Aleks-Daniel Jakimenko-Aleksejev)++ | S03-operators/misc.t
Revert "Changes to conform with fix of use of Real type object in operators"

This reverts commit d60f851775c2e5944db00f946b39430250243809.
  See rakudo/rakudo#3051.
15:58
synopsebot RAKUDO#3051 [closed]: github.com/rakudo/rakudo/issues/3051 [6.c][BLOCKER] 6.c and `Int < 0`
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2019/07/15/...mentation/ 15:59
notable6: weekly
notable6 lizmat, 18 notes: gist.github.com/3483c156b5d72159d1...16294c1c44
lizmat notable6: weekly reset 16:00
notable6 lizmat, Moved existing notes to “weekly_2019-07-15T16:00:25Z”
lizmat weekly: new pkgs for recently released distributions: github.com/nxadm/rakudo-pkg/releas...19.03.1-03
notable6 lizmat, Noted!
AlexDaniel “Is that programming verbosity? No, it's programming clarity.” 16:02
frame it :)
greppable6: »\. 16:04
greppable6 AlexDaniel, 882 lines, 145 modules: gist.github.com/d2896cfa8e64dfff92...2eebb2d362
16:07 Guest1109 left, Guest1109 joined 16:47 b2gills1 joined 16:49 b2gills left 16:50 b2gills joined 16:52 b2gills1 left 16:53 b2gills1 joined 16:54 TreyHarris joined 16:55 b2gills left 16:56 b2gills joined 16:57 b2gills1 left 16:58 b2gills1 joined
TreyHarris Question that I'll pose on problem-solving if it's a discussion topic, but wanted to see if it is... unless doesn't take else or other chained followups because "if not" is exactly equivalent. But there isn't an exact equivalent for without except "if not defined(...)" [with the parens necessary for exact equivalence, yes?], is there? I'm finding myself really wishing for "without...[orwithout...]else" in 16:59
top-level executables where you often have a lot of logic checking if conditions for execution exist, often including checking the presence of user flags, where without is much clearer than "if not defined..."
17:00 b2gills left 17:01 b2gills joined 17:03 b2gills1 left 17:05 pamplemousse joined
AlexDaniel TreyHarris: it also prevents double negation which is just hard to read 17:10
there are also some weird things we have like `orelse`
so I'd prefer not to add orwithout :) 17:11
greppable6: orelse
greppable6 AlexDaniel, 64 lines, 21 modules: gist.github.com/31071b3428a7b24fcf...542fa13532
TreyHarris AlexDaniel: Ah, you were just a moment too late: github.com/perl6/problem-solving/issues/63 -- but I'd say that "without EXPR1 orelse EXPR2 orelse EXPR3" isn't really a substitute any more than "if EXPR1 or EXPR2 or EXPR3" is for elsif. 17:14
AlexDaniel that's right, yes 17:20
I'm just saying that “orelse” and the proposed “orwithout” are just too similar and a bit confusing
TreyHarris Is it a naming thing? "butwithout" is getting long but seeems equivalent to me. "andwithout" and "orwithout" would be pretty much equivalent if it weren't for the fact that we can't read the words "or" and (or!) "and" in a program without assuming it has the Boolean-logic meaning rather than the English one. "nor" would work too. 17:23
AlexDaniel TreyHarris: there's `but` too 17:24
TreyHarris (Yes, "nor" has a boolean-specific meaning too, but I don't think it's as strongly attached.)
AlexDaniel m: my $x = ‘foo’ but 42; say $x.Str; say $x.Int
camelia foo
42
TreyHarris Right, but `but` doesn't have a meaning that overlaps here. I suppose you _could_ mixin to a control-flow block, but if you actually named your control-flow role that might be mixed in to "without" "without" so that "butwithout" could be a legitimate typo for "but without"... I think you're asking for trouble, no? :-) 17:26
Geth nqp: 88592344dd | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/templates/MOAR_REVISION
[MoarVM Bump] Brings 15 commits

MoarVM bump brought: github.com/MoarVM/MoarVM/compare/2...gf1b26bb0e f1b26bb0e Fix Configure.pl failing when --prefix /usr is passed defe0a959 Merge pull request #1136 from MasterDuke17/jit_captureposarg_n 06dd9c0d5 Merge pull request #1133 from MasterDuke17/jit_and_spesh_optimize_smrt_intify e5321a366 Jit captureposarg_n ... (11 more lines)
rakudo: 63a4d958ee | (Aleks-Daniel Jakimenko-Aleksejev)++ | tools/templates/NQP_REVISION
[NQP Bump] Brings 2 commits

NQP bump brought: github.com/perl6/nqp/compare/2019....g88592344d 88592344d [MoarVM Bump] Brings 15 commits fd8a7e5f9 fix profiling gc/deallocations bug swapping thread/seqnum
AlexDaniel TreyHarris: I mean, if we keep adding these things for every single case, then yeah, *we* are asking for trouble :)
AlexDaniel greppable: if not defined
greppable6 AlexDaniel, 14 lines, 9 modules: gist.github.com/5a2f680115c4923434...a64541f5a1
AlexDaniel TreyHarris: `if not defined` does not even seem to be so common 17:28
TreyHarris AlexDaniel: I agree in general, but I don't think either the slippery slope nor the ambiguity argument applies here. I think it's less cognitive load.
AlexDaniel greppable: if \.defined\.not
greppable6 AlexDaniel, Found nothing!
AlexDaniel greppable: if .*\.defined\.not
greppable6 AlexDaniel, 1 line, 1 module: gist.github.com/4c32e0e9e5a55864ef...0778729d11
AlexDaniel greppable: if not .*\.defined
greppable6 AlexDaniel, 107 lines, 49 modules: gist.github.com/3f2a48d7f906606b2a...f50fd203d9
AlexDaniel ok that's what people use 17:29
TreyHarris AlexDaniel: And in any case, it's not a strong argument against--I've found numerous times where people have tested for truth when they really should be testing for definedness but they can get away with it.
AlexDaniel TreyHarris: it's not a slippery slope, we're already past the point where the user has to learn way too much
I personally don't even know what orelse is without looking at the docs 17:30
OH there is `notandthen` ??? 17:31
“At first glance, notandthen might appear to be the same thing as the orelse operator. The difference is subtle”
ugexe i generally use !$foo.defined
AlexDaniel you've got to be kidding me…
ugexe dunno why
AlexDaniel ugexe: oh! Yes, that's another way to write it, yeah 17:32
TreyHarris So it becomes a question of least surprise--and I was surprised that without disallowed chaining. Because `unless` not allowing chaining has always been a normative argument (double negation is confusing and people will just chain onto whichever, if or unless, comes first rather than switching as they should do, so let's just force them to do so) which doesn't apply here--there's no such thing as "double 17:33
undefinition". The opposite of True is False and False is True. But the opposite of defined is undefined while the opposite of defined is literally almost everything
sorry, s/while the opposite of UNDEFINED is literally almost anything/ 17:34
I mean... you can't rewrite a without as a with, can you? 17:35
You have to rewrite it as an "if not defined"
AlexDaniel ugexe: ! is probably better in case somebody else comes later and adds && 17:38
like
m: say (not Nil.defined && 42)
camelia True
AlexDaniel m: say (!Nil.defined && 42)
camelia 42
ugexe yeah
AlexDaniel yeah yeah people should learn recedence but I'd prefer my code to be idiot-proof
precedence* 17:39
TreyHarris I think people forget (or, let's face it, weren't yet born or old enough to program at) the time when the low-precedence Booleans were first introduced and what a revolution in Perl's readability they made
AlexDaniel TreyHarris: no, there is double negation in double indefinition. Not not defined. 17:40
TreyHarris: but I like your passion :)
TreyHarris: can we steal it to simplify the language instead of making it more complex? :) 17:41
TreyHarris AlexDaniel: that's double negation of double indefinition. The danger presented by chained unless is here: how do you write "without $foo" using "with"?
s/double indefinition/undefiniton/ no double double there 17:42
Complexity isn't measured by quantity of things, it's quantity of arbitrary things. And `without`'s very existence without (sorry, no other word there) a followup makes it an odd duck since it can't be refactored using a single additional keyword 17:45
`with` was originally a specialized variant of 'given', a guarded topicalization. And `given` itself is just syntactic sugar. I'd agree with `without` being removed from the language as readily as not having follow-ups. 17:47
It's current state is just totally arbitrary, which is the sort of thing that does increase language complexity in a cognitive sense
Or removal of `orwith` and `else` after `with`. That would also parsimonize. 17:48
But the current state is almost maximally arbitrary.
AlexDaniel greppable6: notandthen§ 17:49
greppable6 AlexDaniel, Found nothing!
AlexDaniel greppable6: notandthen
greppable6 AlexDaniel, 12 lines, 1 module: gist.github.com/0122234263ff535d78...11de54bca0
AlexDaniel greppable6: andthen
greppable6 AlexDaniel, 170 lines, 26 modules: gist.github.com/1c96879c97ca004d2c...771fb2f179
AlexDaniel well yeah, IMO we should start pulling things out that are not very useful or justified 17:50
notandthen can easily go… 17:51
AlexDaniel reads the docs a bit more 17:52
“The notandthen operator is a close relative of without statement modifier, and some compilers compile without to notandthen, meaning these two lines have equivalent behavior”
come on…
Geth ¦ problem-solving: AlexDaniel assigned to jnthn Issue Should `without` allow chaining? github.com/perl6/problem-solving/issues/63 17:53
¦ problem-solving: AlexDaniel self-assigned [WIP] Decluttering of the language and other things github.com/perl6/problem-solving/issues/64 18:05
ugexe their inclusion seems consistent 18:07
is the lack of consistency worth slightly less clutter?
AlexDaniel it depends 18:08
lizmat: nice blogpost, by the way 18:20
Geth roast/6.d-errata: 0ebe8e674c | (Vadim Belman)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S14-roles/parameterized-mixin.t
Remove invalid fudged tests

These two tests apparently must not pass.
19:43
AlexDaniel ok, now 6.d-errata 19:46
lizmat: should I cherry-pick github.com/perl6/roast/commit/88abcf8be8 ?
this one looks much more innocent to me
then there's also github.com/perl6/roast/commit/0733...2fcfa492ad 19:47
and also this one I think github.com/perl6/roast/commit/7513...175f063d28 19:49
19:50 patrickb joined
lizmat yes to 88abcf8be8 19:55
and 073388dea667
not too sure about 75132b836be as that ticket is still not resolved and might actually require a problem solving ticket 19:57
AlexDaniel greppable: is dynamic 20:04
greppable6 AlexDaniel, 13 lines, 3 modules: gist.github.com/40fa185837cc4f5a4f...e5208702a5
Geth roast/6.d-errata: 8ef1ce8353 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S03-operators/context-forcers.t
Make test use proper dynamic variables

  "is dynamic" forces one to have to use the CALLER:: syntax, which is a bad
idea from an optimization point of view.
20:05
roast/6.d-errata: 9b623d6853 | (Elizabeth Mattijsen)++ (committed by Aleks-Daniel Jakimenko-Aleksejev) | S32-exceptions/misc.t
Adapt/Add tests for R#2729
synopsebot R#2729 [closed]: github.com/rakudo/rakudo/issues/2729 Better error message for `map: * xx 2` 20:06
AlexDaniel lizmat: riiight, so what do we do? Revert?
bisect: say Failure.new.min 20:12
bisectable6 AlexDaniel, Bisecting by exit code (old=2015.12 new=63a4d95). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/0b2ad5450fd06eda77...2b7f965427
AlexDaniel, (2016-07-11) github.com/rakudo/rakudo/commit/36...065c8186fc
AlexDaniel nono… 20:13
bisect: old=2019.03.1 say Failure.new.min
bisectable6 AlexDaniel, Bisecting by output (old=2019.03.1 new=63a4d95) because on both starting points the exit code is 1
AlexDaniel, bisect log: gist.github.com/411aee724ccda9d152...401b83adc0
AlexDaniel, (2019-07-12) github.com/rakudo/rakudo/commit/96...11ee58c65a
AlexDaniel bisect: old=2019.03.1 my $x = Failure.new.min
bisectable6 AlexDaniel, Bisecting by exit code (old=2019.03.1 new=63a4d95). Old exit code: 0
AlexDaniel, bisect log: gist.github.com/f775cf5c4c57fcd547...9abdabc135
AlexDaniel, (2019-03-15) github.com/rakudo/rakudo/commit/23...26ec0df252
20:14 TreyHarris left 20:51 robertle left 20:53 TreyHarris joined 20:58 lucasb left 21:14 patrickb left
lizmat AlexDaniel: good question, I refer to jnthn for a decision 22:29
22:51 pamplemousse left