<< 07-08-2026 >>

00:14:32FromDiscord<tewesday> Ah that pragma is really what I needed to find. It wasn't clear to me that the numbers were coming from codegenDecl, but it makes sense now. Thanks for the link!
00:31:42FromDiscord<DetermiedNim1> no problem!
00:31:56FromDiscord<DetermiedNim1> the search feature in the nim docs can be pretty helpful lol
01:02:15*zero` joined #nim
01:05:13*zero`__ quit (Ping timeout: 242 seconds)
01:05:42*zero`_ joined #nim
01:09:28*zero` quit (Ping timeout: 244 seconds)
01:40:36*acidsys quit (Ping timeout: 252 seconds)
01:44:04*acidsys joined #nim
01:50:31FromDiscord<tewesday> Yes the search and docs are great I just didn't know what to search for lol
02:31:03*rockcavera quit (Remote host closed the connection)
05:07:40*xutaxkamay quit (Read error: Connection reset by peer)
05:08:01*xutaxkamay joined #nim
05:11:14*Skippy8 joined #nim
05:13:57*Pixi` joined #nim
05:17:07*Pixi quit (Ping timeout: 264 seconds)
06:05:49*Pixi` is now known as Pixi
06:21:34*pmp-p quit (Ping timeout: 245 seconds)
06:40:29*pmp-p joined #nim
07:34:09skulkrunning into a bizarre situation where a module-level let is being corrupted and replaced with a different object entirely (let var* = Obj(...), Obj is a ref struct).
07:35:16Amun-Raare you writing to pointers directly willy-nilly?
07:35:22skulknope
07:35:43skulkvalgrind reports a bunch of invalid reads after a non-deterministic amount of time
07:36:06skulkthe program is a simple compiler/vm, and tons of little objects get created/GC'd
07:36:21Amun-Rano ptrs not casts?
07:36:26Amun-Ranor*
07:36:28skulknot a single one
07:36:38Amun-Rahmm
07:36:56Amun-Rathen I'm out of suspects (and I had only one - you) ;)
07:37:28Amun-Ravalgrind is pretty slow… use asan/ubsan/…
07:37:46skulknoted
07:38:41Amun-RaI mean I use it too from time to time but it got mostly replaced by SANs
07:39:11skulkit's fast enough for my purposes here but if there's a better alternative I'll try it out
08:02:10*Skippy8 quit (Ping timeout: 244 seconds)
08:15:10*Skippy8 joined #nim
08:55:29*SchweinDeBurg quit (Remote host closed the connection)
08:55:47*SchweinDeBurg joined #nim
10:09:07*xet7 joined #nim
10:23:43*Skippy8 quit (Ping timeout: 264 seconds)
11:24:06*Artea joined #nim
12:32:04*Jhonny2x4 quit (Quit: Jhonny2x4)
12:32:15*Jhonny2x4 joined #nim
13:46:57*zodman joined #nim
15:02:12*Skippy8 joined #nim
15:10:44*Skippy8 quit (Ping timeout: 245 seconds)
15:17:56FromDiscord<abdulrahman.103> https://media.discordapp.net/attachments/371759389889003532/1535306002834915379/Video_2026-08-07_18-14-29.mp4?ex=6a7748a3&is=6a75f723&hm=7de8b67520ed56883e9ef28a2b12a4a40581d538b7875bd2eb932cf6987466cf&
15:17:57FromDiscord<abdulrahman.103> my first nim app
15:18:06FromDiscord<abdulrahman.103> some physics and raylib
15:18:15FromDiscord<abdulrahman.103> this language is fun
15:18:26FromDiscord<abdulrahman.103> I can't code c again
15:18:31FromDiscord<abdulrahman.103> (edit) "I can't code ... c" added "in"
15:18:47FromDiscord<abdulrahman.103> I made just tetris in c and it took over 1000 lines
16:17:48*Skippy8 joined #nim
17:29:05FromDiscord<scoopahdoopah> I've been liking it a lot so far, I started learning programming with python and I remember seeing nim years ago and it not making any sense but then after trying a bunch of other languages and coming back to it it makes sense lol
17:34:33*Skippy8 quit (Ping timeout: 246 seconds)
19:29:37*zkzeroed joined #nim
19:45:17zkzeroedHi all, taking a look into nim, thought I'd join you all
19:47:56tarzeau_welcome!
19:54:40zkzeroedThanks, have a question. Are you familiar with any attempts to create a Blockchain in nim?
19:57:25*Skippy8 joined #nim
20:01:58tarzeau_no idea, i'm using it only to build https://chawan.net
20:04:47zkzeroedSeems interestings, what was the motivation for chawan?
20:25:01tarzeau_building a browser from source takes too long?
20:25:29tarzeau_now i can have a browser, that does js,css,graphics in a terminal (kitty with sixel graphics)
20:32:51FromDiscord<nasuray> In reply to @zkzeroed "Thanks, have a question.": https://status.app/
20:38:14*Lord_Nightmare quit (Ping timeout: 271 seconds)
20:45:11FromDiscord<Robyn [She/Her]> In reply to @tarzeau_ "now i can have": if it piques your interest, there's a pure Nim JS runtime
20:46:29FromDiscord<Robyn [She/Her]> https://github.com/ferus-web/bali
20:46:44skulktarzeau_: chawan is awesome!
20:49:09tarzeau_skulk: on what did you build? and which webpages did you try?
20:49:36skulktarzeau_: I'm using the one from nixpkgs and using it to read lobste.rs
20:50:06skulkIt displays blogs as faithfully as I could hope for in a terminal
20:50:55tarzeau_using js, sixel graphics on?
20:55:59FromDiscord<mratsim> In reply to @zkzeroed "Thanks, have a question.": check status-im github
21:12:25skulktarzeau_: no js, not even sure how to turn it on
21:12:54skulkand no sixel graphics either (I'm using terminals in emacs, ghostel specifically, which I don't think supports sixel)
21:13:06tarzeau_skulk: https://sources.debian.org/src/chawan/0.4.4-1/debian/README.Debian
21:13:40skulkoh apparently ghostel supports kitty graphics, I'll try it out!
21:14:37tarzeau_if one day it can render all web pages, and pass acid test...
21:17:39skulkdoes acid test imply pixel-perfectness? or just DOM structure
21:17:51skulkI wouldn't want it to be pixel-perfect, then it's going to be just another rendering engine
21:22:03tarzeau_https://www.acidtests.org/
21:23:04tarzeau_ff makes 96/100, cha doid 61/100
21:23:43skulkthat's impressive
21:28:02skulkyep, reproduced the 61/100. That's more than I'd ever expect for a terminal browser.
22:06:22*Mister_Magister quit (Excess Flood)
22:06:38*Mister_Magister joined #nim
22:13:03*zkzeroed quit (Quit: zkzeroed)
22:32:50*Lord_Nightmare joined #nim
22:44:57*zkzeroed joined #nim
23:15:42FromDiscord<11clock> I've been trying to determine what language to use, and after researching a lot I think it has come down to Nim and Odin as the finalists.
23:17:18FromDiscord<scoopahdoopah> I was just trying Odin it's also very clean but I feel like most of the stuff I make doesn't really need that tight of memory control
23:17:36FromDiscord<scoopahdoopah> and they're very anti metaprogramming they straight up just write an Odin program that writes another Odin program
23:18:27FromDiscord<11clock> Odin definitely feels really well made. The issue for me has been all the overhead with pointers and memory management.
23:19:23FromDiscord<11clock> But it also has me making more decisions about what I am actually coding vs "what is the most elegant way I can write this".
23:20:31FromDiscord<11clock> Less features, but they are well thought out and it means less choices to make.
23:20:57FromDiscord<scoopahdoopah> the best case for it is when u can really just allocate all the memory u need up front in huge arenas
23:21:06FromDiscord<scoopahdoopah> then yr really not even worried about it
23:22:31FromDiscord<11clock> Meanwhile, Nim's tooling is quite a bit worse, and doesn't have unions, nor the using keyword.
23:22:45FromDiscord<11clock> Nor array programming.
23:22:56FromDiscord<11clock> So for me it's a tossup.
23:24:25FromDiscord<scoopahdoopah> I just like how flexible it is so far like u can recreate anything else u need with what's there
23:24:28FromDiscord<11clock> I definitely prefer Odin's package management. They are directories instead of files.
23:26:14FromDiscord<11clock> It sucks because whichever language I choose has tradeoffs.
23:26:54FromDiscord<scoopahdoopah> tru that's just the nature of languages lol
23:27:48FromDiscord<exelotl> Nim does have unions, there's case objects for tagged unions, or the {.union.} pragma for C-style unions
23:29:24FromDiscord<11clock> Nim's version of unions, variable objects, aren't very ergonomic. I did see that there is a better version in the pipeline though.
23:29:30FromDiscord<scoopahdoopah> it's kind of funny when u compare the 2 languages cuz ginger bill hates everything that nim does
23:37:08FromDiscord<nervecenter> sent a long message, see https://paste.rs/V8QWp
23:37:41FromDiscord<nervecenter> (edit) "https://paste.rs/n48pe" => "https://paste.rs/nbu64"
23:38:28FromDiscord<nervecenter> Carbon could also be neat but it's vaporware for the time being.
23:40:58FromDiscord<11clock> sent a long message, see https://paste.rs/MsRaL
23:41:26FromDiscord<nervecenter> Tooling is overrated
23:41:35FromDiscord<11clock> I strongly disagree.
23:41:54FromDiscord<nervecenter> Which tooling features are you most reliant on?
23:42:05FromDiscord<nervecenter> Regardless of language or project
23:42:57FromDiscord<11clock> Context-aware autocompletion, goto definition, realtime diagnostics
23:43:47FromDiscord<11clock> Nim's LSP is unstable and randomly crashes, and regularly hallucinates errors.
23:44:19FromDiscord<scoopahdoopah> tbh nim lang server kinda chugs but it's workable if I keep restarting it lmao
23:45:01FromDiscord<11clock> Honestly if Nim had solid tooling, it would be the easy winner between my two finalists.
23:45:31FromDiscord<11clock> Odin's tooling isn't even that hard to beat. It's only just decent.
23:46:30FromDiscord<scoopahdoopah> the lsp is the biggest thing but I kinda prefer just vendoring specific files vs a package manager where possible anyway
23:47:09FromDiscord<11clock> And Nim likely won't have a better LSP until sometime after Nim 3 comes out, and who knows when that will be.
23:47:59FromDiscord<11clock> Currently in Odin I have just been using value types as much as possible to avoid manual memory management where I can.
23:48:26FromDiscord<11clock> The main restraint with that approach is that I can't use maps.
23:50:45FromDiscord<scoopahdoopah> I mean u can set the allocator that's in context but I'd rather just like not deal with that
23:51:41FromDiscord<_timurski> In reply to @scoopahdoopah "the lsp is the": do you prefer the package manager? or vendoring?
23:51:43skulknimlangserver absolutely falls over when you have files that (ab)use templates
23:52:25skulkotherwise it's good
23:52:47FromDiscord<nervecenter> In reply to @11clock "Context-aware autocompletion, goto definition,": 1 is meh, sublime's non context-aware one works fine for me. Sublime also has great goto and find functions. Realtime diag doesn't fit my use case well. LSP not super necessary with fast compile times.
23:53:04FromDiscord<nervecenter> Different projects and preferences I guess
23:53:06FromDiscord<11clock> True, when I was using Nim I was making extremely heavy use of macros, but I decided to change my approach to not require that anymore for my coding style.
23:53:23FromDiscord<_timurski> In reply to @11clock "Currently in Odin I": manual memory management isn't really so bad; one of the important things is thinking beyond "one object one allocation" and more towards "this system all lives together and can all be freed together", Casey had a video talking about this and it's pretty cool
23:53:34FromDiscord<_timurski> (arenas being an example of this)
23:54:25*dv^_^ quit (Quit: Ping timeout (120 seconds))
23:54:29FromDiscord<scoopahdoopah> I do wanna work on being less reliant on an lsp cuz they end up freaking out at some point in every language and it just gets distracting
23:54:48skulkbeing less reliant on the LSP is, in my experience, just being more familiar with the codebase
23:54:55FromDiscord<_timurski> In reply to @nervecenter "1 is meh, sublime's": I've never really had an issue without an LSP either. auto completion is good enough with ctags, gotodefinition works well enough with `nim track` or just a simple grep, and idk about the last one
23:54:57*dv^_^ joined #nim
23:55:01skulkwhen I was creating my project many years ago, I didn't at all ened the LSP
23:55:08skulkbut coming back to it, I feel myself wanting it a lot
23:57:40FromDiscord<11clock> In reply to @_timurski "I've never really had": Does nim track work in vs code now?
23:57:55FromDiscord<_timurski> In reply to @11clock "Does nim track work": i just wrote a neovim plugin for it