<< 17-09-2025 >>

00:32:43*SchweinDeBurg joined #nim
00:51:22*SchweinD1 joined #nim
00:53:51*SchweinDeBurg quit (Ping timeout: 260 seconds)
01:48:34*SchweinD1 quit (Quit: WeeChat 4.8.0-dev)
03:41:14*LuckyMan joined #nim
05:04:03*SchweinDeBurg joined #nim
05:19:53*LuckyMan quit (Quit: LuckyMan)
05:27:31*derpydoo joined #nim
05:45:04*def-- joined #nim
05:45:44*Jhonny2x4 joined #nim
05:46:16*skippy8 joined #nim
05:49:17*derpydoo quit (*.net *.split)
05:49:18*Jjp137_ quit (*.net *.split)
05:49:22*Jhonny2x1 quit (*.net *.split)
05:49:22*def- quit (*.net *.split)
05:49:22*computerquip quit (*.net *.split)
05:49:22*johuck quit (*.net *.split)
05:49:22*joast quit (*.net *.split)
05:49:22*GreaseMonkey quit (*.net *.split)
05:49:22*redj quit (*.net *.split)
05:49:22*def-- is now known as def-
05:50:43*Jjp137_ joined #nim
05:50:43*computerquip joined #nim
05:50:43*johuck joined #nim
05:50:43*joast joined #nim
05:50:43*GreaseMonkey joined #nim
05:50:43*redj joined #nim
06:02:55*derpydoo joined #nim
06:56:29*beholders_eye joined #nim
07:04:17*beholders_eye quit (Ping timeout: 260 seconds)
08:25:26*derpydoo quit (*.net *.split)
08:36:10*dicot joined #nim
08:40:41*skippy8 quit (Quit: WeeChat 4.7.1)
09:45:40*skippy8 joined #nim
10:09:14Amun-Rahas anyone noticed weird repr behavior (strings with '\n'): https://dpaste.com/7QL9NRGHJ
10:11:56Amun-Raargh, my fault
10:13:51Amun-Rawell, no
10:14:14Amun-Rahttps://dpaste.com/CQZGUBJW4
11:22:49*xet7 joined #nim
11:25:30*xet7 quit (Client Quit)
11:27:27*xet7 joined #nim
13:52:00*NimBot joined #nim
13:58:22*Amun-Ra joined #nim
14:32:03*skippy8_ joined #nim
14:36:48*skippy8 quit (*.net *.split)
14:36:49*Jjp137_ quit (*.net *.split)
14:36:49*computerquip quit (*.net *.split)
14:36:49*johuck quit (*.net *.split)
14:36:49*joast quit (*.net *.split)
14:36:49*GreaseMonkey quit (*.net *.split)
14:36:50*redj quit (*.net *.split)
14:38:27*Jjp137_ joined #nim
14:38:27*computerquip joined #nim
14:38:27*johuck joined #nim
14:38:27*joast joined #nim
14:38:27*GreaseMonkey joined #nim
14:38:27*redj joined #nim
15:36:05*skippy8_ quit (Quit: WeeChat 4.7.1)
16:09:30*dicot quit (Ping timeout: 248 seconds)
16:29:38*beholders_eye joined #nim
16:57:23*SchweinDeBurg quit (Quit: WeeChat 4.8.0-dev)
17:01:12*lumidify quit (Ping timeout: 258 seconds)
17:03:09*lumidify joined #nim
17:45:40*ox is now known as oz
18:41:18*dicot joined #nim
19:25:14*beholders_eye quit (Ping timeout: 256 seconds)
19:26:56*beholders_eye joined #nim
19:55:12*xet7 quit (Remote host closed the connection)
20:02:46*nils` quit (Quit: nils`)
21:11:44*skippy8 joined #nim
21:30:51*Arty is now known as Artea
22:04:31*skippy8 quit (Ping timeout: 256 seconds)
22:04:31*lumidify quit (Ping timeout: 256 seconds)
22:06:09*lumidify joined #nim
22:07:23*skippy8 joined #nim
22:17:13*lumidify quit (Ping timeout: 260 seconds)
22:17:21*lumidify_ joined #nim
22:26:22*skippy8 quit (Quit: WeeChat 4.7.1)
22:34:06*skippy8 joined #nim
22:50:29*oisota9 joined #nim
22:52:22*skippy8 quit (Ping timeout: 244 seconds)
22:52:23*oisota quit (Ping timeout: 244 seconds)
22:52:23*ehmry quit (Ping timeout: 244 seconds)
22:52:24*yeti quit (Ping timeout: 244 seconds)
22:52:24*FromDiscord quit (Ping timeout: 244 seconds)
22:52:24*oisota9 is now known as oisota
22:52:28*skippy8_ joined #nim
22:53:05*ehmry joined #nim
22:53:16*FromDiscord joined #nim
23:02:55*yeti joined #nim
23:09:16*beholder1 joined #nim
23:10:16*lumidify joined #nim
23:11:51*dicot_ joined #nim
23:14:48*lumidify_ quit (*.net *.split)
23:14:48*beholders_eye quit (*.net *.split)
23:14:48*dicot quit (*.net *.split)
23:14:49*Jjp137_ quit (*.net *.split)
23:14:49*computerquip quit (*.net *.split)
23:14:49*johuck quit (*.net *.split)
23:14:49*joast quit (*.net *.split)
23:14:49*GreaseMonkey quit (*.net *.split)
23:14:50*redj quit (*.net *.split)
23:15:43*Jjp137_ joined #nim
23:15:43*computerquip joined #nim
23:15:43*johuck joined #nim
23:15:43*joast joined #nim
23:15:43*GreaseMonkey joined #nim
23:15:43*redj joined #nim
23:17:36*dicot_ quit (Ping timeout: 244 seconds)
23:28:54*FromDiscord quit (Read error: Connection reset by peer)
23:28:55*beholder1 quit (Ping timeout: 256 seconds)
23:28:55*FromDiscord joined #nim
23:29:35*beholders_eye joined #nim
23:36:38*cornfeedhobo_ is now known as cornfeedhobo
23:37:51*skippy8_ quit (Quit: WeeChat 4.7.1)
23:44:39FromDiscord<threefour> I'm asking because I want to use both static and dynamic dispatch with the same "trait" definition. My WIP implementation uses a given concept as the source to generate the object definition and the converters from. Is there a specific reason you didn't go that route?
23:46:40FromDiscord<threefour> Because it looks like yours uses the vtable tuple as the source to generate from. My approach seems more elegant from the user side, but I'm curious if you attempted the same and ran into footguns.
23:47:48FromDiscord<Elegantbeef> @threefour Concepts are not good
23:48:06FromDiscord<Elegantbeef> How do you even use static and dynamic dispatch from the same trait definition?
23:48:25FromDiscord<Elegantbeef> Like you need to tell the system to use static dispatch
23:48:29FromDiscord<Elegantbeef> Or dynamic
23:50:30FromDiscord<threefour> Well you write the concept ("trait"), then the macro would generate the vtable object structure for dynamic use, and the converters for each object that implements it. If you want static dispatch, you use the concept as the argument type. If you want dynamic dispatch, you use the vtable object created from the converter. This sounds more or less like what yours does, just from a different starting point.
23:51:37FromDiscord<Elegantbeef> Converters and concepts oh my
23:52:22FromDiscord<Elegantbeef> For what it's worth I did at one point use new style concepts, but the implementation was loaded
23:53:35FromDiscord<threefour> Why are concepts not good? And what's the difference between old and new style?
23:53:53FromDiscord<Elegantbeef> Concepts often break in absurd ways
23:53:59FromDiscord<threefour> Idk that I've been around long enough to even know what the old style was.
23:54:02FromDiscord<Elegantbeef> The old style is statement declaration based, the new style are interface based
23:54:40FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=nPpTJfue
23:54:46FromDiscord<Elegantbeef> The latter breaks more
23:55:15FromDiscord<Elegantbeef> What does your present syntax look like?
23:55:25FromDiscord<threefour> Okay so I am using the new style then. What do you mean it's loaded?
23:55:54FromDiscord<Elegantbeef> My implementation with them was loaded and the new style concepts break in fantastic ways
23:56:09FromDiscord<Elegantbeef> I was keeping a static table of the types in a macro and a bunch of mapping around the types
23:56:12FromDiscord<Elegantbeef> It was not clean whatsoever
23:56:57FromDiscord<Elegantbeef> https://github.com/beef331/traitor/blob/104cff797401969dc3242d87731dde7a5a8166fa/test.nim it was a mess
23:57:20FromDiscord<Elegantbeef> Whoops wrong file https://github.com/beef331/traitor/blob/104cff797401969dc3242d87731dde7a5a8166fa/nimterface.nim
23:57:36FromDiscord<threefour> sent a code paste, see https://play.nim-lang.org/#pasty=bKkRgghr
23:58:13FromDiscord<Elegantbeef> Ok you're doing explicit implementations which is exactly what I dislike
23:58:16FromDiscord<Elegantbeef> Terrible user interface imo
23:58:24FromDiscord<Elegantbeef> I did that eons ago
23:59:34FromDiscord<threefour> I'm not familiar with the technical term. What's wrong with this vs. the other approach(es)?