<< 14-04-2026 >>

00:41:27*itwrx joined #nim
00:47:03*itwrx quit (Quit: Leaving)
01:03:50FromDiscord<DetermiedNim1> In reply to @mr_rowboto "You could try using": Henka only works with C right?
01:04:10FromDiscord<DetermiedNim1> a cpp wrapper generator would be amazing
01:26:26*xet7 joined #nim
02:24:16FromDiscord<mr_rowboto> In reply to @determiedmech1 "a cpp wrapper generator": This is a task I won't do, but someone just said that.
02:24:26FromDiscord<mr_rowboto> (edit) "that." => "he did that yesterday."
02:24:49FromDiscord<mr_rowboto> https://discord.com/channels/371759389889003530/753721959308853319/1492752885644263545
02:25:26FromDiscord<mr_rowboto> I wouldn't know how that works tho.
02:26:03FromDiscord<mr_rowboto> If I'm not mistaken, C++ does not have it's own ABI, and needs to `extern C {...}` everything.
02:26:26FromDiscord<mr_rowboto> ie: what does a template map to outside of an hpp?
02:26:33FromDiscord<mr_rowboto> and an abstract class?
02:27:17FromDiscord<mr_rowboto> I imagine it should be _doable_ but... I don't know how valuable. Most libraries have an impl satisfying an `extern C {...}` interface.
02:27:36FromDiscord<mr_rowboto> _Take my words with nuance tho_
04:25:36FromDiscord<tewesday> I was under the impression that because nim can compile to C++, you could directly use C++ code if you target it. I haven't tried it yet but it's one of the possiblities that attracted me to Nim. And C++ can already use C code so it seems like it would be a useful target if you use a lot of C++
05:41:49*mrinsane quit (Ping timeout: 244 seconds)
06:21:19Amun-RaI don't think C++ even has a stable name mangling abi
06:31:04FromDiscord<nnsee> https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling
06:34:50Amun-RaI mean name mangling is implementation defined and you can't rely on a specific name to be present
06:35:36Amun-Ra_Z3foobar vs ?foo@@BAR@X
07:51:39*beholders_eye joined #nim
09:45:14*acidsys quit (Ping timeout: 252 seconds)
09:45:52*acidsys joined #nim
10:03:52*_________ quit (Ping timeout: 244 seconds)
10:16:29*tokyovigilante joined #nim
11:00:49*_________ joined #nim
11:52:37FromDiscord<nocturn9x> just to double check
11:52:41FromDiscord<nocturn9x> nim has no interfaces still, right?
11:52:52FromDiscord<nocturn9x> like there's no way to say "type T must implement f with this signature"?
11:54:31Amun-Rano, but nim has concepts
12:15:34FromDiscord<nocturn9x> never looked into them tbh
12:17:01Amun-Rathey work in a similar way, but at the proc level
12:17:21Amun-Ra"I, a proc, accept type T that must implement f with this signature"
12:17:50FromDiscord<nocturn9x> that is what I'm looking for, thanks!
12:18:08Amun-Ra:)
12:18:17FromDiscord<nocturn9x> doing a little raytracer in nim following [this](<https://raytracing.github.io/books/RayTracingInOneWeekend.html>) guide https://media.discordapp.net/attachments/371759389889003532/1493586185962913802/image.png?ex=69df8208&is=69de3088&hm=149790b15827db8a49992bf5fa7adf3ab6dc5ec78680c81a4c725c9584fbf03c&
12:18:36Amun-RaI plan to do that someday
12:18:58FromDiscord<nocturn9x> it is a lot of fun
12:19:25FromDiscord<nocturn9x> this is what I am currently rendering https://media.discordapp.net/attachments/371759389889003532/1493586471561597098/image.png?ex=69df824c&is=69de30cc&hm=3db6324857cacdffec34b8d22d7e3f67cb95cef868db5417caa39b7226ce4b86&
12:19:35FromDiscord<nocturn9x> it renders the surface normals as a gradient on a sphere of radius 0.5
12:19:57Amun-Ranice :)
12:20:03FromDiscord<nocturn9x> :))
12:20:39FromDiscord<nocturn9x> hopefully once I'm done with the initial tutorial and the one-week follow-up I can easily do multithreading and maybe some OpenGL stuff for realtime rendering
12:21:40Amun-RaI wrote 3D graphics related things only, never raytracing
12:22:47Amun-Rayou can even use SDL for that
12:23:09Amun-Rahave you ever tried drawing fractals? those are fun too
13:05:18FromDiscord<nocturn9x> In reply to @Amun-Ra "have you ever tried": nope
13:05:22FromDiscord<nocturn9x> I might try someday :D
13:05:32FromDiscord<nocturn9x> In reply to @Amun-Ra "you can even use": this guide is all from scratch!
13:24:20FromDiscord<nocturn9x> hmm
13:24:22FromDiscord<nocturn9x> small problem
13:24:39FromDiscord<nocturn9x> this complains with `ref Hittable` is not a concrete type... which makes sense↵↵should I use generics? https://media.discordapp.net/attachments/371759389889003532/1493602887740424272/image.png?ex=69df9196&is=69de4016&hm=1418cb812b560f9adb78db90170080fa4af39d095ef5231c7964a43e597788db&
13:24:53FromDiscord<nocturn9x> yeah that works
13:56:22FromDiscord<nocturn9x> nevermind it does not, rip
14:02:14FromDiscord<nocturn9x> guess object variants are the only way to avoid full dynamic dispatch
14:12:55FromDiscord<asviest> In reply to @nocturn9x "guess object variants are": Yes, you can't have seq with different non concrete types, they different
14:13:04FromDiscord<nocturn9x> yeah
14:16:09*beholders_eye quit (Ping timeout: 248 seconds)
14:18:00*beholders_eye joined #nim
14:49:03FromDiscord<mr_rowboto> `traitor`?
14:49:12FromDiscord<mr_rowboto> (edit) "`traitor`?" => "Maybe `traitor` can help?"
14:50:03FromDiscord<mr_rowboto> https://github.com/beef331/traitor/tree/master
14:51:15FromDiscord<mr_rowboto> sent a code paste, see https://play.nim-lang.org/#pasty=YeNQYEHf
14:51:21FromDiscord<mr_rowboto> (edit) "https://play.nim-lang.org/#pasty=gazrJGjT" => "https://play.nim-lang.org/#pasty=vlfoHvvi"
15:12:05*mrinsane joined #nim
15:45:24*beholders_eye quit (Ping timeout: 256 seconds)
15:48:54*th3r00t quit (Ping timeout: 244 seconds)
16:12:44*th3r00t joined #nim
18:33:04*zero`_ quit (Quit: zero`_)
20:43:34*lumidify quit (Quit: leaving)
20:44:43*lumidify joined #nim
20:53:06*xet7 quit (Ping timeout: 256 seconds)
22:04:39*zero` joined #nim
22:16:24*hygo quit (Ping timeout: 244 seconds)
22:16:40*hygo joined #nim