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:14 | Amun-Ra | has anyone noticed weird repr behavior (strings with '\n'): https://dpaste.com/7QL9NRGHJ |
10:11:56 | Amun-Ra | argh, my fault |
10:13:51 | Amun-Ra | well, no |
10:14:14 | Amun-Ra | https://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:39 | FromDiscord | <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:40 | FromDiscord | <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:48 | FromDiscord | <Elegantbeef> @threefour Concepts are not good |
23:48:06 | FromDiscord | <Elegantbeef> How do you even use static and dynamic dispatch from the same trait definition? |
23:48:25 | FromDiscord | <Elegantbeef> Like you need to tell the system to use static dispatch |
23:48:29 | FromDiscord | <Elegantbeef> Or dynamic |
23:50:30 | FromDiscord | <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:37 | FromDiscord | <Elegantbeef> Converters and concepts oh my |
23:52:22 | FromDiscord | <Elegantbeef> For what it's worth I did at one point use new style concepts, but the implementation was loaded |
23:53:35 | FromDiscord | <threefour> Why are concepts not good? And what's the difference between old and new style? |
23:53:53 | FromDiscord | <Elegantbeef> Concepts often break in absurd ways |
23:53:59 | FromDiscord | <threefour> Idk that I've been around long enough to even know what the old style was. |
23:54:02 | FromDiscord | <Elegantbeef> The old style is statement declaration based, the new style are interface based |
23:54:40 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=nPpTJfue |
23:54:46 | FromDiscord | <Elegantbeef> The latter breaks more |
23:55:15 | FromDiscord | <Elegantbeef> What does your present syntax look like? |
23:55:25 | FromDiscord | <threefour> Okay so I am using the new style then. What do you mean it's loaded? |
23:55:54 | FromDiscord | <Elegantbeef> My implementation with them was loaded and the new style concepts break in fantastic ways |
23:56:09 | FromDiscord | <Elegantbeef> I was keeping a static table of the types in a macro and a bunch of mapping around the types |
23:56:12 | FromDiscord | <Elegantbeef> It was not clean whatsoever |
23:56:57 | FromDiscord | <Elegantbeef> https://github.com/beef331/traitor/blob/104cff797401969dc3242d87731dde7a5a8166fa/test.nim it was a mess |
23:57:20 | FromDiscord | <Elegantbeef> Whoops wrong file https://github.com/beef331/traitor/blob/104cff797401969dc3242d87731dde7a5a8166fa/nimterface.nim |
23:57:36 | FromDiscord | <threefour> sent a code paste, see https://play.nim-lang.org/#pasty=bKkRgghr |
23:58:13 | FromDiscord | <Elegantbeef> Ok you're doing explicit implementations which is exactly what I dislike |
23:58:16 | FromDiscord | <Elegantbeef> Terrible user interface imo |
23:58:24 | FromDiscord | <Elegantbeef> I did that eons ago |
23:59:34 | FromDiscord | <threefour> I'm not familiar with the technical term. What's wrong with this vs. the other approach(es)? |