🦋 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:02 reportable6 joined 00:11 jpn joined 00:15 eseyman left 00:18 jpn left 00:35 eseyman joined 00:58 systems joined 01:04 xinming left 01:06 xinming joined 01:07 nort left 01:24 jpn joined, archenoth joined 01:29 clarjon1 left 01:30 jpn left 01:31 freeside joined 01:36 freeside left 01:38 freeside joined 01:42 freeside left 01:44 jpn joined 01:51 jpn left 01:56 razetime joined 02:24 razetime left, razetime1 joined 02:26 squashable6 left, razetime1 is now known as razetime 02:28 squashable6 joined 02:38 razetime left 02:53 razetime joined 03:08 systems left 03:15 jpn joined 03:22 jpn left
rf "Missing serialize REPR function for REPR MVMContext (BOOTContext)" what did I do lol 03:49
03:52 razetime left 04:08 razetime joined 04:09 ispyhumanfly left 04:12 razetime left 04:30 perlbot left, perlbot joined 04:43 razetime joined 04:46 razetime left 05:08 jpn joined 05:16 jpn left 05:23 Monalika9 joined 05:45 jpn joined 05:50 jpn left 06:00 reportable6 left, reportable6 joined, Monalika9 left 06:41 GreaseMonkey left 07:01 jpn joined 07:04 squashable6 left 07:06 squashable6 joined, jpn left 07:32 samcv left, samcv joined 07:55 razetime joined 08:13 razetime left 08:30 jpn joined 08:32 razetime joined 08:38 japhb left 08:41 jpn left 09:10 japhb joined 09:12 razetime left
Geth doc: 2colours++ created pull request #4198:
Making "our declaration" more accurately described
09:42
09:45 Sgeo left 09:47 freeside joined 09:53 freeside left 10:06 freeside joined 10:11 freeside left 10:13 jpn joined 10:18 jpn left 10:19 Guest53 joined
Guest53 lll 10:19
10:19 Guest53 left 10:46 sena_kun joined 11:08 jpn joined 11:13 jpn left 11:15 jpn joined 11:23 freeside joined 11:29 freeside left 11:32 jpn left 11:36 freeside joined 11:42 freeside left 12:00 reportable6 left 12:03 jpn joined, reportable6 joined 12:08 jpn left 12:20 freeside joined 12:21 jpn joined 12:25 freeside left, jpn left 12:36 ab5tract left 12:47 freeside joined 12:51 freeside left 12:52 freeside joined 12:55 jpn joined 12:57 freeside left 13:01 jpn left 13:04 ab5tract joined 13:08 ab5tract left
tbrowder .tell JRaspass i 13:24
tellable6 tbrowder, I'll pass your message to JRaspass
13:25 jpn joined
tbrowder .tell JRaspass i've asked for some help on irc #raku-land 13:25
tellable6 tbrowder, I'll pass your message to JRaspass
13:30 jpn left 13:41 freeside joined 13:45 freeside left 13:50 ab5tract joined 13:58 jpn joined 14:03 jpn left 14:26 ispyhumanfly joined 14:34 jpn joined 14:39 epony left 14:41 jpn left 14:44 freeside joined 14:52 jpn joined, freeside left 15:08 jpn left 15:45 razetime joined 16:06 freeside joined 16:10 ajdplaysalto joined 16:12 freeside left 16:19 pingu joined
pingu is there a way to make this regex work with raku regex101.com/r/HCK9jC/4 16:23
when I read rakus documentation on regex its just code examples that I don't understand 16:24
16:24 jpn joined 16:26 abraxxa-home joined 16:27 abraxxa-home left 16:29 abraxxa-home joined 16:30 jpn left 16:34 freeside joined 16:35 jpn joined 16:38 rf_ joined, rf_ left
guifa token number { … }; regex line { ^\h* $<linetype>=<[0..6]> \h+ $<color=number> \h+ $<xrot=number> … etc etc $<filename>=[\S+[.]\S+] $ } 16:38
16:39 freeside left
guifa although you could probably make it cleaner by changing <ws> to be \h+ and declaring it a rule instead of a regex then you'd just do $<color=number> $<xrot=number> without any other changes (also in that case you'd want to do \S+? instead because IIRC a rule blocks backtracking 16:40
16:41 cfa joined
cfa o/ 16:42
rf .tell tonyo I may be missing something but I think fez init should take a name, and make the module inside of the directory rather than within the CWD 16:43
tellable6 rf, I'll pass your message to tonyo
rf .tell tonyo Besides that everything seems to be working fairly well, not exactly sure where cmd sources its commands from though. 16:46
tellable6 rf, I'll pass your message to tonyo
cfa hmm, this feels like a bit of a trap -- or surprising behaviour that should be documented at least: 16:47
m: module A {}; module B { class A::C {} }; A::C.say
camelia (C)
cfa here, because module A already exists, class C is created in module A, and is therefore referenced as A::C (rather than B::A::C). by contrast, when module A doesn't already exist, A is created as a package within B:
m: module B { class A::C {} }; B::A::C.say
camelia (C)
cfa in other words, nesting behaviour is very sensitive to imports (especially problematic when you're using 'unit'). for example, module A { class Text::Foo {} } might create A::Text::Foo... unless you've already imported Text::CSV, in which case you've just declared Text::Foo.
thoughts? 16:48
rf m: use Test; module A { class Test::Foo {} }; say Test::Foo; 16:50
camelia (Foo)
rf m: use Test; module A { class Test::Foo {} }; say A::Test::Foo;
camelia Could not find symbol '&Foo' in 'A::Test'
in block <unit> at <tmp> line 1
rf Hmm I could see where this could be confusing
Nemokosch This is very confusing, bluntly put 16:53
Disturbing, even
Anyway, I hope you didn't forget about the doc meeting 🥁 16:54
rf I'm struggling to get jitsi installed stand by 16:56
Nemokosch I'm painh to just use the browser
cfa Nemokosch, doc meeting? 16:58
Nemokosch Yep
rf What's the jitsi link, sorry :D 16:59
17:00 freeside joined
cfa oh, that was a comment to rf, sorry 17:00
Nemokosch meet.jit.si/raku-docs 17:01
17:07 freeside left
cfa (back later) 17:13
17:13 cfa left 17:25 razetime left 17:40 derpydoo left 17:45 derpydoo joined 17:58 Xliff joined
Xliff \o 17:58
Does Raku have SFTP libraries?
Nemokosch Meeting was okay imo
18:00 reportable6 left 18:01 reportable6 joined 18:02 whatnext joined
whatnext Hello all... I am wondering how raku performance benchmarks are looking these days... is there a recent summary somewhere? :) 18:03
rf When you say these days, what time frame are you thinking? 18:14
whatnext I guess I'm just looking for the most recent update 18:17
rf .tell tonyo I also think the name field of META6 should be: Module::Bob instead of Module-Bob 18:28
tellable6 rf, I'll pass your message to tonyo
rf whatnext: There was a reddit post a little while back about it
whatnext rf do you have a link? :) 18:30
18:32 Xliff left
rf www.reddit.com/r/rakulang/comments...ments_and/ 18:33
whatnext: ^ 18:34
Nemokosch Actually ugexe made a good argument that it should indeed be Module-Bob, instead of Module::Bob 18:35
tbh no matter what a dependency is, a module or a dist 18:36
whatnext rf: ah that's great - very useful thank you :)
Nemokosch distinguishing the two can only be right
ugexe Ideally distribution names use characters safe on most file systems 18:38
It makes it easier to generate human readable file names for the tar gz files 18:39
18:45 freeside joined 18:49 freeside left 18:50 abraxxa-home left
rf Makes sense! 18:51
19:08 QhpAptyj9hj0RQwM joined
QhpAptyj9hj0RQwM Not really Raku related, but I'm looking for the a good web template system to make a site without client-end JS. Any suggestions? 19:11
19:16 jgaz joined 19:24 jpn left
rf Humming-Bird with Mustache or Cro with Cro templates 19:26
QhpAptyj9hj0RQwM rf: Nice, I didn't even think of using Cro for this project. Thanks a lot! 19:31
19:33 jpn joined 19:35 whatnext left 19:40 QhpAptyj9hj0RQwM left 19:41 jpn left 19:51 jgaz left 19:52 sena_kun left, sena_kun joined 19:53 jpn joined 20:02 jpn left 20:06 epony joined 20:14 jpn joined 20:19 jpn left 20:43 derpydoo left 20:48 jpn joined 20:53 jpn left 20:57 Sgeo joined 21:07 jpn joined 21:13 jpn left 21:24 jpn joined 21:29 jpn left 21:47 freeside joined 21:51 ajdplaysalto left, freeside left
rf Is there a nice way to throw exceptions from nativecall? 22:01
22:02 greaser|q joined
rf Another question as well, is there a nice way to return a map from native call? 22:03
22:03 greaser|q left, greaser|q joined, greaser|q is now known as GreaseMonkey
rf In Ruby if I wanted to return a map from a native-call it would be like rb_hash_new(); in C, is there a header I can pull in for Raku types? 22:04
22:07 jpn joined
p6steve ++ this ... fwiw I have used similar as a coercion method name : method Dan-DataFrame( Dan::Polars::DataFrame:D: ) { ... } 22:12
22:15 jpn left
rf I'm wondering if I can use Moar types 22:17
Or imitate them
22:35 cfa joined
cfa o/ 22:35
22:38 guifa_ joined 22:41 guifa left 22:49 jpn joined 22:52 japhb left 22:56 jpn left 22:58 japhb joined
rf p6steve: stackoverflow.com/questions/754238...ative-call 22:59
tellable6 rf, I'll pass your message to p6steve
rf Hopefully someone will come up with something
23:09 Voldenet left 23:10 Voldenet joined 23:12 ab5tract left
guifa_ rf: not sure if you can do it directly from within C, but if you can return an array of sorts, then I think you can fairly easy add a trait to the method to convert accordingly 23:13
It's obviously not exactly what you want, but might be able to save you some hassle: 23:17
m: sub trait_mod:<is>(Sub \s, :$hashy!) { s.wrap: anon sub :: (|c) { callsame.hash } }; sub foo is hashy { return <a b c d> }; say foo
camelia {a => b, c => d}
rf What happens when I need to embed maps though? 23:19
I can't express that in C very nicely.
guifa_ well, that's a bit more work ha. I didn't know how complex you were going 23:20
Like I said, it's not a do-it-in-C solution, so it wouldn't work for all use cases
rf Yeah I thought of using a list type but it gets super weird.
Basically I encode JSON in C then need to pass it up as a map to Raku 23:21
23:24 hythm joined
hythm m: say Attribute.^methods 23:26
camelia (The 'ForeignCode' class is a Rakudo-specific implementation detail and has no serviceable parts inside The 'ForeignCode' class is a Rakudo-specific implementation detail and has no serviceable parts inside The 'ForeignCode' class is a Rakudo-specific…
hythm How to get the methods list I can call on `Attribute`? 23:27
:m say Attribute.^attributes 23:30
m: say Attribute.^attributes
camelia (str $!name int $!rw int $!ro Mu $!required int $!is_built int $!is_bound int $!has_accessor Mu $!type Mu $!container_descriptor Mu $!auto_viv_container Mu $!build_closure Mu $!package int $!inlined Mu $!dimensions int $!box_target int $!positional_de…
23:44 jpn joined 23:52 kybr left 23:53 jpn left
hythm m: say Attribute.^methods.grep(*.name ne '<anon>') ## found it 23:53
camelia (compose apply_handles get_value set_value container readonly package inlined dimensions WHY set_why Str gist)