Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
00:06
reportable6 left
00:09
reportable6 joined
01:09
committable6 left,
reportable6 left,
bloatable6 left,
statisfiable6 left,
nativecallable6 left,
notable6 left,
unicodable6 left,
bisectable6 left,
benchable6 left,
greppable6 left,
quotable6 left,
linkable6 left,
releasable6 left,
coverable6 left,
tellable6 left,
sourceable6 left,
shareable6 left,
evalable6 left,
notable6 joined,
bisectable6 joined,
statisfiable6 joined
01:10
sourceable6 joined,
quotable6 joined,
evalable6 joined,
tellable6 joined,
greppable6 joined,
reportable6 joined,
nativecallable6 joined
01:11
bloatable6 joined,
benchable6 joined,
unicodable6 joined
01:12
shareable6 joined,
coverable6 joined,
linkable6 joined,
releasable6 joined,
committable6 joined
02:07
frost joined
03:07
bisectable6 left,
tellable6 left,
nativecallable6 left,
shareable6 left,
coverable6 left,
linkable6 left,
sourceable6 left,
quotable6 left,
unicodable6 left,
notable6 left,
bloatable6 left,
benchable6 left,
greppable6 left,
evalable6 left,
statisfiable6 left,
reportable6 left,
committable6 left,
releasable6 left,
bisectable6 joined,
unicodable6 joined,
reportable6 joined
03:08
quotable6 joined,
tellable6 joined,
sourceable6 joined,
shareable6 joined,
evalable6 joined,
benchable6 joined,
greppable6 joined,
committable6 joined,
nativecallable6 joined,
linkable6 joined
03:09
statisfiable6 joined,
notable6 joined,
coverable6 joined
03:10
releasable6 joined,
bloatable6 joined
04:10
unicodable6 left,
coverable6 left,
committable6 left,
quotable6 left,
linkable6 left,
benchable6 left,
greppable6 left,
bloatable6 left,
shareable6 left,
evalable6 left,
nativecallable6 left,
sourceable6 left,
releasable6 left,
statisfiable6 left,
reportable6 left,
tellable6 left,
notable6 left,
bisectable6 left,
evalable6 joined,
bloatable6 joined,
unicodable6 joined,
coverable6 joined,
quotable6 joined
04:11
bisectable6 joined,
sourceable6 joined,
nativecallable6 joined
04:12
benchable6 joined,
tellable6 joined,
statisfiable6 joined
04:13
releasable6 joined,
greppable6 joined,
linkable6 joined,
shareable6 joined,
reportable6 joined,
committable6 joined,
notable6 joined
05:13
linkable6 left,
evalable6 left
05:14
linkable6 joined
05:15
evalable6 joined
06:07
reportable6 left
06:08
reportable6 joined
|
|||
timo | good good, good | 07:42 | |
lizmat | indeedy indeedy indeedy ! | 07:49 | |
08:04
evalable6 left,
linkable6 left
08:05
evalable6 joined
08:06
linkable6 joined
08:07
sena_kun joined
09:29
sena_kun left
09:30
linkable6 left
09:31
linkable6 joined
09:37
sena_kun joined,
sena_kun left
10:15
linkable6 left
10:16
linkable6 joined
|
|||
lizmat | m: sub a(*%_) { if %_<a> -> $a { %_ } } # why is this a compilation error ? | 11:31 | |
camelia | ===SORRY!=== Error while compiling <tmp> Placeholder variable '%_' cannot override existing signature at <tmp>:1 ------> sub a(*%_) { if %_<a> ⏏-> $a { %_ } } # why is this a compilat |
||
jnthn | %_ and @_ imply placeholder signatures | 11:55 | |
m: sub a($b) { $^b } # same as this | |||
camelia | ===SORRY!=== Error while compiling <tmp> Redeclaration of symbol '$^b' as a placeholder parameter. at <tmp>:1 ------> sub a($b) { $^b⏏ } # same as this |
||
jnthn | m: sub a($b) { $^c } # same as this | ||
camelia | ===SORRY!=== Error while compiling <tmp> Placeholder variable '$^c' cannot override existing signature at <tmp>:1 ------> sub⏏ a($b) { $^c } # same as this |
||
jnthn | m: sub a { if %_<a> -> $a { %_ } }; say a a => 'a' | 11:56 | |
camelia | ===SORRY!=== Error while compiling <tmp> Placeholder variable '%_' cannot override existing signature at <tmp>:1 ------> sub a { if %_<a> ⏏-> $a { %_ } }; say a a => 'a' |
||
lizmat | so even if there's an outer scope %_ ? | ||
jnthn | m: sub a { if %_<a> -> $a { say $a } }; a a => 'a' | 11:57 | |
camelia | a | ||
jnthn | Placeholder signatures attach to the enclosing block, and the if's block counts | ||
lizmat | m: sub a(*%_) { if %_<a> { %_ } } | 11:58 | |
camelia | ( no output ) | ||
lizmat | m: sub a(*%_) { if %_<a> { %_ } } ; a a => 42 | ||
camelia | ( no output ) | ||
lizmat | m: sub a(*%_) { if %_<a> { dd %_ } } ; a a => 42 | ||
camelia | {:a(42)} | ||
lizmat | but now it doesn't ? | 11:59 | |
now it does see the outer %_ ? | |||
jnthn | Curious. No idea. :) | ||
I'm guessing the explicit signature on the `if` is something to do with it | 12:00 | ||
Also curious if RakuAST's behavior differs here | |||
lizmat | shall I make an issue for this discrepancy so that we can fix this with RakuAST ? | 12:01 | |
jnthn | Well, that assumes we can decide what he semantics should be... :) | 12:03 | |
But yeah, it's a bit inconsistent | |||
lizmat | I mean. if you declare a signature on the block, and the %_ is still visible in there, there shouldn't be an inconsistency ? | 12:04 | |
12:07
reportable6 left
12:08
reportable6 joined
|
|||
jnthn | m: if 42 { say $^a } | 12:44 | |
camelia | 42 | ||
jnthn | In that case the placeholder attaches to the enclosing block | 12:45 | |
13:19
frost left
|
|||
lizmat | yeah, but this was about providing a signature: | 13:40 | |
m: sub a(*%_) { if 42 -> $a { %_ } } | |||
camelia | ===SORRY!=== Error while compiling <tmp> Placeholder variable '%_' cannot override existing signature at <tmp>:1 ------> sub a(*%_) { if 42 ⏏-> $a { %_ } } |
||
lizmat | feels to me that when the %_ is encountered, and it sees that there is a signature on the block, that it should see if there's a %_ lexically visible before throwing ? | 13:41 | |
jnthn | That'd be inconsistent with other placeholder vars, though, which don't do such magic | 14:07 | |
lizmat | m: { $^a; -> $b { say $a }(666) }(42) # I guess that'd be a reason you can also refer to $^a as $a ? | 14:15 | |
camelia | 42 | ||
jnthn | Yeah, $^a declares $a in the signature of the enclosing block | 14:24 | |
The ^ is like "declare it up there" :P | 14:25 | ||
14:31
evalable6 left
14:34
evalable6 joined
|
|||
timo | do we already use rakuast-based optimizer code in the rakuast branches of nqp and raku? | 15:37 | |
rakudo* | |||
nine | no | ||
timo | i seem to recall that rakuast should let us inline blocks in more cases | 15:40 | |
17:38
linkable6 left,
evalable6 left,
linkable6 joined
17:41
evalable6 joined
17:51
sena_kun joined
18:07
reportable6 left
18:09
reportable6 joined
19:50
nine left,
nine joined
20:09
sena_kun left
20:10
sena_kun joined
21:39
sena_kun left
22:51
discord-raku-bot left,
discord-raku-bot joined
22:55
discord-raku-bot left,
discord-raku-bot joined
23:00
discord-raku-bot left,
discord-raku-bot joined
23:04
discord-raku-bot left,
discord-raku-bot joined
|