🦋 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:49 sibl joined 01:02 snonux left, rjbs left, slu left, sivoais left, maylay left, phogg left, coleman left, rba left, thaewrapt left, jast left, JRaspass left 01:07 snonux joined, rjbs joined, slu joined, sivoais joined, maylay joined, phogg joined, coleman joined, rba joined, thaewrapt joined, jast joined, JRaspass joined
[Coke] . 01:16
tellable6 hey [Coke], you have a message: gist.github.com/3118ce8bc07f29829b...a3f261e757
hey [Coke], you have a message: gist.github.com/bb834f3fa6d3767cc9...d2a45c328d
01:37 hulk joined 01:38 kylese left 02:05 johnjay joined 02:15 hulk left, kylese joined 06:24 samebchase joined 06:37 Sgeo left 06:38 hurufu joined 07:07 hwj joined 07:49 dakkar joined 08:31 sibl left
SmokeMachine yesterday I tried something interesting... I asked claude to make it work to compile moarvm to wasm and make it possible to have a modern rakudo running on the browser... it changed a few files (including 3rd party ones), compiled it and said it was working... then I asked it to add that as a new runtime on Raku-Playground... and how surprised I was that seems to be working?!?! I have no idea what it did, I did not even read the change yet 08:43
(I'll only be able to read that after work)... It seems to be much faster to compile than the old perl6.js I'm originally using on Raku-Playground. Is someone would like to try it out: fco.github.io/Raku-Playground/?runtime=moar these seems to be the files it changed on moarvm (I'll ask it to not change 3rd party files and apply those changes on moarvm files only and try to understand that) does anyone think it would worth to open
an MR to moar with that? www.irccloud.com/pastebin/jhXLg1EE/
timo the day llm-created code gets merged into moarvm is the day I leave 09:03
SmokeMachine I completely understand and that's not my point... the "suggested" MR was not intended to be merged... only to be stored and if wanted, work as a prove that worked and how it worked, so, someone that wants could look how it was made and serve as inspiration. But that code, for me, is completely not mergeable... It was just a test and I didn't think it would work... 09:12
timo: ^^
timo how much of raku-playground is LLM-made btw? 09:14
SmokeMachine raku-playground is also a test to me... it's completely LLM-made...
timo sad 09:15
SmokeMachine I understand the feeling... but I need to learn how to use LLMs... so I'm studding it doing stuff that I think it would at least be useful. 09:16
and I will never (at least that's the way I think currently) try to merge LLM generated code into someone else's repo. 09:18
timo making everything related to threads and async i/o a no-op is quite a limitation, but if you can do without supplies and `start` and what-not, then that's probably fine 09:21
and timers 09:22
SmokeMachine and even on my own repos (not the ones LLM created, but stuff like Red, ASTQuery, etc), I even have LLM reading and generating MRs, but I get those MRs, read them, see if the idea make sense and write what makes sense on that without copying any code... everything that enters on those repos I understand and was writen by a human, me.
everything but documentation 09:23
timo i won't discuss my stance on using LLM now 09:24
SmokeMachine 👍 09:26
09:27 wayland76 left 09:28 wayland76 joined 09:38 wayland76 left, wayland76 joined
lizmat in that respect: in interesting discussion on Codeberg codeberg.org/Codeberg-e.V./Discuss...issues/185 ( you will need a login to access, but having a login on Codeberg is not a bad thing :-) 10:26
*an 10:27
10:40 Sp1983 joined
Sp1983 dev.to/melezhik/dsci-ci-with-regul...-yaml-42nf 10:40
10:41 Sp1983 left
SmokeMachine lizmat: I'm gettint 404 for that link (and I have created the login) 10:42
lizmat hmmm... ok, then maybe you need to be a member :-( 10:43
I think the most important / enlightning reaction is: 10:44
"The problem is not in your intentions, but that you are generating code based on copyrighted work by other authors, without attribution and completely ignoring the original licenses. The LLM does the illegal(*) job of stripping licenses and authorship, and merging different inputs into an output whose origins may or may not be recognisable. Without you ever knowing anything about it. This raises a lot of legal questions that
Codeberg e.V. wants to avoid, along with an overall consensus that LLM generated code is a net negative for society."
SmokeMachine it may also be a problem with my machine/network... Sp1983's link is aldo 404ing to me...
lizmat .tell Sp1983 Raku example is unnecessary complex and confusing and possibly incorrect: say("hello $c['name']}"); 10:45
tellable6 lizmat, I'll pass your message to Sp1983
SmokeMachine lizmat: I agree with that... the problem is that I need to use that for work (I tried the most I could to avoid it), then I have to learn it... I'm not trying to defend it... but if I'm going to have to use it, at least I'll try to use that to something cool and useful... 10:48
after logging in on dev.to Sp1983's link worked here 10:51
10:52 Sp1983 joined
Sp1983 lizmat: ✅ done 10:52
tellable6 2026-07-23T10:45:56Z #raku <lizmat> Sp1983 Raku example is unnecessary complex and confusing and possibly incorrect: say("hello $c['name']}");
10:54 Sp1983 left
lizmat .tell Sp1983 still a } too many, and using a string as an index for a Positional (['name']) feels weird, $c<name> would be so much clearer ? 10:55
tellable6 lizmat, I'll pass your message to Sp1983
10:57 Sp1983 joined
Sp1983 Oh, you are right )) I stated to forget Raku syntax ))? 10:57
tellable6 2026-07-23T10:55:57Z #raku <lizmat> Sp1983 still a } too many, and using a string as an index for a Positional (['name']) feels weird, $c<name> would be so much clearer ?
Sp1983 Fixed 10:58
Hrm , something is broken for devto then , if the link is only available to logged users 11:02
lizmat the reference to logging / membership was about the codeberg url I posted earlier 11:03
ah, no?
indeed... only for logged in users... did you publish the post ?
11:03 Sp1983 left 11:05 Sp1983 joined
Sp1983 That’s the thing . Yes 11:05
lizmat my last post dev.to/lizmat/governance-and-the-r...ation-1b6b is readable without login... so maybe a personal setting or so? 11:06
Sp1983 Probably need to repost somewhere else ? And free blog platform recommendations? 11:07
Yeah. Visible for none logged 11:08
Ok. Maybe I need to republish or something , let me try
lizmat maybe the discrepance between "location: woodlands, TX" and your actual location is the reason ?
weekly: dev.to/lizmat/governance-and-the-r...ation-1b6b 11:10
notable6 lizmat, Noted! (weekly)
Sp1983 I guess it’s just some random glitch
lizmat oops, wrong url
andrewshitov.com/raku-books/
weekly: andrewshitov.com/raku-books/
notable6 lizmat, Noted! (weekly)
lizmat notable6: weekly
notable6 lizmat, 8 notes: gist.github.com/ded87d1458bbfc9441...7200f25ad8
Sp1983 dev.to/melezhik/dsci-ci-with-regul...-yaml-29kk 11:11
This should work
lizmat yeah, that one works 11:12
11:13 Sp1983 left 11:38 wayland76 left 12:14 dakkar left, dakkar joined
[Coke] Anyone have a 'mkdir -p'-alike? 13:41
timo [Coke]: IO::Path.mkdir already behaves like -p 13:52
[Coke] oops. I just expected that not to work. :) 13:57
I've been working on refactoring a bunch of raku scripts for works, switching from "dumb" json->hash to smarter json->Class access, enabling stricter typing... I do wonder if this would have been easier if I was using an IDE instead of powershell & vim 14:30
for *work*
highlighting the "was very easy to get things done in the beginning", and then easy to add more stricture to catch edge conditions, etc. to get to a point where adding more features should now be easier as well. 14:36
You get this instead of a blog post. :)
ugexe a language server would get you a lot of wha tyou want 14:39
14:50 Sgeo joined 15:35 hwj left, hwj joined 15:52 hwj left 16:00 Guest89 joined 16:28 Guest89 left 16:32 dakkar left
Voldenet SmokeMachine: actually, what claude did is completely wrong 16:58
libuv is something that should not be used in js backend at all 16:59
or wasm-compiled
SmokeMachine Voldenet: yes, I got it… that’s why I’m going to ask to to not change 3rd party code and not use libuv 17:00
But just pointing out that it said it did not create a new backend, but compiled moar to wasm 17:01
Voldenet what I mean is that mental model of concurrency would change and I think that raw moarvm can't be used with it 17:02
for example `start` would probably need webworkers 17:03
and locks would be coordinated
none of native things in moarvm would work 17:04
SmokeMachine Makes sense… I don’t really know how it’s working, but it seems at least some parts of it are working…
Please try it out on fco.github.io/Raku-Playground/?runtime=moar 17:06
Voldenet spoiler alert: `Cannot atomic load from an integer lexical not of the machine's native size` ;p
I am actively trying to use it and it's more or less what I'd expect
react/supply/start/await are all broken 17:07
I think C things should mostly work with any code not using libuv 17:11
rust has things like wasm_thread for reference 17:15
or wasm-timer
17:16 jjido joined
Voldenet m: use NativeCall; class X is repr<CStruct> { has int32 $.y; }; say X.new; # this also doesn't work 17:16
camelia X.new(y => 0)
Voldenet quite obviously why though
though overall I'm surprised how well it works 17:20
apart from threading you can do all the things you'd normally do
and IO
but it's not that surprising since it's regular C code mostly 17:22
it's not being able to resolve some basic modules, like Test or NativeCall – I'm pretty sure some of those are fixable 17:23
SmokeMachine On the case of that playground, I think that’s good enough… 17:32
And the compiling time is much faster that the old perl6.js I’m also using there 17:33
17:51 sftp joined, sftp left, sftp joined 17:58 hurufu left 19:32 jjido left
[Coke] any suggestions on raku-izing this more: 19:32
my @dirs = gather for $topdir.dir -> $a { for $a.dir -> $b { take $b}} ; # get all the elements not at the top level but in first layer of subdirs 19:33
Voldenet my @dirs = $topdir.dir.grep(*.d).flatmap(*.dir); # grep(*.d) because I had nested dirs with files 19:39
[Coke] I only have directories at the top level, but that's a cheap check. 19:43
ugexe .dir(:test(*.d)) probably works instead of dir.grep(*.d) 20:00
[Coke] needs .IO.d 20:04
wonder why :test is doing it on the string instead of the IO obj. 20:07
ah, worse, it's not .IO.d it's dir('mydir', test => { "mydir/$_".IO.d }) 20:08
so honestly .grep(*.d) looks pretty good.
20:21 jjido joined 20:33 hwj joined 20:41 hwj left
Voldenet actually, current implementation of nqp::nextfiledir doesn't let you filter this, but libuv does include this info 20:51
github.com/MoarVM/MoarVM/blob/8829...ops.c#L193 20:52
dirent[0].name is used, dirent[0].type is discarded
so you have to do additional operation to test it
otoh underlying dirent is cached so it costs as much as a syscall 20:53
20:54 jjido left 21:37 hankache joined, hankache left 21:38 hankache joined 22:01 hankache left 22:18 jjido joined 22:26 jjido left 22:34 jjido joined 22:38 wayland76 joined 22:39 jjido left