This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
04:05 Kaipii joined 04:08 Kaipei left 04:44 Kaipii left 05:20 Kaipii joined 07:42 Kaipii is now known as Kaiepi 08:59 Kaiepi left 09:14 Kaiepi joined 09:22 jaguart joined 10:36 lizmat_ joined 10:38 lizmat left, lizmat_ is now known as lizmat 12:18 jgaz joined
jaguart Do folks using Raku have any thoughts either way on Dependency Injection vs Service Container - or is that orthogonal? 13:31
I mean - orthogonal to Raku :) 14:08
14:10 saint- joined 14:27 kbtz joined
lizmat feels like a question better asked on #raku 14:29
14:38 kbtz left, kbtz joined 16:41 discord-raku-bot left 16:42 discord-raku-bot joined 16:54 kbtz left 16:59 jgaz left
jaguart looking for recommends - Config loader, prefer JSON or YAML - anyone have a fav? Config + Config::Parser::json or Config::JSON etc.? 17:03
17:51 saint- left 17:57 Kaiepi left 18:33 Kaiepi joined
SmokeMachine I prefer json (I don’t like indentation with meaning… I feel like using `whitespace`) 18:34
And it’s easy to search with rak… :)
jaguart SmokeMachine++ - thanks. So far my thought is ``Config`` naming is evil - there is a problem with the Perl in terms of name-clash which makes me nervous, and Config::JSON is meh - it has a function interface, but no instance, so would need wrapping to provide state like .config-filename .is_dirty etc. 18:40
Config::Clever looks interesting - with a shallow wrapper 18:42
Config::INI - missing overview, because the docs are in pod6 in the module - but it's a INI based anyway 18:44
avuserow I like TOML these days. Similar looking to INI but has better data structures. Easier to edit than JSON and avoids the complexity of YAML. 20:56
Quibono What’s the best way to deal with the raku learning curve? 21:32
Nemokosch doing the weekly challenges, reading small snippets and finding out every day what you need to solve at the moment 21:34
Quibono Also, does rakudo spit out the bytecode into a file and is there a way to get like a textual bytecode/docs for the bytecode? 21:35
And how do you kinda justify the complexity of it? Like what makes raku so worth learning (not trying to be confrontational, just curious)
Nemokosch I don't know if it is worth it. What I can say is that it makes you feel empowered when it really works as you would expect. My personal motive for starting Raku was simply that I think POSIX shell is the most disgusting language still in use and I wanted something that has a fluent interface to it, while still being a proper programming language. 21:37
it also feels great for CLI stuff and prototyping 21:39
for CLI, I doubt it is beatable at all
Quibono Gotcha, thanks. 🙂 21:41
Nemokosch Also I think the community is very entitled. This is true for many languages but it's particularly important for languages with small user bases 21:43
Quibono Entitled how? 21:46
Nemokosch well, how
Anton Antonov docopt implementations in Python and R make those languages fairly for CLI tasks. (At least for data processing, ML, etc.) 22:09
"docopt" ( implementations in Python and R make those languages fairly for CLI tasks. (At least for data processing, ML, etc.) 22:10
Nemokosch and even this looks lamer than what you get with Raku by literally not doing anything for it 22:12
Anton Antonov Yeah. 🙂 It is a crutch. But since I can utilize with CLI some powerful Python and R libraries through "docopt", I like it. 22:14
Nemokosch Well, fair enough, not gonna argue with that 22:17
There are two aspects in which we need to catch up, even if not to Python level, at least towards it
One is the amount of high-quality, maintained modules
Anton Antonov Also -- like you, it seems -- I have hard time determining is learning Raku worth it. For its worth comes from much deeper understanding on programming language technologies. But this is more of a "the journey is its own reward" kind of deal.
Nemokosch And the other is the performance...
Anton Antonov Working on it, I think ...
Nemokosch Definitely
stevied That’s why I’m learning it. Just to become more knowledgeable.
Nemokosch Python is reasonably fast for data processing these days 22:19
stevied Good mix of being useful and doing advanced stuff.
Anton Antonov Currently I am profiling / benchmarking a the same theoretical design of recommender systems in Java, Kotlin, Mathematica, Python R, Raku, and Swift. Python is not the fastest for the core computations, but is very, very quick and getting/rehydrating pickled recommenders. That makes _very_ applicable for utilization in Unix shell CLI pipelines. 22:21
BTW, with Raku the reading of the largest benchmark test CSV file is 20-30 times slower than Python. (After utilizing CBOR, not direct CSV parsing...) 22:25
Basically, I was strongly considering not including Raku in that study. But the corresponding Raku package has a reference implementation, so I am going to accommodate it somehow... 22:27
Python or Raku?
stevied Raku
Quibono 20x slower? Damn 22:29
Now I want to get involved in raku just to figure out why it’s so slow
Anton Antonov The data load, of CSV files. Python uses directly C for those, I am told. 22:31
Quibono Ah so raku’s CSV is implemented directly in raku, that’d do it
Anton Antonov Again -- I used a python program to convert CSV file into CBOR file, and used the Raku package "CBOR::Simple" ( to ingest that file in Raku. 22:33
Quibono Is there not a raku CSV module?
Anton Antonov There is, "Text::CSV", but it is too slow. After 60 min still did not parse / ingest my CSV file. 22:34
Nemokosch that's why it's reasonably common to implement modules using the NativeCall module, depending on C typically
anyway, Raku usually runs on MoarVM, it has basically nothing to do with C per se 22:35
while MoarVM has pros - for example the sheer fact that it can support all the features of Raku, and that it uses a language that is still essentially Raku - , it seems rather heavy and probably there are still huge open optimization possibilities... 22:37
not necessarily "low-hanging" but still, there have been good reworks so far, like the new dispatch and like RakuAST will be 22:38
probably there could be other reworks as well 22:39
Anton Antonov Hm... for me the low-hanging fruit are basic Machine Learning (ML) algorithms. To some extend in order to supplement the ML code generation I implemented in Raku, but mostly to "remind" myself of those algorithms and take another look at them, 22:44
Hm... for me the low-hanging fruit are basic Machine Learning (ML) algorithms. To some extend in order to supplement the ML code generation I implemented in Raku, but mostly to "remind" myself of those algorithms and take another look at them.
Nemokosch I suppose machine learning content isn't that much about real-time performance anyway? 22:48
22:50 kbtz joined 22:52 kbtz left 23:03 kbtz joined
kbtz hey folks, I've put my grammar on a its own rakumod file and I'm using `unit grammar gname;` cuz its nice 23:10
but now over the main program I use gname but neither `parse` nor `gname::parse` is found 23:11
I need some sort of `our gname::parse` so it can be used over there? 23:13
Quibono Kinda insane but I’m really tempted to make my own Raku VM and maybe compiler… 23:14
kbtz `gname.parse` of course 23:20
Quibono So there’s only rakudo as an active compiler? 23:33
stevied Only viable one being worked, from what I’ve read 23:52