00:08 Voldenet left 00:35 Voldenet joined 01:02 kjp left 01:04 kjp joined 01:06 kjp left 01:07 kjp joined 01:22 Voldenet left 01:32 Voldenet joined
releasable6 Next release in ≈2 days and ≈11 hours. There are no known blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 07:00
09:07 sena_kun joined 09:47 [Coke] left 11:43 [Coke] joined
[Coke] oops. my trying to build raku on my windows laptop left me without a working raku. Just went to run something that I forgot I wrote in raku, boom. 13:44
lizmat I get that a lot :-) 13:45
the hourly REA harvester is then the victim
patrickb rakubrew to the rescue? 13:47
lizmat nah, I usually nuke the install dir and start from scratch
[Coke] I should have separate "I'm using raku" builds from "I'm building raku" builds, but I don't on my windows box, either. 13:48
... and since I successfully built moar we've bumped the revisions so it's too old. The perils of living at HEAD 13:49
lizmat yup :-)
[Coke] tries rakubrew on powershell to see if that separation works. 14:00
patrickb [Coke]: If it doesn't work, I'd like to hear about it. Powershell is one of the shells I want to support in rakubrew. 14:30
[Coke] patrickb: so far so good. I haven't gotten to the point in the build where my manual build dies yet 14:35
powershell always surprises me when it works, I have so much experience with CMD being painful. :)
patrickb Did you know that you can register some existing folder with a build in it as a version in rakubrew? 14:36
I tend to have a 'build' version that points to the folder where I do development. 14:37
[Coke] yes.
nope. nothing magical about the rakubrew build on my box - can't build raku moar-2024.10
so, still need to fix the build process (or use the installer) 14:38
patrickb rakubrew download moar-2024.10 would at least give you something to continue working with...
[Coke] "already installed" except it isn't. 14:39
apparently it marked it as installed even though the build died?
ah. list shows BROKEN, but you still can't download over it. 14:40
patrickb Ah. Yeah. rakubrew nuke moar-2024.10 should solve that.
[Coke] ok - that was pretty painless for the download, thank you 14:42
patrickb 👍🏼 14:43
[Coke] raku --version is showing mojibake, even after running chhcp 65001
Geth MoarVM-Remote: slid1amo2n3e4++ created pull request #5:
Remove type constraint for breakpoint-to-event.
14:44
nqp/main: b79283c5c2 | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM to get patrickb's longjmp Windows fixes
14:54
rakudo/main: b6a72ac4d7 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get patrickb's longjmp Windows fixes
15:05
ugexe patrickb: i believe rakubrew mostly worked in powershell for me 15:49
i think maybe the logic to automatically do the init stuff didn't work though 15:50
patrickb ugexe: Did you notice that I finally managed to implement exec --with in v40?
Geth App-MoarVM-Debug: slid1amo2n3e4++ created pull request #17:
Fix incorrect argument coercion when setting a breakpoint.
16:05
App-MoarVM-Debug/main: 4811a08e19 | slid1amo2n3e4++ (committed using GitHub Web editor) | lib/App/MoarVM/Debug.rakumod
Fix incorrect argument coercion when setting a breakpoint.

The Match object evaluates to True, even if there's no match, so we have to explicitly cast to Int first.
16:07
App-MoarVM-Debug/main: af0cad40b8 | timo++ (committed using GitHub Web editor) | lib/App/MoarVM/Debug.rakumod
Merge pull request #17 from slid1amo2n3e4/patch-1

Fix incorrect argument coercion when setting a breakpoint.
ugexe patrickb: yeah I did, thanks 16:10
for anyone else that means the follow now works 16:11
$ rakubrew exec --with moar-2024.03 zef list --installed site vendor 2> /dev/null | rakubrew exec zef install -
to install all modules from 2024.03 rakudo to whatever the current rakudo set in rakubrew is
[Coke] anyone managing the mailing lists? 16:37
getting bounce messages.
Geth rakudo/main: d00d8497ec | ab5tract++ | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Add test for successful use of adverbs on hashes with infixes

