🦋 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.
00:00 reportable6 left 00:03 reportable6 joined
Geth Template6/main: e259e083c1 | (Polgár Márton)++ | 7 files
02:13 evalable6 left, linkable6 left 02:14 linkable6 joined, evalable6 joined 06:00 reportable6 left 06:02 reportable6 joined 07:50 coverable6 left, linkable6 left, reportable6 left, unicodable6 left, quotable6 left, benchable6 left, notable6 left, evalable6 left, committable6 left, statisfiable6 left, bisectable6 left, squashable6 left, tellable6 left, sourceable6 left, nativecallable6 left, shareable6 left, evalable6 joined, reportable6 joined, committable6 joined 07:51 unicodable6 joined, bisectable6 joined 07:52 tellable6 joined, shareable6 joined, notable6 joined, coverable6 joined, quotable6 joined 07:53 nativecallable6 joined, squashable6 joined, linkable6 joined, benchable6 joined, statisfiable6 joined, sourceable6 joined 09:50 ab5tract joined
Geth rakudo/main: 500ad5f637 | (Elizabeth Mattijsen)++ | src/core.c/unicodey.pm6
Make Cool.uninames actually work

It had a wrong return value type
10:00 Nemokosch joined
Nemokosch bisectable6: sub ponder { next }; for (1..3) { ponder; .say }; say "done" 10:01
bisectable6 Nemokosch, Will bisect the whole range automagically because no endpoints were provided, hang tight
tellable6 2023-03-07T22:16:17Z #raku <rf> Nemokosch: How do I clear the stash in Template6
bisectable6 Nemokosch, ¦6c (67 commits): «done␤»
Nemokosch, Nothing to bisect!
Nemokosch ew
10:02 Nemokosch left
lizmat m: sub ponder { next }; for (1..3) { ponder; .say }; say "done" 10:04
camelia done
lizmat m: sub ponder { next FOO }; FOO: for (1..3) { ponder; .say }; say "done" 10:05
camelia ===SORRY!=== Error while compiling <tmp>
Variable '&FOO' is not declared. Perhaps you forgot a 'sub' if this
was intended to be part of a signature?
at <tmp>:1
------> sub ponder { next ⏏FOO }; FOO: for (1..3) { ponder; .say };
lizmat m: FOO: for (1..3) { next FOO; .say }; say "done"
camelia done
Nemokosch now I'm looking up roast if this case was ever planned for 10:06
it seems fairly intuitive that next/last stuff should behave like return
lizmat next / last / redo are control exceptions 10:08
m: CONTROL { say .^name }; next 10:09
camelia CX::Next
next without loop construct
in block <unit> at <tmp> line 1
lizmat any loop construct basically sets up a "catcher" for such exceptions
Nemokosch I don't think the implementation should matter too much for the expectations 10:10
A Block acts inlined, a Sub is context-insensitive
lizmat which is why it is able to say "next without a loop construct" because there's an outer CONTROL block that catches them and puts out the message
well, I guess you could call that behaviour another Perl heritage 10:11
Nemokosch actually this doesn't even sound too bad 10:13
subs need a CONTROL handler by default, sounds about fixed?
lizmat except from an optimization point of view 10:14
BTW, do you want a warning or throwing an exception ? 10:16
anyways, I think this could be handled easier with a check at the receiving side, checking the outer lexical sub scope: if different warn or throw 10:17
Nemokosch > CX::Next␤next without loop construct␤ 10:18
I think this would fit perfectly for these scenarios as well
lizmat still, that also would impose a performance penalty, but at least it would be for the use of next/last/redo
afk& 10:19
Nemokosch if somebody wants to live on the edge, they can use Block
I never knew there was goto in Raku lol 10:41
once RakuAST is ready, it will become much easier to search code for certain structures 10:58
by the way, from optimization point of view - in RakuAST, it will be easy to detect if this "guarding handler" is necessary at all 11:02
11:04 linkable6 left, evalable6 left 11:05 evalable6 joined 11:07 linkable6 joined
One more thing: I wonder how the specification could handle a change like this. First off, it's not obvious whether this is a change because it doesn't seem to be present in the spectests. But since code might depend on it (and it does, confer doc tests), let's say it is a design-level change. 11:32
11:32 guifa left
is it even possible to intervene this deeply from core at all? 11:33
12:00 reportable6 left 12:02 reportable6 joined 13:02 reportable6 left, linkable6 left, quotable6 left, unicodable6 left, bisectable6 left, benchable6 left, sourceable6 left, coverable6 left, squashable6 left, committable6 left, tellable6 left, evalable6 left, notable6 left, shareable6 left, releasable6 left, nativecallable6 left, statisfiable6 left, unicodable6 joined 13:03 bisectable6 joined, sourceable6 joined, shareable6 joined, coverable6 joined, quotable6 joined, nativecallable6 joined 13:04 tellable6 joined, evalable6 joined, benchable6 joined, releasable6 joined 13:05 statisfiable6 joined, squashable6 joined, linkable6 joined, reportable6 joined, committable6 joined, notable6 joined
Geth rakudo/main: e8f419aefb | (Stefan Seifert)++ | 4 files
RakuAST: fix colonpairs silently getting dropped from identifiers
nine I don't like this, but it improves things...
14:37 squashable6 left 14:38 squashable6 joined 16:16 Geth left, Geth joined
Geth rakudo/main: af0c88cc2a | (Elizabeth Mattijsen)++ | src/core.c/unicodey.pm6
Make Cool.uniname actually match the documentation

There do not appear to be any tests :-(
lizmat wow, that took a while
vrurg Oh, was stepping on this rake long ago... 16:26
*I was
16:45 normietotechie[m joined 17:57 thundergnat joined 18:00 reportable6 left 18:01 reportable6 joined 18:02 thundergnat left 19:46 vrurg left 20:11 vrurg joined 20:29 vrurg left 20:32 vrurg joined 20:42 lucs left 20:47 vrurg left 20:48 vrurg joined 22:03 ab5tract left 22:14 squashable6 left 22:15 squashable6 joined 23:15 evalable6 left, linkable6 left 23:16 evalable6 joined, linkable6 joined 23:31 NemokoschKiwi joined 23:40 NemokoschKiwi left