🦋 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 0.11.3 |
00:04 | |
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 |
09:54 | |
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::Nextnext 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 |
14:25 | |
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 :-( |
16:19 | |
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
|