<< 11-12-2025 >>

02:38:33*rockcavera quit (Remote host closed the connection)
03:45:55*Jjp137 quit (Ping timeout: 264 seconds)
03:49:01*Jjp137 joined #nim
04:35:07*Jjp137 quit (Ping timeout: 264 seconds)
04:52:34*Jjp137 joined #nim
08:03:16*Jjp137_ joined #nim
08:04:15*nyeaa49284230101 quit (Ping timeout: 240 seconds)
08:04:15*Jjp137 quit (Ping timeout: 240 seconds)
10:35:18FromDiscord<saint._._.> In reply to @nervecenter "Yes, but it is": Yeah I imagine so, not really comfortable with it myself haha
11:24:44FromDiscord<grotesquemalfeasance> has anyone got hot code reloading working on linux
11:25:02FromDiscord<grotesquemalfeasance> it says success but produces no executable
11:43:00Amun-Raeons ego on 1.x line
11:45:27Amun-Rano executable in what sense? how do you reload?
11:52:45Amun-RaI've made a simple echo test and it sigsegvs on start
11:53:32Amun-Rajust right after newfstatat(AT_FDCWD, "/tmp/.nim-cache/main/debug/[email protected]"
11:59:41Amun-Raso it attempts to load included module and something goes sideways (inside is just a proc with looped echo)
12:01:10Amun-Raperhaps I'd know more if both nimrtl and the other one were build in debug mode
12:01:17Amun-Rabuilt*
16:53:47FromDiscord<Robyn [She/Her]> In reply to @grotesquemalfeasance "it says success but": hot code reloading has been borked for years, try looking at https://github.com/beef331/potato instead
16:54:02FromDiscord<Robyn [She/Her]> (edit) "years," => "ages,"
16:58:20*beholders_eye joined #nim
18:22:12FromDiscord<Elegantbeef> @Robyn [She/Her] You didn't even mention it's linux only right now cause I have not wrote a file watcher that is cross OS
18:24:33FromDiscord<Buckwheat> user said they were on Linux, but you saying that makes me wanna test on FreeBSD for giggles
18:24:43FromDiscord<Elegantbeef> I mean it uses inotify
18:24:53FromDiscord<Elegantbeef> The watcher is not working there
18:25:45FromDiscord<Elegantbeef> I take it back I didn't realize freebsd had a inotify impl
18:26:22FromDiscord<Buckwheat> if it's defined by OpenGroup in the POSIX spec, it should work on the BSDs and macOS
18:26:50FromDiscord<Elegantbeef> It's not a posix feature
18:27:04FromDiscord<Buckwheat> yeah I just saw that now
18:27:10FromDiscord<Buckwheat> spoke too early lol
18:27:37FromDiscord<Elegantbeef> https://man.freebsd.org/cgi/man.cgi?query=inotify&manpath=FreeBSD+15.0-STABLE at least I assume this means freebsd does have inotify \:D
18:28:16FromDiscord<Buckwheat> FreeBSD 15, this is a version that you have to opt into iirc, currently the RELEASE is 14.3
18:28:21FromDiscord<Buckwheat> lemme see if 14.3 has this
18:28:57FromDiscord<Elegantbeef> I mean the file watcher is a separate program so you technically can just write your own and use some envars
18:29:08FromDiscord<Buckwheat> ah yeah, so `inotify` is FreeBSD 15 and up. you could use `kqueue` for the BSDs and macOS, I might take the time to figure out how to do that patch (if you would like)
18:29:53FromDiscord<Buckwheat> I've been very busy working on my own WM but a break to do another patch for a Nim project could be needed
18:30:06FromDiscord<Elegantbeef> https://github.com/beef331/potato/blob/master/src/potato/watcher.nim feel free it's a small program
18:30:27FromDiscord<Elegantbeef> It's just a program that sends a byte on a port
18:30:48FromDiscord<Buckwheat> gotcha, I think it's possible, will take a lot of trial and error but nothing I'm not capable of
18:31:23FromDiscord<Buckwheat> looks like Nim has `std/kqueue` so I just gotta reference the kqueue man page
18:31:47FromDiscord<Elegantbeef> If you do make a bsd/mac version can you make a `watcher.nim` which has some `when` conds for `import watcherbsd.nim` `import watcherlinux.nim`?
18:32:17FromDiscord<Buckwheat> you want me to split it up into 2 different source files?
18:32:20FromDiscord<Elegantbeef> A lot of the code is reusable just need to abstract watcher logic away
18:32:32FromDiscord<Buckwheat> right, I'm good with modularity in my own projects so I think I can do it
18:32:34FromDiscord<Elegantbeef> Yea we do module based programming in this house!
18:32:43FromDiscord<Buckwheat> you're speaking my language!
18:34:28FromDiscord<Elegantbeef> There is a program inside tests you can use instead of writing your own code if you want to save a bit of time
18:35:40FromDiscord<Buckwheat> sure, I'll still be doing a full on fork and just making pushes to that as I'll need to be swapping around SSDs in my Thinkpad anyways (I am very paranoid about compat so I strictly test on bare metal like a caveman)
18:36:00FromDiscord<Buckwheat> I have access to FreeBSD, OpenBSD, NetBSD, and macOS Monterey that I could test across
18:36:38FromDiscord<Elegantbeef> Nice
18:36:55FromDiscord<Elegantbeef> I have Arch, Debian, and Alpine \:D
18:37:20FromDiscord<Elegantbeef> Not that I actually run it on anythhing but Arch
19:45:20FromDiscord<mr_rowboto> My REPL is looking good. https://media.discordapp.net/attachments/371759389889003532/1448762594293977331/Screenshot_2025-12-11_at_4.44.46_PM.png?ex=693c70cf&is=693b1f4f&hm=38dbdd5e0f17551dc21a809358d9d5b8f478a21d2876a2e125a67e90414b90b8&
20:28:58*beholders_eye quit (Ping timeout: 256 seconds)
20:55:00*beholders_eye joined #nim
21:08:24*beholders_eye quit (Ping timeout: 260 seconds)
21:21:20*rockcavera joined #nim
22:13:12FromDiscord<grotesquemalfeasance> In reply to @Amun-Ra "no executable in what": https://media.discordapp.net/attachments/371759389889003532/1448799805068414998/image.png?ex=693c9376&is=693b41f6&hm=72ceddfa7980e67a6141f98217481cd46e4c69b43c85c36ff1d447f013fa298c&
22:14:32FromDiscord<grotesquemalfeasance> files are copy/pasted from official example
22:14:43FromDiscord<grotesquemalfeasance> it works without the hcr flag
23:20:46*Jjp137_ quit (Ping timeout: 255 seconds)
23:45:55FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "<@524288464422830095> You didn't even": They use Linux