Added to avoid any regressions over #5685 (R#5685)
18:29
linkable6 R#5685 [open]: github.com/rakudo/rakudo/issues/5685 [Fixed in RakuAST] You can't adverb &infix:<&&>
timo isn't that to spec? 18:30
ab5tract timo: is what to spec?
dying when a user tries to us an adverb with a hash in conjunction with an infix?
timo having to put parenthesis for the True && (%foo<a>:exists) case 18:31
ab5tract I doubt that is in spec
timo docs.raku.org/language/traps#Adver...precedence 18:32
ab5tract that's a trap, sure. doesn't mean it is specified 18:33
and even if it is, since we are capable of DWIM in RakuAST, I would argue against keeping less-capable behavior 18:34
Also, that documentation still applies in RakuAST 18:36
For my taste "Precedence issue with ! and :exists, perhaps you meant :!exists?" is a far cry from "You can't adverb &infix:<&&>" 18:40
timo ok i can't actually find any spec test that requires this, cool 18:41
i thought it was just a case of "what an adverb applies to seems kind of random if you don't know the rule" ... do i know the rule? nah :P 18:42
ab5tract :)
I think there have been some longstanding issues with adverbs going to the wrong places, though I don't have the tuits to dig through the open issues at the moment 18:44
R#5685 is surprising... 18:53
linkable6 R#5685 [open]: github.com/rakudo/rakudo/issues/5685 [Fixed in RakuAST] You can't adverb &infix:<&&>
ab5tract doh! R#5686 18:54
linkable6 R#5686 [open]: github.com/rakudo/rakudo/issues/5686 [junctions] Junctions don't autothread over negative operators
timo i wonder if the optimizer does that 18:57
oh that would be strange given it's a repl session with not literals? 18:58
oh, is that from implementing $a != $b as not($a == $b) and the not immediately collapses the junction because it's a boolean op 18:59
ab5tract ahhhh 19:10
yeah
that definitely explains it
now... does that mean the behavior is correct? 19:11
It's actually a bit surprising, seeming as how most other operators do autothread 19:12
I guess the idea is at "all" boolean context operators collapse the junction 19:13
Geth MoarVM-Remote/loaded_file_notifications: ef9743b73b | (Timo Paulssen)++ | lib/MoarVM/Remote.rakumod
Add get-filenames and filenames methods.

