🦋 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:02
reportable6 joined
00:42
leont left,
leont joined
01:23
Geth left
02:23
benchable6 left,
quotable6 left,
squashable6 left,
tellable6 left,
committable6 left,
sourceable6 left,
unicodable6 left,
notable6 left,
nativecallable6 left,
releasable6 left,
greppable6 left,
statisfiable6 left,
bisectable6 left,
linkable6 left,
evalable6 left,
bloatable6 left,
coverable6 left,
shareable6 left,
reportable6 left,
notable6 joined,
nativecallable6 joined,
tellable6 joined
02:24
shareable6 joined,
linkable6 joined,
unicodable6 joined,
sourceable6 joined,
bisectable6 joined,
reportable6 joined,
benchable6 joined,
greppable6 joined,
evalable6 joined,
statisfiable6 joined
02:25
coverable6 joined,
bloatable6 joined,
committable6 joined,
squashable6 joined
02:26
quotable6 joined,
releasable6 joined
04:36
unicodable6 left,
reportable6 left,
nativecallable6 left,
greppable6 left,
sourceable6 left,
statisfiable6 left,
tellable6 left,
committable6 left,
evalable6 left,
quotable6 left,
notable6 left,
coverable6 left,
bloatable6 left,
squashable6 left,
releasable6 left,
bisectable6 left,
linkable6 left,
shareable6 left,
benchable6 left,
bisectable6 joined
04:37
coverable6 joined,
notable6 joined,
statisfiable6 joined,
nativecallable6 joined,
tellable6 joined,
releasable6 joined,
sourceable6 joined,
quotable6 joined
04:38
reportable6 joined,
bloatable6 joined,
benchable6 joined,
unicodable6 joined
04:39
committable6 joined,
squashable6 joined,
evalable6 joined,
linkable6 joined,
shareable6 joined,
greppable6 joined
05:39
nativecallable6 left,
coverable6 left,
evalable6 left,
bloatable6 left,
benchable6 left,
committable6 left,
linkable6 left,
notable6 left,
shareable6 left,
squashable6 left,
sourceable6 left,
reportable6 left,
releasable6 left,
tellable6 left,
unicodable6 left,
greppable6 left,
quotable6 left,
bisectable6 left,
statisfiable6 left
05:40
sourceable6 joined,
benchable6 joined,
squashable6 joined,
bisectable6 joined,
linkable6 joined,
committable6 joined,
unicodable6 joined
05:41
bloatable6 joined,
nativecallable6 joined,
statisfiable6 joined,
evalable6 joined,
greppable6 joined,
releasable6 joined
05:42
coverable6 joined,
quotable6 joined,
tellable6 joined,
shareable6 joined,
notable6 joined,
reportable6 joined
06:00
reportable6 left
06:02
reportable6 joined
06:11
jgaz left
06:13
jgaz joined
07:28
rba left,
rba_ joined,
rba_ is now known as rba
07:47
Geth joined
07:56
Geth left,
Geth joined
08:24
finanalyst joined
08:53
squashable6 left
08:54
squashable6 joined
10:29
tellable6 left,
notable6 left,
squashable6 left,
quotable6 left,
benchable6 left,
shareable6 left,
evalable6 left,
unicodable6 left,
committable6 left,
statisfiable6 left,
bisectable6 left,
coverable6 left,
linkable6 left,
sourceable6 left,
reportable6 left,
bloatable6 left,
greppable6 left,
nativecallable6 left,
releasable6 left,
quotable6 joined,
coverable6 joined
10:30
bloatable6 joined,
releasable6 joined,
squashable6 joined
10:31
bisectable6 joined,
sourceable6 joined,
evalable6 joined,
committable6 joined,
notable6 joined,
shareable6 joined,
linkable6 joined
10:32
benchable6 joined,
greppable6 joined,
reportable6 joined,
statisfiable6 joined,
tellable6 joined,
nativecallable6 joined,
unicodable6 joined
10:45
guifa left
11:59
finanalyst left
12:00
reportable6 left,
reportable6 joined
12:01
tonyo left,
tonyo joined
|
|||||||||||||||||||||||||||||||||||||||
gfldex | m: my &foo = BEGIN 'proto sub foo(|) {*}'.EVAL; multi sub foo($i) { }; foo(42); | 13:00 | |||||||||||||||||||||||||||||||||||||
camelia | ===SORRY!=== Error while compiling <tmp> Redeclaration of routine 'foo'. Did you mean to declare a multi-sub? at <tmp>:1 ------> foo(|) {*}'.EVAL; multi sub foo($i) { }⏏; foo(42); expecting any of: horizontal whi… |
||||||||||||||||||||||||||||||||||||||
gfldex | m: constant &foo = BEGIN 'proto sub foo(|) {*}'.EVAL; multi sub foo($i) { }; foo(42); | ||||||||||||||||||||||||||||||||||||||
camelia | ( no output ) | ||||||||||||||||||||||||||||||||||||||
gfldex | m: constant &foo = BEGIN 'proto sub foo(|) { nextwith() }'.EVAL; multi sub foo($i) { }; foo(42); | ||||||||||||||||||||||||||||||||||||||
camelia | nextwith is not in the dynamic scope of a dispatcher in sub foo at EVAL_0 line 1 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
gfldex | Is there any way to make that work? | 13:01 | |||||||||||||||||||||||||||||||||||||
This is an urgent question. A blogpost depends on it! :-> | |||||||||||||||||||||||||||||||||||||||
lizmat | what should the nextwith dispatch to? | 13:02 | |||||||||||||||||||||||||||||||||||||
gfldex | m: constant &foo = BEGIN 'proto sub foo(|) { nextwith(42) }'.EVAL; multi sub foo($i) { }; foo(42); | 13:03 | |||||||||||||||||||||||||||||||||||||
camelia | nextwith is not in the dynamic scope of a dispatcher in sub foo at EVAL_0 line 1 in block <unit> at <tmp> line 1 |
||||||||||||||||||||||||||||||||||||||
gfldex | Call the next candidate. | ||||||||||||||||||||||||||||||||||||||
This is golfed and as such makes little sense. | 13:04 | ||||||||||||||||||||||||||||||||||||||
lizmat | but you're calling it in the proto? That's generally where the buck ends ? | ||||||||||||||||||||||||||||||||||||||
gfldex | ungolfed: gist.github.com/gfldex/10c78c78482...f15326279d | 13:05 | |||||||||||||||||||||||||||||||||||||
Then I may not understand proto (what is likely). | |||||||||||||||||||||||||||||||||||||||
lizmat | without optimizations, the proto sub foo is the sub that gets called whenever you do "foo()" | 13:07 | |||||||||||||||||||||||||||||||||||||
that will then look at the given args and decide which of its candidates to actually run | |||||||||||||||||||||||||||||||||||||||
(which is basically what {*} does) | 13:08 | ||||||||||||||||||||||||||||||||||||||
proto foo(|) {*} | |||||||||||||||||||||||||||||||||||||||
is just short for: | |||||||||||||||||||||||||||||||||||||||
gfldex | I want to modify args in the proto before the dispatch continues. | ||||||||||||||||||||||||||||||||||||||
lizmat | proto sub foo(|) { {*} } | ||||||||||||||||||||||||||||||||||||||
samewith ? | 13:09 | ||||||||||||||||||||||||||||||||||||||
gfldex | samewith gives at least a different error message. | 13:11 | |||||||||||||||||||||||||||||||||||||
vrurg | And yet it'd be better to have a special candidate which modifies and re-dispatches to the final one. | 13:14 | |||||||||||||||||||||||||||||||||||||
Or use a `my proto` in the lexical scope of your non-multi quasi-enum. | 13:18 | ||||||||||||||||||||||||||||||||||||||
gfldex | m: constant &foo = BEGIN 'multi sub foo(|) { samewith(42) }'.EVAL; multi sub foo($i) { }; foo(42); | 13:23 | |||||||||||||||||||||||||||||||||||||
camelia | ===SORRY!=== Error while compiling <tmp> Redeclaration of routine 'foo'. Did you mean to declare a multi-sub? at <tmp>:1 ------> ewith(42) }'.EVAL; multi sub foo($i) { }⏏; foo(42); expecting any of: horizontal whi… |
||||||||||||||||||||||||||||||||||||||
gfldex | I don't get that problem with a proto. | ||||||||||||||||||||||||||||||||||||||
vrurg | Onlystar is the only way to start looking for candidates. | 13:33 | |||||||||||||||||||||||||||||||||||||
lizmat | A trick I've used in some of the P5 modules is: | 13:37 | |||||||||||||||||||||||||||||||||||||
BEGIN my &old-foo = &foo; | |||||||||||||||||||||||||||||||||||||||
proto sub foo(|c) { if dispatch-new { {*} } else { old-foo(|c) } | 13:38 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 04ec9234cb | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp RakuAST: streamline handling of deprecated charnames |
14:09 | |||||||||||||||||||||||||||||||||||||
14:11
Geth left
14:12
Geth joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: cfcf9fb3e9 | (Elizabeth Mattijsen)++ | 2 files RakuAST: Streamline slang nibbling - dynvars should be uppercase, so @*NIBBLES instead of @*nibbles - use native ints where possible - collect nibbles in lexical array, publish to dynvar at end - other shortcuts to dynvars added |
14:53 | |||||||||||||||||||||||||||||||||||||
14:56
SmokeMachine left
14:57
leont left,
zostay left,
tbrowder__ left,
kawaii left
14:59
zostay joined,
tbrowder__ joined,
SmokeMachine joined
15:00
leont joined,
kawaii joined
|
|||||||||||||||||||||||||||||||||||||||
[Tux] |
|
15:11 | |||||||||||||||||||||||||||||||||||||
[Coke] wonders if any of that csv testing can be done with rakuast. Guessing not yet! | 17:01 | ||||||||||||||||||||||||||||||||||||||
nifty: news.perlfoundation.org/post/maint...ugust_2023 | 17:08 | ||||||||||||||||||||||||||||||||||||||
(perl not raku but nice to see some insight into core hacking on something else) | |||||||||||||||||||||||||||||||||||||||
18:00
reportable6 left
18:01
reportable6 joined
18:40
finanalyst joined
19:51
|Tux| left,
|Tux| joined
21:26
linkable6 left,
evalable6 left
21:27
linkable6 joined
21:28
evalable6 joined
22:28
notable6 left,
unicodable6 left,
quotable6 left,
statisfiable6 left,
bloatable6 left,
greppable6 left,
bisectable6 left,
squashable6 left,
shareable6 left,
committable6 left,
evalable6 left,
coverable6 left,
sourceable6 left,
releasable6 left,
nativecallable6 left,
benchable6 left,
reportable6 left,
tellable6 left,
linkable6 left,
shareable6 joined,
reportable6 joined
22:29
releasable6 joined,
greppable6 joined,
quotable6 joined,
statisfiable6 joined,
unicodable6 joined,
tellable6 joined,
bisectable6 joined
22:30
coverable6 joined,
linkable6 joined,
squashable6 joined,
bloatable6 joined,
notable6 joined,
sourceable6 joined,
committable6 joined
22:31
nativecallable6 joined,
benchable6 joined,
evalable6 joined
23:23
ilogger2 left
23:25
ilogger2 joined
|