🦋 Welcome to the MAIN() IRC channel of the Raku Programming Language (raku.org). Log available at irclogs.raku.org/raku/live.html . If you're a beginner, you can also check out the #raku-beginner channel!
Set by lizmat on 6 September 2022.
00:00 reportable6 left 00:01 sena_kun left 00:02 reportable6 joined 00:27 lichtkind_ left 00:38 saint- joined 00:39 saint- left 00:50 discord-raku-bot left, discord-raku-bot joined 01:03 xinming_ left 01:04 xinming left 01:05 xinming_ joined 01:06 xinming joined 01:21 saint- joined 01:36 razetime joined 01:48 razetime left 01:50 discord-raku-bot left, discord-raku-bot joined 01:54 discord-raku-bot left 01:55 discord-raku-bot joined 02:16 MoC_ joined 02:17 MoC left 02:50 discord-raku-bot left, discord-raku-bot joined 02:53 Averna joined 03:03 razetime joined 03:04 swaggboi left 03:18 sftp left 03:33 swaggboi joined, rf left 03:49 sftp joined 03:50 discord-raku-bot left, discord-raku-bot joined 03:53 razetime left 03:57 sftp left 04:06 swaggboi left 04:16 sftp joined, razetime joined 04:31 swaggboi joined 05:27 jpn joined 05:31 leah2 left 05:32 jpn left 05:50 discord-raku-bot left 05:51 discord-raku-bot joined 06:00 reportable6 left 06:03 reportable6 joined 06:50 discord-raku-bot left 06:51 discord-raku-bot joined 06:56 razetime left 07:11 jpn joined 07:16 jpn left 07:51 discord-raku-bot left, discord-raku-bot joined 07:56 Homer_Simpson joined
tonyo m: grammar RF { rule TOP { ^ <str-list> $ }; token str-list { |"ABC"|"DEF"|"GHI" }; }; RF.parse("ABC").say; RF.parse("abc").say; # rf 08:25
camelia 「ABC」
str-list => 「ABC」
Nil
08:51 discord-raku-bot left, discord-raku-bot joined 08:55 discord-raku-bot left 08:56 discord-raku-bot joined 08:57 MoC_ is now known as MoC 09:03 samebchase left, MoC left
Homer_Simpson . 09:06
09:11 jjido joined 09:19 leah2 joined 09:31 Sgeo left 09:37 sena_kun joined 09:49 MoC joined 09:51 discord-raku-bot left, discord-raku-bot joined
CIAvash m: grammar RF { rule TOP { ^ < ABC DEF GHI > $}; }; RF.parse("ABC").say; RF.parse("abc").say; # rf 10:05
camelia 「ABC」
Nil
CIAvash m: my @a = < ABC DEF GHI >; grammar RF2 { rule TOP { ^ @a $}; }; RF2.parse("ABC").say; # rf 10:19
camelia 「ABC」
10:44 jjido left 10:55 lichtkind_ joined 11:41 razetime joined 11:54 razetime left 11:59 jjido joined 12:00 reportable6 left 12:01 jpn joined 12:02 reportable6 joined 12:11 jjido left 12:14 jpn left, MoC_ joined, MoC left 12:49 MoC_ left, MoC joined 12:51 discord-raku-bot left, discord-raku-bot joined 13:01 MoC left 13:26 Homer_Simpson left
Anton Antonov @lizmat "sorry, /me is too stockholm syndromed to vim" -- I assume you realize that some people might use this statement against you. 13:42
13:54 jpn joined 13:56 razetime joined 13:57 razetime left 14:00 jpn left 14:07 El_Che left 14:27 loken joined 14:51 discord-raku-bot left 14:52 discord-raku-bot joined 15:10 jpn joined 15:16 jpn left 15:18 loken left 15:45 jpn joined 15:50 jpn left 15:51 discord-raku-bot left 15:52 discord-raku-bot joined 16:03 Guest14 joined 16:05 Guest14 left 16:06 jgaz joined 16:17 rf joined 16:27 jjido joined 17:27 linkable6 left, evalable6 left 17:28 linkable6 joined 17:30 evalable6 joined 17:33 jpn joined 17:37 jpn left 17:52 discord-raku-bot left, discord-raku-bot joined 18:00 reportable6 left
stevied is there any practical difference between a module's "long name", "module specification" or "identity"? Are these terms pretty much synonymous? 18:01
18:03 reportable6 joined 18:20 samebchase joined 18:43 atroxaper joined
atroxaper Hello #raku ! 18:45
How can I reference to a role parameter type outside of the role? 18:46
m: role Par[::T] { method m(--> T) {} }; sub s(Par[::T] $p --> T) { $p.m } 18:47
camelia ===SORRY!=== Error while compiling <tmp>
No such symbol 'T'
at <tmp>:1
------> T] { method m(--> T) {} }; sub s(Par[::T⏏] $p --> T) { $p.m }
19:43 linkable6 left, evalable6 left 19:45 evalable6 joined 19:46 linkable6 joined 19:51 Sgeo joined 20:30 jjido left 20:52 discord-raku-bot left, discord-raku-bot joined 21:52 discord-raku-bot left, discord-raku-bot joined 22:07 jpn joined 22:12 jpn left 22:15 Oshawott joined 22:19 archenoth left 22:26 saint- left
rf m: role Par[::T] { method m(--> T) {} }; sub s(Par[T] $p --> T) { $p.m } 22:39
camelia ===SORRY!=== Error while compiling <tmp>
Undeclared name:
T used at line 1
22:41 jgaz left
Nemokosch I'm not sure what this is supposed to mean 22:45
looks like fake templating 22:46
rf I'm just seeing if there is a way to do what @atroxaper is trying
I'm not sure it is possible 22:47
22:55 sena_kun left
rf atroxaper: I would just avoid the type system in this case. I had a similar problem writing my result monad library, but in the end I think it gets more in the users way to type like this. 22:56
But there may be a way, but I am not sure.
23:44 rf left 23:52 discord-raku-bot left 23:53 discord-raku-bot joined
Voldenet m: role s[::T] { submethod CALL-ME(T $s –> T) { $s }}; say s[Int](1) 23:53
camelia ===SORRY!=== Error while compiling <tmp>
Malformed parameter
at <tmp>:1
------> role s[::T] { submethod CALL-ME(T $s⏏ –> T) { $s }}; say s[Int](1)
expecting any of:
constraint
Voldenet m: : role s[::T] { submethod CALL-ME(T $s) returns T { $s }}; say s[Int](1) 23:54
camelia ===SORRY!=== Error while compiling <tmp>
Bogus statement
at <tmp>:1
------> :⏏ role s[::T] { submethod CALL-ME(T $s) r
expecting any of:
colon pair
Voldenet m: role s[::T] { submethod CALL-ME(T $s) returns T { $s }}; say s[Int](1)
camelia 1
Voldenet this is the closest you can probably get to what you want
m: role Par[::T] { method m() returns T {} }; role s[::T] { submethod CALL-ME(Par[T] $p) returns T { $p.m }}; say s[Int](Par[Int].new) 23:55
camelia Internal error: inconsistent bind result
in submethod CALL-ME at <tmp> line 1
in block <unit> at <tmp> line 1
Voldenet uh oh uh