🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | Logs available at irclogs.raku.org/raku-dev/live.html | For MoarVM see #moarvm
Set by lizmat on 8 June 2022.
vrurg KEEP phaser... Damn it, not again! 01:49
03:06 committable6 left, bisectable6 left, committable6 joined, bisectable6 joined 05:21 Util left 05:34 Util joined
bartolin bisectable6: old=2022.06 new=2023.09 role R { method foo () handles <bar> {} } ## another try, maybe the bot had a temporary problem yesterday 05:46
bisectable6 bartolin, Bisecting by exit code (old=2022.06 new=2023.09). Old exit code: 1
bartolin, and I oop! Backtrace: gist.github.com/59eeb8c16c3937a1ba...d38e2b4916
ab5tract_ vrurg: what aboutg the KEEP phaser? I thought that was removedd? 07:31
07:41 sena_kun joined
ab5tract_ _finally_ got the FIRST working .. with blocks. now for statements 09:04
nine ab5tract_: oh, so what was the problem? Why did the code not get called? 12:11
ab5tract_ I needed an ApplyInfix/Call::Term to call the wrapper Block 12:37
plus the setup in ScopePhaser to call `IMPL-CALLISH-QAST` on the nodes in `$!FIRST` 12:38
which I had commented out previously
vrurg ab5tract_: Removed from where? Anyway, I used it in my code with wrong assumption about its semantics. And it's not the first time. :( 13:13
ab5tract_ ah, sorry, there were a few theoretical, unimplemented ones that were removed from the documentation and presumably from consciousness
now I'm curious what KEEP does 👀 13:14
vrurg Not what one'd expect by reading the documentation. 13:17
[Coke] This will sound snarky, but doc patches always welcome! 13:19
I want a bot that opens a doc ticket whenever someone says something like that and captures the surrounding chat. :) 13:20
vrurg [Coke]: I'd rather consider a patch for KEEP semantics.
[Coke] OK 13:21
ab5tract_ well, the loops work under normal conditions but don't seem to be too happy to be run under the EVALs that the rakuast tests use 13:24
nine: hmmm, maybe its not a surprise that this approach is not perfect for EVAL 13:36
or at least, there needs to be some considerations taken to this effect 13:37
13:55 jgaz joined
ab5tract_ it's barfing on DEPARSE :( 13:55
ugexe i use KEEP 14:11
and UNDO
for 1..10 { KEEP { $logger.log("item processed") }; UNDO { $logger.log("item failed to process") }; process-stuff($_) } 14:13
github.com/ugexe/zef/blob/bf995228...#L121-L125 14:15
ab5tract_ hmmm... what's the concrete distinction between an expression and a statement? it seems that a blorst is actually sometimes a "blosrstex" -- block or statement or expression 14:17
vrurg ugexe: the problem comes when an undefined is considered a normal return. 14:21
ab5tract_ +1 spectests under the new FIRST regime :) 14:41
AlexDaniel bartolin: oops :) 14:47
bartolin: wow that bisectable bug has been there since 2018 15:18
ab5tract_ nine, vrurg, lizmat: #5406 is ready for perusal 15:30
Geth whateverable/main: 061e633c39 | (Aleks-Daniel Jakimenko-Aleksejev)++ | xbin/Buildable.p6
Tweak the wording in Buildable

I think this makes it more understandable that each archive can contain more than one build.
whateverable/main: 7e51837f99 | (Aleks-Daniel Jakimenko-Aleksejev)++ | 8 files
Update outdated links and references

Mostly this commit is just doing `perl6` → `Raku`.
whateverable/main: 9137dfdf8c | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable/Bisection.pm6
Fix an old unnoticed bug in Bisectable

