This channel is intended for people just starting with the Raku Programming Language (raku.org). Logs are available at irclogs.raku.org/raku-beginner/live.html 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 = Bar.new; | 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: stackoverflow.com/questions/735996..._73599629? | 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 "raku.land" 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: github.com/alabamenhu/Intl-CLDR/bl...re.pm6#L50 | 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 |