<< 18-09-2025 >>

00:00:25FromDiscord<Elegantbeef> I mean I dislike it cause it does not work as the language does
00:00:38FromDiscord<Elegantbeef> The binding is based off a DSL instead of based off how Nim does dispatch
00:01:33FromDiscord<Elegantbeef> So if you import a module that has a type that has perimeter, area and contains you have to use some silly DSL to pipe it around
00:01:50FromDiscord<Elegantbeef> Instead of just doing `MyShape.to(Shape)`
00:02:08FromDiscord<Elegantbeef> I don't exactly like playing dispatcher and actively avoid it myself
00:12:07*beholders_eye quit (Ping timeout: 260 seconds)
00:17:03*FromDiscord quit (Read error: Connection reset by peer)
00:18:08*FromDiscord joined #nim
01:10:47*oisota quit (Quit: Ping timeout (120 seconds))
01:12:40*oisota joined #nim
01:23:47*lumidify_ joined #nim
01:24:00*yeti quit (Ping timeout: 244 seconds)
01:24:00*lumidify quit (Ping timeout: 244 seconds)
01:25:11*yeti joined #nim
02:17:58*FromDiscord quit (Read error: Connection reset by peer)
02:33:19*FromDiscord joined #nim
03:46:14*SchweinDeBurg joined #nim
05:22:26*dicot joined #nim
05:42:25*skippy8 joined #nim
05:52:09*skippy8 quit (Quit: WeeChat 4.7.1)
06:35:02*dicot_ joined #nim
06:35:16*SchweinD1 joined #nim
06:35:42*dicot quit (Ping timeout: 256 seconds)
06:35:42*SchweinDeBurg quit (Ping timeout: 256 seconds)
06:45:36Amun-Raze bridge, it'ssss alive!
06:51:59*dicot_ quit (*.net *.split)
06:52:00*FromDiscord quit (*.net *.split)
06:52:00*yeti quit (*.net *.split)
06:52:00*lumidify_ quit (*.net *.split)
06:52:01*Jjp137_ quit (*.net *.split)
06:52:01*computerquip quit (*.net *.split)
06:52:01*johuck quit (*.net *.split)
06:52:01*joast quit (*.net *.split)
06:52:01*GreaseMonkey quit (*.net *.split)
06:52:01*redj quit (*.net *.split)
06:55:20*yeti joined #nim
06:56:00*dicot joined #nim
06:56:00*FromDiscord joined #nim
06:56:00*Jjp137_ joined #nim
06:56:00*computerquip joined #nim
06:56:00*johuck joined #nim
06:56:00*joast joined #nim
06:56:00*GreaseMonkey joined #nim
06:56:00*redj joined #nim
06:57:58*lumidify joined #nim
08:18:23*beholders_eye joined #nim
08:19:25*oisota quit (Quit: Ping timeout (120 seconds))
08:19:52*oisota joined #nim
08:21:52*beholders_eye quit (Client Quit)
08:53:17*beholders_eye joined #nim
08:59:23*beholder1 joined #nim
09:05:11*beholders_eye quit (*.net *.split)
09:16:40*nils` joined #nim
09:39:45FromDiscord<nelson4o1> I'll help the first 15 people interested on how to start earning $90k within 72hours, but you will reimburse me 10% of your profits when you receive it. Ask me how!!
09:39:48FromDiscord<nelson4o1> If interested, send me a direct message. For more information…contact via.. TG↵@Nelson_owen↵https://t.me/Nelson_owen
09:40:10Amun-Ra@admin
09:40:16Amun-Ra(or whatever the trigger is)
09:41:40*FromDiscord quit (Remote host closed the connection)
09:41:53*FromDiscord joined #nim
11:11:52FromDiscord<mitranim> sent a code paste, see https://play.nim-lang.org/#pasty=FJTMomUk
11:12:10FromDiscord<mitranim> (edit) "https://play.nim-lang.org/#pasty=zPqHZhjY" => "https://play.nim-lang.org/#pasty=KCZrLSLl"
11:28:19FromDiscord<mitranim> I suppose the short answer is "for encapsulation". Some things (like resizable maps) just need to be refs. The implementer of a type decides what they need, and the consumer code doesn't need to know. This also minimizes breakage when changing library code. So the only things bugging me about ref objects are:↵ Inherent nil-ness.↵ Mutability under `let`.
11:28:37FromDiscord<mitranim> (edit) "`let`." => "`let` (very arguable and negotiable)."
11:32:33FromDiscord<mitranim> Alright, sorted it out.
12:04:39FromDiscord<Laylie> sent a code paste, see https://play.nim-lang.org/#pasty=nJMoEdLV
12:05:55FromDiscord<mitranim> Oh, that's actually supported? Interesting.
12:43:47*skippy8 joined #nim
13:05:31FromDiscord<janakali> sent a code paste, see https://play.nim-lang.org/#pasty=lZgTxfmm
13:06:27FromDiscord<mitranim> Good point. I've actually read that and know this already (and it annoys me that Go doesn't do this). My post was about semantics.
13:08:52FromDiscord<mitranim> The lack of this optimization in Go leads some people to create horrifying APIs where everything is a pointer (unusable, and often wastes performance), while in other cases, performance is often wasted on struct copying. (Our production server probably suffers from the latter, but I'm not willing to give up value types.)
13:29:51*nils` quit (Quit: nils`)
13:36:58*skippy8 quit (Quit: WeeChat 4.7.1)
13:44:41*nils` joined #nim
14:51:35FromDiscord<kiloneie> Is there a pragma, to silence warnings like cannot open file ? https://media.discordapp.net/attachments/371759389889003532/1418248090749636698/Screenshot_2025-09-18_16-51-20.png?ex=68cd6df6&is=68cc1c76&hm=394711f1ba240f389710cee4a7ad4b8a1651f02d57fa44888b1370d7ff0900c9&
15:05:46FromDiscord<Robyn [She/Her]> In reply to @kiloneie "Is there a pragma,": no, because being unable to import a file is an error
15:06:27FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=afAcMllh
15:06:37FromDiscord<Robyn [She/Her]> In reply to @kiloneie "Is there a pragma,": But I have to ask... What are you trying to do?
15:08:36FromDiscord<kiloneie> Inserting main.nim's location, so i don't need to manually update the path if it changes, and i've done that part. Now im trying to test it, and a file isn't opening so i can properly test, since my actual program, for some reason, doesn't require the imports anymore at this moment.
15:11:41Amun-Raadd config.nims with: switch "path", "somepath"
15:14:11FromDiscord<kiloneie> That's manual
15:21:21FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=ngdyyrTj
15:21:44FromDiscord<kiloneie> Sounds cool, but infinitely too verbose
15:22:17FromDiscord<kiloneie> i forgot, but if there is a yellow warning for a proc for something, {.deprecated.} silenced that, i can't remember the specifics
15:22:28FromDiscord<kiloneie> was hoping for something like that
15:22:40FromDiscord<kiloneie> one can always make a custom pragma right ? Maybe some other time.
15:34:19*Procton2 joined #nim
15:34:22*Procton2 quit (Quit: Client closed)
15:42:59FromDiscord<kiloneie> It seems that, even if i try to insert the path into "entities.nim" file, before it gets imported, Nim seems to be already running "entities.nim", preventing such behavior. https://media.discordapp.net/attachments/371759389889003532/1418261023642746940/Screenshot_2025-09-18_17-41-57.png?ex=68cd7a02&is=68cc2882&hm=331bdc1e075c355abf9d568f792b617f98f306bf98d847470cb3151d613a2091&
15:43:18FromDiscord<kiloneie> im 99% sure it's impossible
15:44:14FromDiscord<kiloneie> so i should just have a program that runs main.nim(i have), or just run a updatePath.exe file before hand, like how people used to do stuff with batch on Windows
15:44:24FromDiscord<kiloneie> Someone please confirm this 😛
15:47:17FromDiscord<janakali> I think you can solve this with nimscript and strdefine
15:59:37FromDiscord<kiloneie> Gave it 12 minutes, going to .exe solution
16:15:04FromDiscord<Zoom> Why do you write this? Doesn't `pegs` have it already?↵(@kiloneie)
16:15:08FromDiscord<Zoom> Yeah, here it is\: https://nim-lang.github.io/Nim/pegs.html#transformFile%2Cstring%2Cstring%2Cvarargs%5Btuple%5BPeg%2Cstring%5D%5D
16:19:16*beholder1 quit (Ping timeout: 256 seconds)
16:20:03FromDiscord<kiloneie> Didn't know it existed.
16:28:33FromDiscord<kiloneie> If you have any examples, let me know, i am too tired for this today.
16:28:48FromDiscord<Zoom> Also, you shouldn't really open files without handling exceptions like that unless it's a throw-away script.
16:30:13FromDiscord<Zoom> I don't know what you're doing but overwriting a file like this is also error-prone. Better write to a temporary file (std/tempfiles) and replace.
16:37:37FromDiscord<kiloneie> readAll, replace one line in the targetFile, is more error prone that doing that with a temp file and replacing ? I will do something about exceptions later though.
16:42:28*SchweinD1 quit (Quit: WeeChat 4.8.0-dev)
16:51:42FromDiscord<Zoom> Of course. There's no replacing file contents, unless overwriting bytes on disk, only rewriting the whole file. And overwriting the whole file is more secure when you do it in a more transactional way. Writing to disk is slow, deleting and renaming is faster.↵(@kiloneie)
16:51:59FromDiscord<Zoom> Of course. There's no replacing file contents, unless overwriting bytes on disk without changing file length, only rewriting the whole file. And overwriting the whole file is more secure when you do it in a more transactional way. Writing to disk is slow, deleting and renaming is faster.
18:02:00*xtr00 quit (Ping timeout: 245 seconds)
18:02:55*xtr00 joined #nim
18:07:55*beholders_eye joined #nim
20:50:09*skippy8 joined #nim
21:13:15*rockcavera joined #nim
23:50:19*skippy8 quit (Quit: WeeChat 4.7.1)