This code seems to be bitrotted, but the latest changes were in 2018. It looks like nobody noticed because we simply had no missing builds.
15:36 committable6 left, quotable6 left, sourceable6 left, bisectable6 left, bloatable6 left, linkable6 left, evalable6 left, releasable6 left, coverable6 left, notable6 left, tellable6 left, unicodable6 left, nativecallable6 left, shareable6 left, greppable6 left, benchable6 left, buildable6 left 15:39 shareable6 joined, bisectable6 joined, benchable6 joined, unicodable6 joined, buildable6 joined 15:40 linkable6 joined, sourceable6 joined, coverable6 joined, quotable6 joined, committable6 joined 15:41 nativecallable6 joined, notable6 joined, greppable6 joined
AlexDaniel bisect: old=2022.06 new=2023.09 role R { method foo () handles <bar> {} } 15:41
15:41 releasable6 joined
bisectable6 AlexDaniel, Bisecting by exit code (old=2022.06 new=2023.09). Old exit code: 1 15:41
15:41 evalable6 joined, tellable6 joined, bloatable6 joined
AlexDaniel aaaaand? 15:43
15:43 benchable6 left, benchable6 joined, bisectable6 left
AlexDaniel o_o 15:43
15:44 linkable6 left, linkable6 joined, quotable6 left, quotable6 joined
ab5tract_ wait, what does bloatable do? 15:48
15:49 jgaz left
AlexDaniel bloatable6: wiki 15:49
bloatable6 AlexDaniel, github.com/Raku/whateverable/wiki/Bloatable
ab5tract_ nice :) 15:50
AlexDaniel currently the moarvm builds are missing but they'll be back soon
15:51 jgaz joined
nemokosch the only question is, are these bots still mentioned anywhere on the site? 15:52
because I think there was some sort of cleanup to the bots
AlexDaniel is there a need to mention them on the site though? hmm 15:54
maybe we should expose them on the web or something
[Coke] raku.org/community/irc
AlexDaniel now that they run in containers I feel a lot more permissive :) 15:55
so maybe they should answer private messages and also have a public url or something, instead of being IRC-only
[Coke] +1
ab5tract_ that would be cool! 15:56
AlexDaniel anyone can contribute it, btw. Even the domain management is now part of the repo 15:57
example: github.com/Raku/whateverable/blob/...#L292-L295 15:58
these 4 lines are enough to get a certificate and forward the port from the container 15:59
16:01 quotable6 left, quotable6 joined
ab5tract_ nine: btw, I didn't need the `Call::Term` after I gave up on declaring the state var in the AST and just registered them with the attaching block. 16:08
as implicit lexical declarations, which seems to me to be exactly what these are
s/I gave up/it didn't work by/ 16:11
Geth whateverable/main: 606b064126 | (Aleks-Daniel Jakimenko-Aleksejev)++ | compose.yaml
Fix Quotable volume issue

Otherwise you get this error:
Failed to get the directory contents of '/srv/data/irc': Failed to open dir: No such file or directory
whateverable/main: 5cce2a97ec | (Aleks-Daniel Jakimenko-Aleksejev)++ | lib/Whateverable/Bisection.pm6
Fix Bisectable bug for good (oops)

I tried to do it in 9137dfdf8ca7 but I did not think it through enough. This time I tested it. 😇
16:13 unicodable6 left, bloatable6 left, tellable6 left, quotable6 left, coverable6 left, linkable6 left, benchable6 left, sourceable6 left, buildable6 left, releasable6 left, nativecallable6 left, shareable6 left, evalable6 left, notable6 left, committable6 left, greppable6 left
ab5tract_ it was registering the vars on the attaching block that worked. when registering them as lexical states directly on the `$wrapper-block`, they didn't work either 16:13
I was a bit surprised by that
16:15 greppable6 joined, linkable6 joined, evalable6 joined, sourceable6 joined, shareable6 joined 16:16 unicodable6 joined, nativecallable6 joined, bisectable6 joined, releasable6 joined 16:17 committable6 joined, bloatable6 joined, coverable6 joined, tellable6 joined 16:18 notable6 joined, quotable6 joined, buildable6 joined, benchable6 joined 16:20 bisectable6 left, bisectable6 joined 16:22 evalable6 left, evalable6 joined 16:24 linkable6__ joined, linkable6 left
AlexDaniel third time's a charm… 16:41
bisect: old=2022.06 new=2023.09 role R { method foo () handles <bar> {} }
bisectable6 AlexDaniel, Bisecting by exit code (old=2022.06 new=2023.09). Old exit code: 1
AlexDaniel it worked locally, so that has to work… 16:43
16:43 bisectable6 left 16:44 bisectable6 joined
AlexDaniel bisect: old=2022.06 new=2023.09 role R { method foo () handles <bar> {} } 16:55
bisectable6 AlexDaniel, Bisecting by exit code (old=2022.06 new=2023.09). Old exit code: 1
AlexDaniel, bisect log: gist.github.com/9a8fbb658cac146271...428b64e7d3 16:59
AlexDaniel, There are 42 candidates for the first “new” revision. See the log for more details
AlexDaniel bartolin: this should return something more specific in the next few days. For now it is what it is :) 17:00
bartolin Thanks a lot! 17:42
18:08 dogbert11 joined 18:12 dogbert17 left
Geth Net-LibIDN2: e057037160 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | META6.json
Update META6.json

