🦋 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:38
coleman left
00:40
coleman joined
01:43
kjp left
01:45
kjp joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 6be6f15931 | (Stefan Seifert)++ | 3 files RakuAST: fix start of initializer getting parsed as twigil In my num $=5e0; the equals sign got parsed as twigil, when it should be the start of an initializer. Since twigils cannot possibly be followed by a number, change the look ahead assertion from \w to <alpha> |
07:18 | |||||||||||||||||||||||||||||||||||||
nine | 1027 | ||||||||||||||||||||||||||||||||||||||
Btw. <[\w]-[\d]> led to strange parse errors in just 2 of the spectests. But <alpha> is nicer anyway and seems to do the trick | 07:19 | ||||||||||||||||||||||||||||||||||||||
lizmat: 74cd925bf77055b42623093dd674124952f23247 broke add-categorical because `if $actions-mixin` will always be false as $actions-mixin is a type object | 08:03 | ||||||||||||||||||||||||||||||||||||||
lizmat | wow.. good catch | 08:05 | |||||||||||||||||||||||||||||||||||||
nine | That's exactly why I don't do any optimizations - we don't have full regression test coverage yet. | 08:06 | |||||||||||||||||||||||||||||||||||||
lizmat | testing fix now | 08:07 | |||||||||||||||||||||||||||||||||||||
nine | Don't bother, I have reverted the problematic changes locally already | 08:08 | |||||||||||||||||||||||||||||||||||||
I now wonder: since self.r got replaced with Nodify, how can I use that in the Grammar? | 08:09 | ||||||||||||||||||||||||||||||||||||||
lizmat | you probably shouldn't: if we want the grammar to be re-usable with other Actions, you probably shouldn't need to refer to RakuAST classes | 08:10 | |||||||||||||||||||||||||||||||||||||
self.actions.r('Foo','Bar') | |||||||||||||||||||||||||||||||||||||||
nine | How can add-categorical then add new action methods? | ||||||||||||||||||||||||||||||||||||||
lizmat | if you must :-) | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 08d439b390 | (Elizabeth Mattijsen)++ | src/Raku/Grammar.nqp Fix action mixin if mixin is a type object Spotted by nine++ |
08:13 | |||||||||||||||||||||||||||||||||||||
lizmat | sorry, couldn't resist :-) | ||||||||||||||||||||||||||||||||||||||
08:38
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: d0ed8cd980 | (Stefan Seifert)++ | 2 files RakuAST: implement support for term definitions with colonpairs E.g. my \term:<a> = 1 |
08:42 | |||||||||||||||||||||||||||||||||||||
nine | And 1028 | ||||||||||||||||||||||||||||||||||||||
lizmat update weekly draft | |||||||||||||||||||||||||||||||||||||||
*updates | |||||||||||||||||||||||||||||||||||||||
notable6: weekly | 11:00 | ||||||||||||||||||||||||||||||||||||||
notable6 | lizmat, 3 notes: gist.github.com/832be0527fdaf769c0...fd9434ac7d | ||||||||||||||||||||||||||||||||||||||
lizmat | notable6: weekly reset | 11:11 | |||||||||||||||||||||||||||||||||||||
notable6 | lizmat, Moved existing notes to “weekly_2024-04-08T11:11:43Z” | ||||||||||||||||||||||||||||||||||||||
11:39
nine left,
nine joined
|
|||||||||||||||||||||||||||||||||||||||
lizmat | and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2024/04/08/2024-14-15-1k-75/ | 12:45 | |||||||||||||||||||||||||||||||||||||
13:31
sena_kun left
13:32
sena_kun joined
|
|||||||||||||||||||||||||||||||||||||||
Geth | rakudo/main: 5697089398 | (Elizabeth Mattijsen)++ | src/Perl6/Metamodel/RoleToRoleApplier.nqp Fix Inline::Perl5 breakage By extracting a condition out of a loop, it became possible to call "language_revision" on a NQP role. Since language revisions are a HLL thing, this caused a problem for Inline::Perl5, because it has its own ClassHOW written in NQP. ... (5 more lines) |
13:34 | |||||||||||||||||||||||||||||||||||||
lizmat | afk for a few hours& | ||||||||||||||||||||||||||||||||||||||
ab5tract | testing out a relatively far out edge case of dispatch / signatures.. but are we expecting to be able to use traits with "nested" named parameters? | 14:42 | |||||||||||||||||||||||||||||||||||||
m: sub s(%a, @b, :p(:%r is rw)) { dd } | |||||||||||||||||||||||||||||||||||||||
camelia | ===SORRY!=== Error while compiling <tmp> Unable to parse named parameter; couldn't find right parenthesis at <tmp>:1 ------> sub s(%a, @b, :p(:%r⏏ is rw)) { dd } |
||||||||||||||||||||||||||||||||||||||
gfldex | m: sub s(%a, @b, :p (:%r is rw)) { dd } | 15:23 | |||||||||||||||||||||||||||||||||||||
camelia | ===SORRY!=== Error while compiling <tmp> Malformed parameter at <tmp>:1 ------> sub s(%a, @b, :⏏p (:%r is rw)) { dd } |
||||||||||||||||||||||||||||||||||||||
gfldex | ab5tract: That doesn't work anyway. %-sigiled containers are rw by default and for optional args we don't support is-traits. | 15:27 | |||||||||||||||||||||||||||||||||||||
ab5tract | is rw was just a test, but good point | 15:28 | |||||||||||||||||||||||||||||||||||||
gfldex | However, any form of nested signature should work the same way then a non-nested. So this is at least LTA. | ||||||||||||||||||||||||||||||||||||||
ab5tract | m: sub s(%a, @b, :%r is rw) { dd } | ||||||||||||||||||||||||||||||||||||||
camelia | ===SORRY!=== Error while compiling <tmp> For parameter '%r', '%' sigil containers don't need 'is rw' to be writable Can only use 'is rw' on a scalar ('$' sigil) parameter, not '%r' at <tmp>:1 |
||||||||||||||||||||||||||||||||||||||
ab5tract | I would file it under a genuine parser bug, because it doesn't matter what `is` trait you are throwing at it | 15:30 | |||||||||||||||||||||||||||||||||||||
uncovered this while getting `is item` to work on named args, which does work on % sigil containers | 15:32 | ||||||||||||||||||||||||||||||||||||||
15:47
gfldex left
|
|||||||||||||||||||||||||||||||||||||||
ab5tract | I still feel a bit like the way that multis work (or at least are allowed to compile) is a bit broken | 15:48 | |||||||||||||||||||||||||||||||||||||
m: multi s(%a, @b, :$h!) { dd }; multi s(%a, @b, :@h!) { dd }; my %h; my @p; s %h, @p, :h([]); | |||||||||||||||||||||||||||||||||||||||
camelia | sub s(%a, @b, :$h!) | ||||||||||||||||||||||||||||||||||||||
ab5tract | we allow `my $s; my @s;` in the same scope because we consider them different. if we don't consider them different in multi dispatch, it again seems far more polite to throw a compilation error | 15:49 | |||||||||||||||||||||||||||||||||||||
or maybe a worry is more appropriate in this case, because in here it is about declaration order | 15:51 | ||||||||||||||||||||||||||||||||||||||
but `multi s(:$a, :$b) {...}; multi s(:$b, :$a) {...}` is, for example, obviously nonsensical from a dispatch perspecitve, but we don't even. throw an ambiguous dispatch in this case | 16:09 | ||||||||||||||||||||||||||||||||||||||
Geth | rakudo/is-item-redux: 5 commits pushed by ab5tract++ | 16:10 | |||||||||||||||||||||||||||||||||||||
|Tux| |
|
16:32 | |||||||||||||||||||||||||||||||||||||
16:39
[Coke]_ joined,
nebuchad` joined
16:42
[Coke] left,
nebuchadnezzar left
16:44
gfldex joined
17:12
MasterDuke left
|
|||||||||||||||||||||||||||||||||||||||
japhb | Anyone know if there's a way to force `mi6 release` to ignore xt/ ? I'm doing a release specifically to move some broken tests (expired test TLS cert, bleah) from t/ to xt/ so that users don't run into this at install time. | 18:43 | |||||||||||||||||||||||||||||||||||||
21:05
sena_kun left
|
|||||||||||||||||||||||||||||||||||||||
ab5tract | sorry japhb, not sure :/ | 21:57 | |||||||||||||||||||||||||||||||||||||
TIL that the jvm version of nqp::capturenamedshash is broken | 21:58 | ||||||||||||||||||||||||||||||||||||||
lizmat | japhb: the only thing I can come up with, is to disable the tests with an environment variable setting, set that during mi6 release | 22:04 | |||||||||||||||||||||||||||||||||||||
ab5tract: but would you need that on the JVM ? | |||||||||||||||||||||||||||||||||||||||
ab5tract | are there other ways to introspect the named arguments of a capture? | 22:05 | |||||||||||||||||||||||||||||||||||||
lizmat | in NQP ? | ||||||||||||||||||||||||||||||||||||||
ab5tract | yeah | 22:06 | |||||||||||||||||||||||||||||||||||||
lizmat | nqp::capturehasnameds should tell if there are any | ||||||||||||||||||||||||||||||||||||||
but indeed, nqp::capturenamedshash would be the only way that I know of | 22:07 | ||||||||||||||||||||||||||||||||||||||
ab5tract | right, but that doesn't really allow me to check whether the named argument iscont | ||||||||||||||||||||||||||||||||||||||
I'm just porting the is named logic to the legacy dispatch | |||||||||||||||||||||||||||||||||||||||
sorry, is item | |||||||||||||||||||||||||||||||||||||||
probably time to go to bed :) | |||||||||||||||||||||||||||||||||||||||
lizmat | hehe.. same goes for me: the 54km cycling trip this afternoon was more tiresome than I expected :-) | 22:09 | |||||||||||||||||||||||||||||||||||||
Geth | nqp/main: 611deff40a | (Elizabeth Mattijsen)++ | src/how/NQPClassHOW.nqp Remove dead code |
22:22 |