🦋 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| Rakudo v2024.03-115-g569708939 (v6.d) on MoarVM 2024.03-3-gf2220d93d
csv-ip5xs0.258 - 0.261
csv-ip5xs-201.134 - 1.135
csv-parser1.525 - 1.530
csv-test-xs-200.141 - 0.141
test1.955 - 1.957
test-t0.426 - 0.447
test-t --race0.287 - 0.289
test-t-205.112 - 5.131
test-t-20 --race1.218 - 1.240
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