Fix source-url
ab5tract_ nine: additional note about doing `FIRST` this way is that it automatically works on non-loop blocks. 18:55
base behavior is to silently ignore this
we could probably patch the grammar to not allow this to compile, if we wanted to be strict about where people put the loopy phasers 19:04
bartolin bisectable6: old=2022.06 new=2022.07 role R { method foo () handles <bar> {} } 19:07
bisectable6 bartolin, Bisecting by exit code (old=2022.06 new=2022.07). Old exit code: 1
bartolin, bisect log: gist.github.com/1fc90fa521aa48857a...5f0d9227f1
bartolin, There are 42 candidates for the first “new” revision. See the log for more details
bartolin c: 2015.12 my $m = (1,2 X~ (" X~ ")).first: *.IO.f ## github.com/Raku/old-issue-tracker/issues/4605 19:14
committable6 bartolin, ¦2015.12: «»
bartolin c: 058e713dc9 my $m = (1,2 X~ (" X~ ")).first: *.IO.f 19:16
committable6 bartolin, ¦058e713: «»
bartolin c: a15b0ef88c my $m = (1,2 X~ (" X~ ")).first: *.IO.f 19:17
committable6 bartolin, ¦a15b0ef: «»
ab5tract_ another route altogether: deprecating `once` and recommending `FIRST` in its place
very straightforward to do
or, just do what we traditionally do, and embrace TMTOWTDI. though I have to be honest the spoiling of choice for this functionality would be a bit excessive imo 19:19
bartolin c: 2015.02 my $m = (1,2 X~ (" X~ ")).first: *.IO.f 19:21
committable6 bartolin, ¦2015.02: «»
19:23 committable6 left 19:24 committable6 joined
bartolin bisectable6: old=2014.01 new=2015.12 my $m = (1,2 X~ (" X~ ")).first: *.IO.f ## last try 19:36
bisectable6 bartolin, On both starting points (old=2014.01 new=2015.12) the exit code is 0 and the output is identical as well
bartolin, Output on both points: «»
bartolin meh, I'll give up on that one. Will close the issue as "can't reproduce". 19:37
nemokosch bartolin++ the OG 19:38
lizmat notable6: weekly 19:44
notable6 lizmat, No notes for “weekly”
lizmat And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2023/10/09/2023-...-in-three/ 19:53
20:02 committable6 left, committable6 joined 20:05 evalable6 left, evalable6 joined 20:07 committable6 left, committable6 joined
[Coke] I don't think once and LAST are technically the same 20:31
ab5tract_ [Coke] the only difference in RakuAST (per my PR, at least) is that one runs at state init time and one runs at FIRST phase time 20:52
so I was saying FIRST works now in non-loop blocks 20:53
choices to deal with it: FIRST shouldn't be allowed in non-loop blocks, deprecate `once` as redundant, or leave it as is 20:56
ah, nope, you are right [Coke]++ 21:06
[Coke] I would like to think that more than one way doesn't mean just an alias, I'd be ok with a deprecation cycle.
well in that case... :)
ab5tract_ at least as currently implemented, `my $foo = once bar()` works as expected but `my $foo = FIRST bar()` just stores an `Any` in `$foo` 21:09
so, technically different indeed 21:10
22:02 sena_kun left 22:09 sena_kun joined 22:13 sena_kun left 22:54 Geth left, RakuIRCLogger left