As of now, the caller should make sure to only call get-filenames once, and to have called get-filenames before expecting the filenames method to return values.
App-MoarVM-Debug/loaded_file_notifications: fa66665a23 | (Timo Paulssen)++ | lib/App/MoarVM/Debug.rakumod
New command: fns / filenames to list / search filenames
19:14
timo i think it should be consistent, i.e. how the issue suggests it should be 19:15
the thing i pointed out as the likely source of the issue should count as an implementation detail i think 19:17
now i wonder what other fun stuff we can find when we combine metaoperators and autothreading
m: dd any(1,2,3) Z+ (5, 4, 3)
camelia (any(6, 7, 8),).Seq
timo m: dd any(1,2,3) Z+ any([5, 4, 3], [9, 8, 7], [1, 1, 1]) 19:18
camelia (any(any(4, 4, 4), any(5, 5, 5), any(6, 6, 6)),).Seq
timo m: my ($a, $b, $c); dd any($a, $b, $c) += 9; dd :$a, :$b, :$c
camelia Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
Use of uninitialized value of type Any in numeric context
in block <unit> at <tmp> line 1
Use of uninitialized value of type Any in numeric context…
timo hm, not what i expected there 19:19
m: my $a; $a += 5; dd $a
camelia $a = 5
timo not that i have an opinion on what would be correct for this admittedly exotic usage 19:20
Geth MoarVM-Remote: timo++ created pull request #6:
Add get-filenames and filenames methods.
19:21
App-MoarVM-Debug: timo++ created pull request #18:
New command: fns / filenames to list / search filenames
ab5tract oh weird, I wouldn't have expected that either ... 19:29
Now I'm having trouble finding the precise mechanism of `!=`
the qast when using that doesn't contain any reference to `METAOP_NEGATE`
timo --target=ast or --target=optimize? and do we have a specific &infix:<!=> perhaps? 19:30
since != isn't != but really !==
ab5tract `!==` does bring up METAOP_NEGATE 19:31
timo hm, i seem to recall there was something slightly odd about junctions when it comes to negating stuff
ab5tract And I do see that there are `infix<!=>` candidates in Int and Num in core
*`infix:<!=>`, rather
`!~~` also collapses 19:32
timo github.com/Raku/old-issue-tracker/issues/1787 19:36
also github.com/rakudo/rakudo/issues/3748 and github.com/rakudo/rakudo/pull/3874 and github.com/Raku/problem-solving/issues/319 19:38
ab5tract timo: that's some excellent spelunking! 19:40
timo i found the link to that issue in the spec tests in S03-junctions/autothreading.t around line 290 19:42
and the others from there
I think i might be too tired to think about anything having more than zero negations in it 19:51
ab5tract :) 19:53
lizmat ah, that old chestnut :-( 19:54
ab5tract I hope you get some good rest timo, I’ve been running on fumes recently myself 20:49
.. what does this signature mean? github.com/rakudo/rakudo/blob/eab7...c.pm6#L290 20:55
lizmat 0 or 1 positional 20:56
don't care about the value, so don't bother to even bind it to a lexical
ab5tract Ok… that’s kind of what I thought it would mean 20:57
lizmat m: sub a($? { dd }; a; a 42
camelia ===SORRY!=== Error while compiling <tmp>
Missing block
at <tmp>:1
------> sub a($? ⏏{ dd }; a; a 42
ab5tract But how you call an infix with 0 positionals
lizmat m: sub a($?) { dd }; a; a 42
camelia sub a($?)
sub a($?)
lizmat m: say [!=] ()
camelia True
lizmat m: say [!=] (42,) 20:58
camelia True
lizmat m: say [!=] (42,666)
camelia True
ab5tract That doesn’t even seem correct (the first one)
lizmat m: say [!=] (42,42)
camelia False
ab5tract Why support either?
lizmat because a meta-op can be presented with a 0 or 1 elem list 20:59
ab5tract ISTR that you were planning on adjusting some semantics related to this
I guess”this nothing” != “this other nothing” could be true 21:00
But I am not sure I like it
lizmat m: say [==] 21:01
camelia True
lizmat m: say [==] (42,(
camelia ===SORRY!=== Error while compiling <tmp>
Unable to parse expression in parenthesized expression; couldn't find final ')' (corresponding starter was at line 1)
at <tmp>:1
------> say [==] (42,(⏏<EOL>
lizmat m: say [==] (42,)
camelia True
ab5tract m: say [!==]
camelia True
ab5tract Don’t like that
lizmat hmmm you could argue it should be opposite
well.... pretty sure Larry had some ideas about that at the time
ab5tract It is this way for a reason, I understand that 21:02
But we ought to interrogate it when it means that
lizmat interrogate what ?
ab5tract m: dd [==] (any(1,2,3), any(1,2,3)) 21:03
camelia Bool::True
ab5tract Hmm
Whether we should allow infixes to do anything but fail when presented with < 2 arguments? 21:04
lizmat m: say [+]
camelia 0
lizmat m: say [+] (42,)
camelia 42
lizmat m: say [+] (42,666)
camelia 708
ab5tract I know we discussed this eegardeing left versus right precedence
Why do I want [+] 1 to succeed? 21:05
We have a prefix form for a single argument
Should the prefix succeed for 0 arguments?
lizmat because (1,) could be an array that was passed to us ?
ab5tract Well it can be handed back a failure 21:06
Not a “sure, that’s obviously True”
lizmat pretty sure that will break quite some spectests, let alone some ecosystem modules
ab5tract I remember you saying you were going to fix more or less this exact issue for left associative ops
lizmat that was something else with metaops I believe 21:07
I forget atm
ab5tract Me too :( 21:08
Anyway, the overall discussion is relative to junction METAOP_NEGATE not autothreading 21:09
I’m signing off for tonight though, sleep has been both chasing and eluding me
lizmat ack 21:18
sleep well! recharge! kick those bed bugs out!
22:34 lizmat left 23:00 sena_kun left
Geth roast: raiph++ created pull request #866:
s/`|w`/`?wb`/ (switch from Rakudo feature to Raku feature)
23:16