This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
yabobay guifa: what, like calling java functions from raku? 00:10
00:44 Kaipei joined 00:46 Kaiepi left 00:48 Kaipei left 01:45 razetime joined
guifa yabobay: correct 02:37
use java::foo::Bar:from<Java>; my $foo =; 02:38
There might be a way to still call Java code from MoarVM or JS backends but.... they'd be far more involved since they'd need to actually invoke a JVM and deal with passing stuff between the different VMs 02:39
02:50 Kaiepi joined
Kaiepi the jvm's in an experimental state. very slow compared to moarvm, lacks support for some niceties moar has (e.g. atomicint, async udp sockets) 03:25
doesn't even build on newer rakudos for reasons i'm still not clear on 03:26
`:from<Java>` does something or other with the classpath. `:from<JavaRuntime>` would work for something under the `java` package
(it adds a `$.prefix` to it, but i'm not sure where that'd be for any given `use` statement) 03:28
doesn't even build on newer rakudos and jvms for reasons i'm still not clear on 03:29
04:42 frost joined 05:02 destroycomputers left 05:03 lucs_ left, Kaiepi left, m_athias left, samebchase left, samebchase- left, CIAvash left, crystalfrost[m] left, mjgardner left, sivoais left, razetime left, lizmat left, human_blip left, tbrowder left, Util left, SmokeMachine left, frost left, SmokeMachine joined, sivoais joined, mjgardner joined, samebchase- joined, samebchase joined, lucs_ joined, destroycomputers joined, crystalfrost[m] joined, CIAvash joined, human_blip joined, Util joined, lizmat joined, tbrowder joined, m_athias joined, razetime joined, Kaiepi joined, frost joined 05:05 frost left, frost joined 05:06 destroycomputers left 05:07 destroycomputers joined, lucs_ left 05:08 Kaiepi left, m_athias left, samebchase left, samebchase- left, CIAvash left, crystalfrost[m] left, mjgardner left, sivoais left 05:09 human_blip left 05:10 tbrowder left, Util left, SmokeMachine left, tbrowder joined, Util joined, SmokeMachine joined 05:12 Kaiepi joined, m_athias joined, samebchase joined, samebchase- joined, lucs_ joined 05:13 mjgardner joined, sivoais joined, razetime left, lizmat left, human_blip joined 05:14 razetime joined, lizmat joined 05:18 razetime left 05:20 razetime joined 05:24 razetime left, razetime joined 05:27 CIAvash joined 05:31 razetime left 05:32 razetime joined 06:50 crystalfrost[m] joined
yabobay oh yeah what about the JS backend, what's the use of that? 06:58
Kaiepi it's in a similar state. less familiar with it, but i think it has js interop and can run in a browser? 07:00
yabobay but why though 07:01
(other than that it's cool)
Kaiepi idrk 07:04
having multiple backends is not unique to raku, so there must be a good reason to allow for it
yabobay well it is cool 07:05
07:08 discord-raku-bot left, discord-raku-bot joined 08:10 razetime left 08:14 razetime joined 08:19 razetime left 08:21 razetime joined 08:35 razetime left 08:36 razetime joined 08:42 razetime left 08:43 razetime joined 08:59 frost left 09:05 razetime left 09:06 razetime joined 09:11 razetime_ joined, razetime left 09:38 frost joined 09:41 razetime joined, razetime_ left 09:47 razetime left, razetime joined 09:52 razetime left 09:55 razetime joined 10:03 razetime left 10:05 razetime joined 10:46 razetime left 10:47 razetime joined
gfldex <@989550365533937664> the JS backend was a one-person project of joy. The use was joy and the discovery of quite a few bugs in Rakudo that would have popped up much later otherwise. 11:28
Nemokosch the non-MoarVM backends are mostly proof-of-concept, as lizmat said 11:29
lizmat well.. the JVM backend is older than the MoarVM backend, but indeed, you could argue it proved you could have multiple backends (apart from Parrot at the time) 11:33
12:35 razetime left
Nemokosch and the .NET backend is even older 😉 12:43
stevied anybody have any ideas on what might be wrong with my code here: 13:28
guifa Having multiple backends I think is a great way to force devs to not depend on a single backend (surely there's countless examples of in computing history where that's resulted in bad stuff lol) 13:52
Although it's slightly different level of Raku, consider how often folks were trying to use NQP — but that's code tied to a specific compiler (Rakudo), so if someone made another compiler, there wouldn't be compatibility 13:53
Anton Antonov Having multiple back-ends is fundamental ecosystem property if "TIMTOWTDI" is taken seriously. (Which Raku does, or at least has to appear committed to.) 14:26
14:30 frost left
Nemokosch NQP is _not_ advertised as a means to increase performance - still, sometimes it's a necessary measure 14:45
and yeah, either way, the "language" isn't slow, the runtime is, so I think it's justified that the slowness of the runtime sometimes needs to be addressed by runtime-specific code
yabobay it'd be cool to be able to compile raku to native executables 14:46
i dunno why 14:47
Nemokosch it could be useful, simply because Raku isn't widespread enough to easily justify always shipping Rakudo and MoarVM
but yeah, it's work; kinda niche work 14:49
lizmat Nemokosch: if you're talking about Niecza as the .NET backend, that is incorrect: Niecza was a completely independent implementation of what is now Raku and *not* based on 6model / nqp 18:43
Nemokosch I never stated that it was related, I'm implying that it's more of a historical fun fact that JVM is older 18:47
it just happens to be a backend that didn't completely turn legacy but it was never meant to be the ultimate solution 18:49
by sheer luck this could apply to Niecza as well
guifa If I had more time, I'd probably toy around with the idea of making a separate compiler (not just backend). Not because I'd ever make it remotely as fast as Rakudo on MoarVM, but just because I think it's healthy to have multiple compilers (which, along with RakuAST, would really help to push people away from using NQP) 18:53
But alas, I don't have that time :-(
Nemokosch perhaps it would be nice to have a compiler with some conventional generic parser generator 18:57
IF the grammar of Raku can even be handled by those grammars 18:58
guifa nemokosch: maybe a lisp-y one, since Raku can change its grammar on the fly
But even doing a reference compiler that's slow as all get out could be good. 18:59
lizmat FWIW, I would hope that we can pool people to work on RakuAST before that 19:00
guifa lizmat I know, and sorry I've not been able to help out on that front like I'd like to. Hopefully life will calm down for me and I can get more involved again (that or even just module development, tbh) 19:32
lizmat guifa: no worries... :-) 19:33
stevied Along those lines, I was thinking of setting a goal of writing one module a week. They would be simple modules, of course. Maybe do a more ambitious module release every month. 20:44
20:52 Nemokosch joined
guifa The small modules can be just as useful as the big ones 20:54
guifa points to lizmat's ginormous collection of nifty one-offs
20:55 Nemokosch left 21:01 Nemokosch joined
stevied Right 21:13
21:21 Nemokosch left
Anton Antonov @guifa I am self-censoring my package publications to "" because of your "do not use camelCase" comments and statements. 21:38
guifa Anton I'd still publish them! Just add a little note (depending on the case) that it's just got camelcase, that support is forthcoming for camelCase and kebab-case, or whatever the status may be. 21:57
I think I mentioned there that I have a huge module that supports multiple case types for historical reasons
on methods, you can might want to look at my is aliased-by trait. Feel free to just copy and paste the code if you want: 22:01
`method foo is aliased-by<bar>`
For all other things, you can alias by just binding: `our $foo is export; our $bar is export := $foo;` 22:02
22:43 Nemokosch joined
stevied I don’t use camel case because Microsoft adopted it. I’m shallow. 23:05
Anton Antonov Hmmm.... let us publish camelCase packages to "raku.stan" . 23:55
Nemokosch XD
anyway, what's with camelCase being discriminated against
Anton Antonov <@297037173541175296> I will send a link answering that in minute... 23:57