<< 03-07-2026 >>

00:15:48FromDiscord<tvoyglaza> In reply to @mratsim "Most are autogenerated from": Bro... it looks so nice. You intend to create a library for this functionality?
00:24:43*Skippy8 quit (Ping timeout: 276 seconds)
00:39:39*ftajhii quit (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
00:59:42*beholders_eye quit (Ping timeout: 243 seconds)
01:40:50FromDiscord<jubalrahl> Just sharing some info. I compile with zigcc on windows and to get a gui app using NiGui to open without a command prompt also opening I use passL:"-Wl, --subsystem,windows" and that seems to work for me so far.
01:43:34FromDiscord<11clock> Trying to decide between raylib and SDL3 as my backend.
02:10:31*ftajhii joined #nim
02:45:09FromDiscord<Aceroph> what
02:58:16FromDiscord<11clock> Going with raylib. It has a lot of similarities with MonoGame which will make translation easier.
03:00:19FromDiscord<11clock> Also if nim ends up not working out, porting to a different language wouldn't mean having to redo my entire backend... again.
03:00:29FromDiscord<11clock> Since raylib is on everything.
03:08:09FromDiscord<11clock> "Hmm, procedure was shortened to proc, function was shortened to func... why wasn't method shortened to- oh"
03:11:38*zero`_ joined #nim
03:13:21*zero` quit (Ping timeout: 246 seconds)
03:19:21*zero` joined #nim
03:23:07*zero`_ quit (Ping timeout: 264 seconds)
03:23:36*zero`_ joined #nim
03:27:22*zero` quit (Ping timeout: 276 seconds)
03:27:44*zero` joined #nim
03:31:16*zero`_ quit (Ping timeout: 276 seconds)
03:50:23*rockcavera quit (Remote host closed the connection)
04:57:52FromDiscord<mratsim> In reply to @tvoyglaza "Bro... it looks so": what do you mean? a library to autocreate libraries?
05:08:29*deavmi quit (Quit: No Ping reply in 180 seconds.)
05:10:05*deavmi joined #nim
05:14:53FromDiscord<zumi.dxy> In reply to @11clock ""Hmm, procedure was shortened": I go with `mtd` instead↵doesn't have the same ring to it yeah
05:15:30FromDiscord<zumi.dxy> but hey↵if people can shorten `function` to `fun` you may as well, right?
05:16:04FromDiscord<zumi.dxy> this is like the sneed joke of the programming world
05:18:16*deavmi quit (Quit: No Ping reply in 180 seconds.)
05:19:24*deavmi joined #nim
05:27:38*deavmi quit (Quit: No Ping reply in 180 seconds.)
05:35:15*alexdaguy joined #nim
06:07:14FromDiscord<DetermiedNim1> In reply to @zumi.dxy "I go with `mtd`": mtd is good imo
06:11:26*deavmi joined #nim
06:15:25*deavmi quit (Client Quit)
06:18:08*deavmi joined #nim
06:21:36*deavmi quit (Client Quit)
06:28:48*deavmi joined #nim
06:40:13*deavmi quit (Quit: No Ping reply in 180 seconds.)
06:41:48*deavmi joined #nim
06:59:23*deavmi quit (Quit: No Ping reply in 180 seconds.)
07:00:55FromDiscord<tempestro> In reply to @11clock ""Hmm, procedure was shortened": damn, what a missed opportunity↵Would be one hell of a based language
07:07:17*deavmi joined #nim
07:18:41FromDiscord<nnsee> In reply to @11clock ""Hmm, procedure was shortened": i found it kinda funny when i saw `def meth(self)` in python's docs: https://github.com/python/cpython/blob/main/Doc/glossary.rst?plain=1#L1357
07:18:56FromDiscord<nnsee> definitely don't meth yourself, though
07:24:07*deavmi quit (Quit: No Ping reply in 180 seconds.)
07:26:33*deavmi joined #nim
07:30:07*deavmi quit (Client Quit)
07:31:22*deavmi joined #nim
07:36:18*deavmi quit (Quit: No Ping reply in 180 seconds.)
07:40:34*deavmi joined #nim
07:40:53*alexdaguy quit (Quit: WeeChat 4.9.2)
07:54:11*deavmi quit (Quit: No Ping reply in 180 seconds.)
08:00:38*deavmi joined #nim
08:09:30*deavmi quit (Quit: No Ping reply in 180 seconds.)
08:16:31*deavmi joined #nim
08:20:22*deavmi quit (Client Quit)
08:22:05*deavmi joined #nim
09:16:15*termer quit (Remote host closed the connection)
09:17:47*termer joined #nim
10:10:02*beholders_eye joined #nim
10:34:17*beholders_eye quit (Ping timeout: 248 seconds)
10:37:57*beholders_eye joined #nim
11:18:09FromDiscord<11clock> In reply to @tempestro "damn, what a missed": Many libraries made for the love2d framework were named after terms relating to sexual intercourse.
11:19:34FromDiscord<11clock> Although this is generally frowned upon since it makes the community look immature.
11:20:41FromDiscord<11clock> I wonder if there is an esoteric language designed to be as raunchy as possible.
11:39:20*termer quit (Remote host closed the connection)
11:40:51*termer joined #nim
11:42:10*Skippy8 joined #nim
12:15:49FromDiscord<DetermiedNim1> In reply to @11clock "Many libraries made for": really??????? Ive never heard of this
12:17:21FromDiscord<11clock> https://github.com/HDictus/hump
12:23:52FromDiscord<11clock> https://vrld.github.io/HardonCollider/tutorial.html
12:25:21FromDiscord<11clock> https://love2d.org/forums/viewtopic.php?t=230&cf_chl_f_tk=Jywq47st0r0EZNQLFMSi3_eUB8iFfbRP13gwSnBCx.Y-1783081510-1.0.1.1-Aaq2WfL_xTYZYBCBU6FRYyYNioQKjGfMoo_1anb0RM4
12:26:37FromDiscord<11clock> This practice has died down so most of these types of libraries have been replaced by newer ones.
12:29:04*termer quit (Remote host closed the connection)
12:30:37*termer joined #nim
12:39:45FromDiscord<DetermiedNim1> 😭
12:42:38FromDiscord<kapendev> Programming used to be more fun, so it makes sense.
12:44:46FromDiscord<kapendev> > Easy gamestate management.↵That's a common noob mistake. You designed something that in theory sounded awesome, but in practice you have no idea how well it works.
12:59:58FromDiscord<tvoyglaza> In reply to @mratsim "what do you mean?": A library do expose C functions from a C code/header
13:01:00*beholders_eye quit (Ping timeout: 245 seconds)
13:05:07FromDiscord<Aceroph> Boner++↵(@11clock)
13:27:52FromDiscord<timbuktu_guy> happy observed independency day everyone 🍻
13:28:01FromDiscord<timbuktu_guy> (edit) "happy observed independency day everyone 🍻 ... " added "🪇"
13:49:34FromDiscord<Emmanuel M. Smith 🔸> With Nim you can create a distinct type and then borrow what you need, but is there anyway to have everything borrowed? I mainly just need the type isolation from the base type, but now I have to explicitly borrow any thing I use
13:50:54FromDiscord<Emmanuel M. Smith 🔸> Can't the compiler just identify what I'm using and implicitly generate the borrow?
13:52:19*Skippy8 quit (Ping timeout: 265 seconds)
14:07:04FromDiscord<11clock> In nim is it normal to make a module that just lets you import a bunch of common modules in one line?
14:08:18FromDiscord<11clock> I personally hate imports with a passion because, "I am going to use this- oh I need to import it" scrolls to top of file to add import statement
14:09:25FromDiscord<timbuktu_guy> i did that
14:09:34FromDiscord<timbuktu_guy> but it makes the compile slower with the unused imports
14:10:40FromDiscord<timbuktu_guy> https://gist.github.com/savannt/a583f12c842dc5aaded8cd628fa113f3
14:14:38FromDiscord<_timurski> In reply to @Emmanuel M. Smith 🔸 "Can't the compiler just": I don't think this is possible right now, but theres an open issue for it https://github.com/nim-lang/RFCs/issues/450
14:23:09*beholders_eye joined #nim
14:46:20FromDiscord<olfactoryhallucinations> @timbuktu_guy Maybe you already know this, but if you were to use `include builtin.nim` instead of `import builtin.nim`, you wouldn't have to export all imports in it.
14:46:43FromDiscord<timbuktu_guy> I figured that out afterwards 😛 hahahaha
14:47:00FromDiscord<timbuktu_guy> thanks though
14:47:47FromDiscord<timbuktu_guy> inversely there should be a single word for import and export
14:47:55FromDiscord<timbuktu_guy> (edit) "inversely there should ... be" added "maybe"
14:48:04FromDiscord<timbuktu_guy> i came up with "bear"
14:49:05FromDiscord<timbuktu_guy> the current use of bear infers both carrying and producing
14:49:08FromDiscord<timbuktu_guy> (edit) "producing" => "yielding"
14:49:13*Jhonny2x4 quit (Quit: Jhonny2x4)
14:49:29*Jhonny2x4 joined #nim
14:49:29FromDiscord<timbuktu_guy> https://media.discordapp.net/attachments/371759389889003532/1522615270164795402/image.png?ex=6a491d79&is=6a47cbf9&hm=3e51c8e62e9373493148fb6588fe0f0c42798bba60c055618b486a0d6c8cdce3&
14:51:55FromDiscord<_timurski> In reply to @timbuktu_guy "i came up with": one of the worst suggestions of all time perhaps
14:52:02FromDiscord<Emmanuel M. Smith 🔸> That's exactly my issue, but it seems like that RFC's been in the backlog for a while↵(@_timurski)
14:52:06FromDiscord<timbuktu_guy> 😂😂😂
14:52:08FromDiscord<timbuktu_guy> ⚰️
14:52:42*FromDiscord quit (Remote host closed the connection)
14:52:55*FromDiscord joined #nim
14:53:20FromDiscord<timbuktu_guy> https://media.discordapp.net/attachments/371759389889003532/1522616236645683301/3116_dead.png?ex=6a491e5f&is=6a47ccdf&hm=edf7af1d8e8add256ea6b402ac6e85556da7a86045537e138a1d92648ee1571d&
14:53:45FromDiscord<timbuktu_guy> In reply to @_timurski "one of the worst": the floor is yours, please state your argument
14:53:50FromDiscord<timbuktu_guy> (edit) "yours," => "yours..."
14:54:08FromDiscord<_timurski> In reply to @timbuktu_guy "": this is missing "a burly gay man"
14:54:08FromDiscord<timbuktu_guy> (edit) "In reply to @_timurski "one of the worst": the floor is yours... please state your argument ... " added " 😂 😄"
14:54:42FromDiscord<timbuktu_guy> pride month is over
14:57:45FromDiscord<gesee37> In reply to @Emmanuel M. Smith 🔸 "That's exactly my issue,": Yeah I know it's annoying but technically the fact tht you have to explicitly borrow is not an issue 😅
14:57:58FromDiscord<gesee37> That's exactly what should happens
14:58:08FromDiscord<zumi.dxy> In reply to @timbuktu_guy "pride month is over": true, it's now wrath month
14:58:49FromDiscord<gesee37> In reply to @Emmanuel M. Smith 🔸 "With Nim you can": The compiler should not try to mess with it.↵That's why you added `distinct` to the type, no ?
14:59:28FromDiscord<gesee37> (edit) "happens" => "happen"
15:00:43*acidsys quit (Ping timeout: 268 seconds)
15:01:45*termer quit (Remote host closed the connection)
15:03:16*termer joined #nim
15:07:52FromDiscord<11clock> For the vs code extension, is it possible to set it to only highlight errors on save? It's probably the most unstable part of the tooling so I'd rather it just fire when I save the file.
15:08:17FromDiscord<_timurski> In reply to @gesee37 "The compiler should not": they're just saying to let the compiler generate the procs for the distinct type automatically
15:08:53FromDiscord<_timurski> which is valid, I could imagine some circumstances where you want a type that can be used for the same things as another type but can't actually be confused with that type
15:09:12FromDiscord<timbuktu_guy> In reply to @11clock "For the vs code": yes?
15:09:32FromDiscord<timbuktu_guy> (edit) "In reply to @11clock "For the vs code": yes? ... " added " in the config- no"
15:12:58FromDiscord<gesee37> In reply to @_timurski "they're just saying to": The problem is that when you make a distinct type, the compiler assume you want the same primitive as a type but with different functionality↵Like redefining thing
15:13:22FromDiscord<_timurski> In reply to @gesee37 "The problem is that": I'm not really sure what you're saying here
15:13:39FromDiscord<_timurski> could you give a concrete example of why it wouldn't work?
15:14:38FromDiscord<gesee37> In reply to @Emmanuel M. Smith 🔸 "With Nim you can": > I mainly just need the type isolation from the base type↵↵Exactly, that's what makes the compiler unable to assume that it need to generate things I guess, so borrowing is a way to tell him "I know that I don't want confusion with this type but reuse this proc"
15:16:03FromDiscord<_timurski> wouldn't it be just a step like "if compiler can't find a specialized proc for DistinctType then it finds a proc for BaseType"?
15:16:40FromDiscord<gesee37> In reply to @_timurski "wouldn't it be just": I guess the name speak for itself, `distinct` not `sub`
15:16:49FromDiscord<_timurski> In reply to @gesee37 "I guess the name": well it's not a sub type
15:17:16FromDiscord<_timurski> actually
15:17:24FromDiscord<_timurski> wait
15:17:58FromDiscord<_timurski> hmm yeah I guess this would really just be equivalent to a comp time subtype
15:19:49FromDiscord<gesee37> I think they are `distinct` type.↵Like saying 2 things are distinct means different, they have no relationship between with exceptions (the `{.brro
15:19:58FromDiscord<gesee37> (edit) "`{.brro" => "`{.borrow.}`"
15:20:04FromDiscord<gesee37> (edit) "`{.borrow.}`" => "`{.borrow.}`)"
15:20:18FromDiscord<gesee37> (edit) "I think they are `distinct` type.↵Like saying 2 things are distinct means different, they have no relationship between ... withsome" added "them," | "them,with ... exceptions" added "some"
15:20:30FromDiscord<gesee37> (edit) "`{.borrow.}`)" => "`{.borrow.}`ed procs)"
15:29:18*Skippy8 joined #nim
15:33:19*Skippy8 quit (Ping timeout: 245 seconds)
15:43:55*Skippy8 joined #nim
15:50:08FromDiscord<11clock> As much as I prefer not to rely too much on AI as a project grows, it's insanely useful for debugging.
15:51:31*acidsys joined #nim
16:44:24*syl quit (Quit: C-x C-c)
16:46:21*syl joined #nim
16:56:27*Jhonny2x4 quit (Quit: Jhonny2x4)
16:56:39*Jhonny2x4 joined #nim
16:57:02FromDiscord<tempestro> If you need all the underlying procs and operators, why declare it `distinct` in the first place?
16:58:46FromDiscord<tempestro> If you really do need `distinct` types that borrow a lot of the underlying code, I'm pretty sure you can write a macro that minimizes the boilerplate
17:17:54*Jhonny2x4 quit (Quit: Jhonny2x4)
17:18:09*Jhonny2x4 joined #nim
17:28:49FromDiscord<mratsim> In reply to @Emmanuel M. Smith 🔸 "Can't the compiler just": {.push borrow.} might work. But borrow is to say, make it a distinct type with its own rule. Automatically borrowing defeats that
17:30:17FromDiscord<mratsim> {.borrow: all.} is fine though
17:35:21*Skippy8 quit (Ping timeout: 272 seconds)
17:52:47FromDiscord<Emmanuel M. Smith 🔸> The RFC has a good example if you can't understand the utility of it
18:22:51FromDiscord<11clock> After thinking back on my macro design a bit, I decided to remove the "~>" operator. It just looks ugly in use.
18:23:11FromDiscord<11clock> Instead I'll add in Ruby's tap method.
18:23:29FromDiscord<11clock> sent a long message, see https://pasty.ee/nRUnSaiW
18:24:10FromDiscord<11clock> Much simpler in implementation, and lets me use a statement list instead of a statement list expression.
18:25:15FromDiscord<11clock> Also it remains general purpose as well as being a nice standin for C#'s object initializers.
18:26:49FromDiscord<_timurski> In reply to @Emmanuel M. Smith 🔸 "The RFC has a": what the other guy made me realize is that it's not really a good name for the concept
18:27:13FromDiscord<_timurski> the example provided shows that really it's just equivalent to a compile time subtype
18:34:49*Skippy8 joined #nim
18:44:50FromDiscord<Emmanuel M. Smith 🔸> I guess my use case is just, I want the compiler to complain when I mix my type with the underlying type without having to use distinct and borrow 10+ things
18:44:50FromDiscord<Emmanuel M. Smith 🔸> As every time I want to use a new built-in, I have to pick the right function from the error suggestions, and then add borrow at the end. And sometimes it's not immediately obvious which one I need
18:44:50FromDiscord<Emmanuel M. Smith 🔸> As every time I want to use a new std built-in, I have to pick the right function from the error suggestions, and then add borrow at the end. And sometimes it's not immediately obvious which one I need
18:45:17FromDiscord<_timurski> In reply to @Emmanuel M. Smith 🔸 "I guess my use": can you give an example of how this would work
18:46:35FromDiscord<_timurski> because if you have `.borrow: all` then your type would fit in basically everywhere the original type does...
18:46:35FromDiscord<_timurski> except for specific overloads for your type
18:46:42FromDiscord<_timurski> (edit) "can" => "~~can" | "work" => "work~~"
18:47:00FromDiscord<_timurski> (edit) "~~can" => "can" | "how this would work~~" => "such a circumstance?"
18:47:07FromDiscord<_timurski> (edit) "In reply to @Emmanuel M. Smith 🔸 "I guess my use": can you give an example of such a circumstance? ... " added "or are you just referring to overloads"
18:48:29FromDiscord<_timurski> that's still useful but doesn't sound like "distinct" anymore
19:11:49*beholders_eye quit (Ping timeout: 276 seconds)
19:42:39*Skippy8 quit (Ping timeout: 252 seconds)
20:55:54FromDiscord<tvoyglaza> sent a long message, see https://pasty.ee/oFCNtEBs
20:56:02FromDiscord<tvoyglaza> Bro, it is so nice!
20:56:45FromDiscord<tvoyglaza> Thanks for the hard work to make it possible
20:57:27FromDiscord<tvoyglaza> All the staff
21:12:06FromDiscord<_araq> what about it?
21:30:20FromDiscord<tvoyglaza> The Nim language brought a nice way to handle with some canonical challenges, such that C/C++ interop, make fast code, ease of use, etc.
21:31:05FromDiscord<DetermiedNim1> you can use cstring instead of openarray[cchar] bt
21:31:06FromDiscord<DetermiedNim1> (edit) "bt" => "btw"
21:34:44FromDiscord<tvoyglaza> In reply to @determiedmech1 "you can use cstring": I just realized that possibility a moment ago.
21:46:15*Skippy8 joined #nim
22:05:10*Skippy8 quit (Ping timeout: 245 seconds)
22:08:18*Skippy8 joined #nim
22:15:19*Skippy8 quit (Ping timeout: 264 seconds)
22:41:07*termer quit (Remote host closed the connection)
22:42:36*termer joined #nim
23:10:08*termer quit (Remote host closed the connection)
23:11:40*termer joined #nim