<< 07-05-2025 >>

00:22:07FromDiscord<m4ul3r> In reply to @schelz_ "im working on a": Sick! I will have to play with this. I had been looking for some good direct x wrappers in nim
00:25:57*fedorafan_ quit (Ping timeout: 248 seconds)
00:32:17*amadaluzia quit (Remote host closed the connection)
00:47:02*rockcavera joined #nim
01:04:43*SchweinDeBurg joined #nim
01:57:12*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
02:00:19*rockcavera quit (Remote host closed the connection)
03:12:55*fedorafan joined #nim
03:42:13*fedorafan quit (Remote host closed the connection)
03:42:36*fedorafan joined #nim
04:01:07*SchweinDeBurg joined #nim
04:36:59FromDiscord<mr_rowboto> sent a code paste, see https://play.nim-lang.org/#pasty=BYSmBsft
04:37:04FromDiscord<mr_rowboto> (edit) "https://play.nim-lang.org/#pasty=ufuujguY" => "https://play.nim-lang.org/#pasty=nSybxSEw"
04:37:40FromDiscord<mr_rowboto> (Not that I don't like variants, they're useful for other cases, as usual with polymorphism vs pattern matching)
04:47:12FromDiscord<Elegantbeef> @mr_rowboto Using return for expressions is lame 😄
04:53:58FromDiscord<mr_rowboto> Didn't know nim does exactly what every other sane language does.
04:54:07FromDiscord<mr_rowboto> In that case, it is indeed lame.
04:54:20FromDiscord<mr_rowboto> (edit) "case," => "case" | "is indeed" => "is, indeed,"
04:54:21FromDiscord<Elegantbeef> Expressionful languages are grand
04:54:26FromDiscord<mr_rowboto> Yes
04:55:32FromDiscord<mr_rowboto> I don't get why you say Nim has ad-hoc stuff.↵(Nim: hehe `import lol ; export wutsemicolon` )
04:55:43FromDiscord<mr_rowboto> (edit) "lol" => "lolwut" | "wutsemicolon`" => "semicolon`"
04:56:04FromDiscord<Elegantbeef> Cause I've looked at the compiler and have used the language for a while
04:56:18FromDiscord<mr_rowboto> In reply to @Elegantbeef "Cause I've looked at": I believe you, I'm joking
04:56:29FromDiscord<Elegantbeef> Thought so but wasn't certain
04:56:35FromDiscord<Elegantbeef> Poes law and all that
05:19:05*bcksl quit (Ping timeout: 252 seconds)
05:20:53*mal`` quit (Ping timeout: 248 seconds)
05:21:54*mal`` joined #nim
05:22:50*bcksl joined #nim
06:44:43*fedorafan quit (Remote host closed the connection)
06:44:54*fedorafan joined #nim
06:50:37FromDiscord<Phil> In reply to @mr_rowboto "I ended up composing": Welcome to defining your own OOP version C-style 😄
06:51:37FromDiscord<Phil> I pretty much did the same when I implemented the basics for an rx-nim equivalent, just closures stored in fields that define the reactive behavior
07:02:46*ntat joined #nim
07:05:25*nils` quit (Ping timeout: 252 seconds)
07:22:12*ntat quit (Read error: Connection reset by peer)
07:27:12*ntat joined #nim
07:41:50*Jjp137_ joined #nim
07:41:51*Jjp137 quit (Ping timeout: 276 seconds)
08:09:42*nils` joined #nim
08:22:12*ntat quit (Quit: leaving)
08:40:32FromDiscord<entropydev> @arnetheduck Hey! Is the nlvm project still being actively maintained?
08:40:44FromDiscord<entropydev> (edit) "Hey!" => "Hey there!"
08:56:21FromDiscord<arnetheduck> In reply to @entropydev "<@449019668296892420> Hey there! Is": intermittently, it's fairly low on my prio list - could certainly use some more attention, specially to bring win/mac compilation to it, happy to guide PR:s towards that goal
08:58:55*beholders_eye joined #nim
09:06:19*FromDiscord quit (Ping timeout: 260 seconds)
09:06:31*FromDiscord joined #nim
09:17:02FromDiscord<mr_rowboto> In reply to @isofruit "Welcome to defining your": Yeah, I was in doubt because in C it’d take a bit more work, and I still don’t know the language styles and conventions… but with closures in nim it ends up being a bit like how you do it in JS.
09:17:29FromDiscord<mr_rowboto> (edit) "In reply to @isofruit "Welcome to defining your": Yeah, I was in doubt because in C it’d take a bit more work, and I still don’t know the language ... styles" added "features,"
09:42:00*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
09:42:23*fedorafan quit (Remote host closed the connection)
09:42:48*fedorafan joined #nim
11:22:36*andy-turner joined #nim
11:40:19*beholders_eye quit (Ping timeout: 276 seconds)
11:46:56*ntat joined #nim
11:50:06*beholders_eye joined #nim
12:02:29*odor joined #nim
12:02:35*odor quit (Client Quit)
12:03:04*odor joined #nim
12:21:42*ntat quit (Quit: leaving)
12:26:34*SchweinDeBurg joined #nim
13:04:49*beholders_eye quit (Ping timeout: 276 seconds)
13:23:49*fedorafan quit (Ping timeout: 252 seconds)
13:40:36*dza quit (Quit: Ping timeout (120 seconds))
13:42:02*dza joined #nim
13:43:19*ntat joined #nim
14:39:02*odor quit (Quit: Client closed)
14:45:05*fedorafan joined #nim
15:41:09FromDiscord<hgo0935> So I view Nim as a language that can do it all. I wonder why is not popular, does anybody know?
15:44:08Amun-Rathere are way too many languages out there
15:50:23FromDiscord<kapendev> Kinda luck based, kinda hard to tell.
15:50:32Amun-Ramhm
15:51:52FromDiscord<nervecenter> In reply to @hgo0935 "So I view Nim": Its closest competition are Goa and Rust, and those have huge companies with marketing budgets and public platforms behind them. Also comparable are Zig and Odin, which are also struggling, though Zig has more Reddit hype. PR and hype are huge factors in how many people use a language.
15:52:00FromDiscord<nervecenter> (edit) "closest" => "biggest close" | "Goa" => "Go"
15:52:31FromDiscord<hgo0935> that doesn't explain why
15:52:41FromDiscord<hgo0935> In reply to @kapendev "Kinda luck based, kinda": I don't know about that
15:52:44FromDiscord<nervecenter> Languages spread by word of mouth, and both Google and Mozilla can put their languages in front of many eyes while committing lots of resources to developing libraries.
15:52:55FromDiscord<nervecenter> In reply to @hgo0935 "that doesn't explain why": How so?
15:53:44FromDiscord<hgo0935> In reply to @nervecenter "How so?": Like why is Nim not backed by a big company
15:54:40FromDiscord<nervecenter> Ask Araq, Go started within Google and Rust was picked up and completely re-imagined by Mozilla. Look at their history.
15:55:05FromDiscord<hgo0935> they both solve a different issue
15:55:10FromDiscord<nervecenter> These are gory historical details involving employment and social circles and cooperation between people with resources.
15:55:28FromDiscord<hgo0935> Go is fast and easy to use, while Rust is even faster and memory safe not garbage collected
15:56:06FromDiscord<kapendev> Imo I think Go and Rust just have a better marketing focus. Rust is sold as a better modern C++ and go is sold as fast, batteries included and simple, kinda like python. Nim is a hard language to sell.
15:56:52FromDiscord<hgo0935> Maybe nim is too featurefull
15:57:10FromDiscord<nervecenter> People start using a language because they want to learn it and make stuff with it. So you have to ask why they don't. What inspires confidence in other languages and less in Nim? I still think a lot of it boils down to PR and word of mouth.
15:58:05FromDiscord<nnsee> i just realized the sponsors page hasn't been updated in 6 years
15:58:08FromDiscord<nnsee> https://nim-lang.org/sponsors.html
15:58:12FromDiscord<nervecenter> I've been blessed to be able to use most languages in my life because I wanted to or because it was the best fit, not because I had to. Word of mouth, discovery, exploration was huge.
16:01:23FromDiscord<kapendev> It's also trendy to be super opinionated about stuff right now. Nim is mostly not that opinionated.
16:01:53FromDiscord<hgo0935> I wonder what language he would be made if he had to make the new Nim
16:02:35FromDiscord<kapendev> It would be DLang 🙂
16:15:06*andy-turner quit (Quit: Leaving)
16:21:23FromDiscord<mr_rowboto> In reply to @hgo0935 "So I view Nim": I asked the same. In any case it doesn't matter, we're safe.
16:21:51FromDiscord<hgo0935> In reply to @mr_rowboto "I asked the same.": I'm just a bit worried because I want to build a business
16:21:52FromDiscord<mr_rowboto> `Futhark` basically solves the main problem of it being a smol-lang: bindings and ecosystem.
16:22:55FromDiscord<kapendev> If you are chad, you can use anything you want. No need for popular stuff.
16:23:07FromDiscord<mr_rowboto> In reply to @hgo0935 "I'm just a bit": Idk your use case, but if you're pondering Rust and Go, and are just starting up, I wouldn't go with Rust, since the lang forces designing too much before it's even necessary. But that's just my exp.
16:23:46FromDiscord<hgo0935> In reply to @mr_rowboto "Idk your use case,": I'm more on the Zig and Go
16:23:46FromDiscord<mr_rowboto> I don't like it to prototype.
16:23:58FromDiscord<mr_rowboto> We've followed similar paths then.
16:24:09FromDiscord<mr_rowboto> It has been Rust -> Zig -> Go -> Nim for me.
16:24:12FromDiscord<mr_rowboto> Quite literally.
16:24:54FromDiscord<mr_rowboto> I really love Zig but it's too verbose sometimes and lacks some features. ↵↵I'd use it any time for embeded stuff, ando/or drivers tho.
16:25:03FromDiscord<mr_rowboto> (edit) "embeded" => "embedded" | "ando/or" => "and/or"
16:28:12FromDiscord<kapendev> Jai will replace all of them. It also invented modern meta-programming.
16:28:28FromDiscord<mr_rowboto> In reply to @kapendev "Jai will replace all": Serious or joking?
16:28:34FromDiscord<hgo0935> Jai is more incomplete than Zig
16:28:44FromDiscord<mr_rowboto> I mean Jonathan has been developing Jai for centuries now.
16:28:51FromDiscord<kapendev> Joke 🙂
16:29:26FromDiscord<hgo0935> In reply to @mr_rowboto "I really love Zig": Are you still using Nim these days?
16:29:58FromDiscord<mr_rowboto> In reply to @kapendev "Joke 🙂": https://media.discordapp.net/attachments/371759389889003532/1369712874372599808/Screenshot_2025-05-07_at_13.29.40.png?ex=681cdc05&is=681b8a85&hm=b8cf28176bb7cc6718b95eefe58e6b13751e3fe97d70672d2c53e4cd60f2445a&
16:30:12FromDiscord<mr_rowboto> In reply to @hgo0935 "Are you still using": I'm just beginning to use Nim 😂
16:30:30FromDiscord<mr_rowboto> So I'm in still in the love-phase.
16:31:10FromDiscord<hgo0935> hmm
16:31:15FromDiscord<mr_rowboto> But I can say is that so far, the love-phase has been longer than Rust, and Zig... Go is next.
16:31:37FromDiscord<mr_rowboto> I tend to hate languages really quick.
16:31:47FromDiscord<mr_rowboto> Still not hating.
16:35:03*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
16:37:40FromDiscord<hgo0935> I will give Nim a try
16:42:32*SchweinDeBurg joined #nim
16:55:27FromDiscord<nervecenter> sent a long message, see https://pasty.ee/Itfiqiuk
16:56:19FromDiscord<nervecenter> It's the backbone of our entire analysis stack and even had a web API built around invoking it.
16:56:40FromDiscord<nervecenter> I'm the solo dev on it because I understand the math for our analysis and the structure of our record files top to bottom.
16:57:21FromDiscord<nervecenter> Replaced some old, deliberately obfuscated C and PHP codebases that a contractor used to extort an IP settlement from my company 20 years ago.
17:07:02FromDiscord<hgo0935> I like what I see atm
17:12:32FromDiscord<gyatsoyt> sent a code paste, see https://play.nim-lang.org/#pasty=MctbwOHV
17:12:34FromDiscord<gyatsoyt> sent a code paste, see https://play.nim-lang.org/#pasty=xWliBxhn
17:12:38FromDiscord<gyatsoyt> This happens on wsl
17:13:05FromDiscord<gyatsoyt> Btw there's 2 different terminal logs if the discord formatting isn't clear
17:29:55FromDiscord<Phil> sent a long message, see https://pasty.ee/SypDlmGW
17:31:52FromDiscord<Phil> (edit) "https://pasty.ee/IFFGPuru" => "https://pasty.ee/wfYBDQxf"
17:45:39FromDiscord<Phil> In reply to @gyatsoyt "How do I compile": Honestly, dockerfile to compile for linux is what I'd do
17:47:01FromDiscord<Phil> I don't know those errors and thus can't say much about them, but if you compile in a docker container maybe it'll be a useable binary on linux in general, though you'll need to compile for the environment you want to deploy to... or just general debian as that's likely the most common denominator
17:47:12FromDiscord<Phil> (edit) "I don't know those errors and thus can't say much about them, but if you compile in a docker container maybe it'll be a useable binary on linux in general, though you'll need to compile for the environment you want to deploy to... or just general debian as that's likely the most common denominator ... " added "in terms of glibc"
17:48:47FromDiscord<gyatsoyt> Ic
17:50:24FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=LKPPznRy
17:51:28FromDiscord<Elegantbeef> The lowest brow container solution is to just use distrobox 😄
17:51:54FromDiscord<Phil> And then you can run that file via `docker build -f <dockerfile> -t <imagename>`
17:52:02FromDiscord<Phil> Or that
17:52:21FromDiscord<Phil> I guess I'd likely still use dockerfiles if I wanted to automate the process
17:52:41FromDiscord<Phil> (edit) "that" => "what beef said"
17:53:20FromDiscord<gyatsoyt> Well thanks for your help I'll look deeper into this
17:55:25FromDiscord<Phil> Ah, to get the binary out of the container you'd need to use `docker cp <containerId>:/file/path/within/container /host/path/target`↵I don't need that as I do webdev so I actually want my stuff to stay in the container as it is
17:55:50FromDiscord<Phil> Which is why distrobox is likely simpler
17:56:43FromDiscord<Elegantbeef> I'd say I avoid docker, but I really just don't build anything so don't need it
17:56:55FromDiscord<Elegantbeef> But I do also avoid it as I have not had any good experiences with it
17:57:09Amun-Rasame
18:00:20FromDiscord<hgo0935> I think my vscode is broken, this should be autocompleted if I'm not mistaken https://media.discordapp.net/attachments/371759389889003532/1369735617113489428/image.png?ex=681cf133&is=681b9fb3&hm=27a8f1bc83e95cefc021c49d02cdbdd2e3c67d42b842398f66b87ae72eab0e9e&
18:08:18FromDiscord<user2m> does httpx use http/2? I'm using prologue and i know it uses httpx under the hood
18:36:30*skippy8 joined #nim
18:45:13*fedorafan_ joined #nim
18:45:44*fedorafan quit (Ping timeout: 244 seconds)
19:23:06FromDiscord<Phil> In reply to @user2m "does httpx use http/2?": Nope from what I can tell, only HTTP1/1.1. ↵I don't think it matters too much given the prologue server mostly communicates with the reverse proxy and not with the user directly, but it's sad to see.
19:23:16FromDiscord<Phil> (edit) "In reply to @user2m "does httpx use http/2?": Nope from what I can tell, only HTTP1/1.1. ↵I don't think it matters too much given the prologue server mostly communicates with the reverse proxy and not with the user directly, but ... it's" added "I'll agree"
19:45:21FromDiscord<dawidek.2137> In reply to @hgo0935 "So I view Nim": Maybe because people who care about performance have a kneejerk reaction to automatic memory management (maybe justified, idk) and because no one cares about metaprogramming, so there’s no obvious benefit to using nim
19:46:14FromDiscord<hgo0935> In reply to @dawidek.2137 "Maybe because people who": Welp I will code in Nim something, and see how that goes for me
19:46:41FromDiscord<dawidek.2137> Also tooling and ecosystem are not ideal, I guess lack of runtime introspection is a problem too because macros are harder to write as a replacement for runtime magic?
19:47:24FromDiscord<dawidek.2137> Honestly I stuck with nim because I was I obsessed with metaprogramming, it I grew out of it 🙂
19:47:59FromDiscord<Elegantbeef> How much runtime introspection does one really need?
19:49:13FromDiscord<.archaedas> In reply to @dawidek.2137 "Maybe because people who": Being reference counted, I feel, is pretty rad though.
19:50:45FromDiscord<.archaedas> Rather than STW, I mean. I don't really write hard-realtime stuff, but regardless not seeing those stutters when trying to make things go really fast is nice.
19:52:51FromDiscord<dawidek.2137> I got the impression reference counting has a bad rep too
19:54:51FromDiscord<.archaedas> I know circular references kind of thwart it, since circular references mean reference counts never hit zero so you get memory leaks. But I'm sure there's got to be solutions to that.
19:55:11FromDiscord<.archaedas> Swift is ARC so the model clearly works at scale.
19:55:53FromDiscord<Elegantbeef> Yea the solution is to use cycle collector on possibly cyclical types 😛
19:56:14*xet7 quit (Quit: Leaving)
19:56:21*xet7_ joined #nim
19:58:01FromDiscord<.archaedas> On a meta note: "Elegantbeef", magnificent. 🤌🏼 😆
19:58:23FromDiscord<Elegantbeef> I try
19:58:59FromDiscord<hgo0935> In Nim can you write high level code like python and low level code like C at the same time?
19:59:23FromDiscord<nnsee> always wanted to know if beef came from your last name or if it just coincidentally kind of sounds similar
19:59:36FromDiscord<hgo0935> (edit) "at the same time?" => "in 1 file?"
19:59:39FromDiscord<Elegantbeef> Insert incredibles meme here Code is code
19:59:40FromDiscord<Elegantbeef> Coincident
20:00:22FromDiscord<Elegantbeef> If it was based off my last name surely I'd be ElegantHam instead
20:01:22FromDiscord<.archaedas> In reply to @Elegantbeef "If it was based": Both of these names so far sound like those autogenerated Reddit names LOL
20:01:34FromDiscord<.archaedas> "AskewFlycatcher293211"
20:01:54FromDiscord<Elegantbeef> Adjective Noun = easiest name
20:12:45FromDiscord<Phil> In reply to @hgo0935 "In Nim can you": Yes, though I'd argue it typically doesn't make too much sense.↵If you go low-level in a generally high-level codebase, you'd most likely want to isolate that particular code in its own .nim file.↵↵Because if you're going that low level and investing that much brainpower into it, going for better separation of concerns makes sense.
20:17:51FromDiscord<hgo0935> I want to get started with Nim but there is something wrong with the lsp
20:18:30FromDiscord<hgo0935> I have the nimlangserver installed, nimble, nim
20:18:39FromDiscord<hgo0935> (edit) "nimlangserver installed," => "nimlangserver," | "nimlangserver,nimble, nim ... " added "installed"
20:20:17FromDiscord<griffith1deadly> In reply to @hgo0935 "I want to get": that's working at the best level of the years now↵we haven't a joke about tooling problem
20:20:17FromDiscord<Phil> I can't help much here, while I do use vscode, I pretty much hab lsp turned off.
20:20:38FromDiscord<Phil> (edit) "hab" => "have"
20:20:50FromDiscord<hgo0935> I'm on vscode and this just can't autocomplete
20:21:01FromDiscord<hgo0935> I don't know why
20:21:52FromDiscord<griffith1deadly> there is no way to make it better
20:21:58FromDiscord<griffith1deadly> currently
20:22:26FromDiscord<hgo0935> So there is no automcomplete?
20:24:41FromDiscord<nnsee> In reply to @hgo0935 "I'm on vscode and": which extension are you using? it should work on the official nim-lang.org one
20:25:12FromDiscord<hgo0935> In reply to @nnsee "which extension are you": https://media.discordapp.net/attachments/371759389889003532/1369772076499472414/image.png?ex=681d1328&is=681bc1a8&hm=4fefb574c35a17ea3d212e6e6d44a28d42a0abd36bbeeed83e70a361131c4b9a&
20:26:16FromDiscord<nnsee> code completion should work
20:26:41FromDiscord<hgo0935> hmm wierd
20:27:04FromDiscord<hgo0935> https://media.discordapp.net/attachments/371759389889003532/1369772541807431700/image.png?ex=681d1397&is=681bc217&hm=c86945e0222c0d67b86988dfb49148f7cd429aca6dae3636cd94aefb980d5623&
20:27:18FromDiscord<Phil> To this day the official one with nimsuggest will just absolutely slaughter my CPU and RAM, which is why I just do not bother with it and only go for syntax highlighting
20:38:24*ntat quit (Quit: leaving)
21:06:41FromDiscord<hgo0935> oh my fucking god
21:07:20FromDiscord<hgo0935> I'm trying to debug this like a idiot. I only needed to reboot
21:08:57FromDiscord<Phil> Ah, classic
21:09:30FromDiscord<Phil> The amount of times I had mysterious vscode issues in general because I did a software update and didn't reboot are too numerous to count
21:10:11FromDiscord<Phil> That's the kind of stuff that makes me glad that nowadays my laptop can do a full reboot in under 20s
21:22:55FromDiscord<hgo0935> In reply to @isofruit "The amount of times": It maybe has to do with it's not installed on my fish first so I had to change it and vscode didn't changed the binding to something
21:23:13FromDiscord<hgo0935> I didn't updated vscode, I just installed nim stuff
21:45:16*fedorafan joined #nim
21:46:19*fedorafan_ quit (Read error: Connection reset by peer)
22:13:21*rockcavera joined #nim
22:21:35*xet7_ quit (Quit: Leaving)
22:22:42*xet7 joined #nim