🦋 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
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
ab5tract_ _finally_ got the FIRST working .. with blocks. now for statements 09:04
afk&
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
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.
15:35
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.
AlexDaniel bisect: old=2022.06 new=2023.09 role R { method foo () handles <bar> {} } 15:41
bisectable6 AlexDaniel, Bisecting by exit code (old=2022.06 new=2023.09). Old exit code: 1 15:41
AlexDaniel aaaaand? 15:43
AlexDaniel o_o 15:43
ab5tract_ wait, what does bloatable do? 15:48
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
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
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
  ```
16:12
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. 😇
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
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
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
Geth Net-LibIDN2: e057037160 | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | META6.json
Update META6.json

Fix source-url
18:39
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: «»
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
[Coke] I don't think once and LAST are technically the same 20:31
er, FIRST
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.
OH
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