| 00:11:15 | * | xet7 quit (Remote host closed the connection) |
| 00:12:43 | * | xet7 joined #nim |
| 00:24:50 | * | dza quit (Server closed connection) |
| 00:26:25 | * | dza joined #nim |
| 00:36:13 | * | xet7 quit (Ping timeout: 276 seconds) |
| 02:54:03 | * | rockcavera quit (Remote host closed the connection) |
| 03:34:47 | * | xet7 joined #nim |
| 04:26:29 | * | alexdaguy joined #nim |
| 04:40:24 | * | xet7 quit (Ping timeout: 252 seconds) |
| 04:47:11 | FromDiscord | <.tokyovigilante> on program exit, can I rely on the ORC garbage collector destroying all my objects? How would I ensure an object wrapping a socket closes it cleanly, for example, or a Vulkan object is released etc? |
| 04:52:59 | FromDiscord | <heysokam> What is the expected way to `return 0` for unix conventions when terminating a Nim app?↵Is `quit(0)` safe, or does it skip any of the lang's termination process or something? |
| 04:53:02 | FromDiscord | <arnetheduck> In reply to @elegantbeef "But like I said": the best thing that could happen to nim's hcr would be removing it from the stdlib / compiler 😉 |
| 04:55:20 | FromDiscord | <heysokam> In reply to @.tokyovigilante "on program exit, can": for Vulkan, you'd call the destroy functions at the end of your app |
| 04:55:52 | FromDiscord | <heysokam> If you want that automated, then create a custom `destroy=` hook for your object |
| 04:56:26 | FromDiscord | <heysokam> its the wrong abstraction for GPU resources, though. be warned |
| 04:57:17 | FromDiscord | <.tokyovigilante> In reply to @heysokam "If you want that": yup, that's what I've more or less done, but for example I need to clean up all my images, pipelines etc, and then destroy the allocator, then the engine in a deterministic way. I don't think I can control it well enough to ensure everything is unwound correctly, so probably need to stick with manual memory management or a deletion queue. |
| 04:57:51 | FromDiscord | <heysokam> In reply to @.tokyovigilante "yup, that's what I've": the same happens with RAII. It's the wrong abstraction, that's why it doesn't work |
| 04:58:38 | FromDiscord | <heysokam> with GPU-CPU sync, you must be in complete control of what happens, since the GPU is the authoritative owner in reality, but RAII and friends are CPU-managed |
| 05:00:35 | FromDiscord | <.tokyovigilante> yup. was hoping I could manage that by holding a CPU-side reference until the fence/sync objects released, but it gets too complex. |
| 05:54:48 | * | redj quit (Ping timeout: 276 seconds) |
| 06:01:13 | * | skippy8 joined #nim |
| 06:11:32 | FromDiscord | <.tokyovigilante> Also graphics related, has anyone wrapped both Volk and the Vulkan Memory Allocator with Futhark? VMA and Volk both want to import vulkan.h, and then re-export all the types, leading to a bunch of collisions. I've tried various combinations of `nodeclguard` and friends, but it all seems pretty brittle. is there any way to make the FFI happy with types that are clearly the same across multiple imported wrappers? |
| 06:22:16 | * | nils` quit (Ping timeout: 252 seconds) |
| 06:26:28 | FromDiscord | <heysokam> sent a long message, see https://pasty.ee/miymMdgD |
| 06:30:56 | FromDiscord | <heysokam> > is there any way to make the FFI happy with types that are clearly the same across multiple imported wrappers↵You'd need to either create the wrappers together, so that the Nim types are the same↵Or create a layer of interaction where the types are casted between each other _(eg: with converters or templates)_ |
| 06:31:13 | FromDiscord | <heysokam> Considering the size of vulkan, #2 sounds like hell to write |
| 06:33:17 | FromDiscord | <heysokam> I guess another option would be to cast on every usage |
| 06:50:33 | * | amadaluzia joined #nim |
| 07:21:29 | FromDiscord | <.tokyovigilante> Ideally Futhark would have a mode where it added declaration guards but didn’t rewrite names, then I could have the 64 bit enums in manually, the rest of the types from Volk, and VMA just for its own types, if that is a real thing. Or maybe just create a header that pulls in both and then run Futhark on that. Will keep chipping away. Had the same problem with Wayland and wayland-egl, but with less types so easier to do manually. |
| 08:02:57 | * | alexdaguy quit (Quit: WeeChat 4.7.0) |
| 08:49:13 | * | nils` joined #nim |
| 09:43:34 | * | beholders_eye joined #nim |
| 09:48:02 | * | Freneticks quit (Server closed connection) |
| 09:48:11 | * | Freneticks joined #nim |
| 10:10:45 | FromDiscord | <steamhacker_1837> what the...↵i found very interesting something |
| 10:10:54 | FromDiscord | <steamhacker_1837> (edit) "what the...↵i found ... very" added "something" | removed "something" |
| 10:11:01 | FromDiscord | <steamhacker_1837> command line(1, 2) Error: unknown CPU: 'list'. Available options are: i386, m68k, alpha, powerpc, powerpc64, powerpc64el, sparc, vm, hppa, ia64, amd64, mips, mipsel, arm, arm64, js, nimvm, avr, msp430, sparc64, mips64, mips64el, riscv32, riscv64, esp, wasm32, e2k, loongarch64 |
| 10:11:13 | FromDiscord | <steamhacker_1837> does nim support elbrus? what the... |
| 10:11:33 | FromDiscord | <steamhacker_1837> even linux and rust does not support elbrus but how nim support elbrus? |
| 10:54:22 | FromDiscord | <.tokyovigilante> does anyone have an example for Futhark's `addOpirCallback`? |
| 10:54:54 | FromDiscord | <.tokyovigilante> aka the best but most-asked about (by me) Nim library... |
| 10:55:05 | FromDiscord | <heysokam> its likely related to modifying the json before renames |
| 10:55:29 | FromDiscord | <heysokam> but have not used it before myself. @pmunch might help |
| 11:00:34 | * | xet7 joined #nim |
| 11:01:30 | FromDiscord | <.tokyovigilante> Yup I'm just trying to drop any of the 64-bit `static const` Vulkan flags that aren't being imported with their values, and just define them manually for now. |
| 11:03:11 | FromDiscord | <heysokam> ah, I opened a bug ticket open for that. pmunch said that used to work, so must have been a regression from newer clang versions interacting with opir |
| 11:05:54 | FromDiscord | <pmunch> Ah yes, haven't gotten around to look at that yet (just got back from vacation) |
| 11:06:15 | FromDiscord | <pmunch> An Opir callback is simply a procedure that takes a `JsonNode` and returns a `JsonNode` IIRC |
| 11:06:34 | FromDiscord | <pmunch> You just need to make sure that the output is valid and you can do whatever you want |
| 11:11:27 | FromDiscord | <.tokyovigilante> sent a code paste, see https://play.nim-lang.org/#pasty=JefYXnpU |
| 11:13:32 | FromDiscord | <pmunch> Why do you have it as a closure? |
| 11:17:14 | FromDiscord | <.tokyovigilante> sent a code paste, see https://play.nim-lang.org/#pasty=oGcLdMRF |
| 11:17:25 | FromDiscord | <.tokyovigilante> Because it told me to? 🙂 |
| 11:18:03 | FromDiscord | <.tokyovigilante> That's without the `{.closure.}` pragma, also doesn't work as a `proc`. |
| 11:18:42 | FromDiscord | <.tokyovigilante> i.e. `proc processor (node: JsonNode): JsonNode = echo $node` |
| 11:20:33 | FromDiscord | <pmunch> Ah I see.. |
| 11:20:38 | FromDiscord | <pmunch> I think I messed up somewhere.. |
| 11:21:28 | FromDiscord | <pmunch> sent a code paste, see https://play.nim-lang.org/#pasty=lYJxpTAQ |
| 11:21:35 | FromDiscord | <pmunch> That works, but it's not great.. |
| 11:22:01 | FromDiscord | <janakali> In reply to @steamhacker_1837 "does nim support elbrus?": It was added by a [pull request](https://github.com/nim-lang/Nim/pull/19024). Also, I think `nim c --os:NintendoSwitch` is more unexpected |
| 11:22:07 | FromDiscord | <pmunch> I must've refactored it to a sequence at some point, and then forgotten to add `{.nimcall.}` inside the seq.. |
| 11:59:45 | * | nils` quit (Ping timeout: 260 seconds) |
| 12:06:04 | * | blackbeard420 quit (Server closed connection) |
| 12:06:17 | * | blackbeard420 joined #nim |
| 12:35:45 | * | nils` joined #nim |
| 13:31:35 | * | kotrcka joined #nim |
| 14:07:35 | * | amadaluzia quit (Quit: You) |
| 14:32:54 | FromDiscord | <0xfab_10> what's up with this error https://play.nim-lang.org/#pasty=MRKFHTYh |
| 14:36:28 | FromDiscord | <Laylie> i've also run into this and worked around it by generating a `typeof` call |
| 14:36:47 | FromDiscord | <Laylie> but i would also like to know what is up with that behavior |
| 14:41:55 | FromDiscord | <0xfab_10> huh wrapping the parameter of `default` in `nnkTypeofExpr` solved it |
| 14:43:29 | FromDiscord | <0xfab_10> thanks |
| 14:49:40 | FromDiscord | <0xfab_10> if you do it like https://play.nim-lang.org/#pasty=LmbspCQC you don't need that |
| 16:00:31 | FromDiscord | <.skyvault> sent a code paste, see https://play.nim-lang.org/#pasty=qiszsvXG |
| 16:00:37 | * | kotrcka quit (Remote host closed the connection) |
| 16:10:51 | FromDiscord | <lainlaylie> `type` can mean `typeof` or `typedesc` or introduce a type definition depending on context, so it's better to be clear and use typedesc here |
| 16:13:23 | FromDiscord | <.skyvault> Ah okay, thanks |
| 16:31:33 | FromDiscord | <Robyn [She/Her]> In reply to @.skyvault "Is there a difference": typedesc > typeof > type |
| 16:31:42 | FromDiscord | <Robyn [She/Her]> type is deprecated |
| 16:36:52 | FromDiscord | <.skyvault> Thats good to know, I need to update my codebase, I went wild with `type` |
| 16:50:58 | FromDiscord | <blashyrk> sent a code paste, see https://play.nim-lang.org/#pasty=EjiQuMDV |
| 16:51:31 | FromDiscord | <blashyrk> (edit) "https://play.nim-lang.org/#pasty=uXXbcbdq" => "https://play.nim-lang.org/#pasty=AiNBQJYI" |
| 16:52:43 | FromDiscord | <blashyrk> (edit) "https://play.nim-lang.org/#pasty=MkWtWVNg" => "https://play.nim-lang.org/#pasty=ZHTpxYae" |
| 16:55:08 | FromDiscord | <0xfab_10> what's up with the compiler erroring about duplicate hooks when I have only one declaration |
| 16:55:20 | FromDiscord | <0xfab_10> sent a code paste, see https://play.nim-lang.org/#pasty=tgDcrBuL |
| 16:55:24 | FromDiscord | <0xfab_10> v2.2.4 |
| 16:55:41 | FromDiscord | <lainlaylie> are you using the type before declaring the hook |
| 16:55:46 | FromDiscord | <0xfab_10> yeah |
| 16:55:51 | FromDiscord | <lainlaylie> that's why then, i think |
| 16:56:26 | FromDiscord | <0xfab_10> yeah |
| 16:56:27 | FromDiscord | <0xfab_10> thanks |
| 16:58:08 | FromDiscord | <lainlaylie> https://nim-lang.org/docs/destructors.html#hook-generation |
| 17:23:00 | * | beholders_eye quit (Ping timeout: 252 seconds) |
| 17:38:13 | FromDiscord | <nieznanymagnat> sent a code paste, see https://play.nim-lang.org/#pasty=hqyFevgh |
| 17:40:03 | FromDiscord | <Elegantbeef> Drop the constraint |
| 17:40:12 | FromDiscord | <Elegantbeef> The type is already constrained no? |
| 17:42:34 | FromDiscord | <ollicron_53732> this multitasking stuff is sorta hard to understand it's like I have no idea what's inside a core anymore |
| 17:43:22 | FromDiscord | <nieznanymagnat> In reply to @Elegantbeef "Drop the constraint": small issue is the value is passed down as a size of array inside the Graph↵but ig I could refactor it |
| 17:43:47 | FromDiscord | <Elegantbeef> `self.S` |
| 17:46:02 | FromDiscord | <nieznanymagnat> I like to make my life more difficult than it needs to be. Thanks 👍 |
| 17:46:51 | FromDiscord | <Elegantbeef> But yea static parameters are generally buggy so have fun |
| 18:13:03 | * | ursa-major quit (Server closed connection) |
| 18:13:12 | * | ursa-major joined #nim |
| 19:04:20 | FromDiscord | <alehander92> PMunch, do you work with json schema ? |
| 19:33:30 | * | beholders_eye joined #nim |
| 20:00:57 | FromDiscord | <alehander92> i remember you using lsp but not i find out they dont define it with that for LSP |
| 20:01:01 | FromDiscord | <alehander92> i think they do have one for DAP |
| 20:01:25 | FromDiscord | <alehander92> so probably you didnt have a reason to look at it |
| 20:14:18 | FromDiscord | <pmunch> Not quite sure what you mean? |
| 20:15:07 | FromDiscord | <0xfab_10> sent a code paste, see https://play.nim-lang.org/#pasty=yEoBxMMi |
| 20:15:33 | FromDiscord | <0xfab_10> (edit) "https://play.nim-lang.org/#pasty=tsCbtpeW" => "https://play.nim-lang.org/#pasty=xAbOUvog" |
| 20:15:36 | FromDiscord | <Elegantbeef> Is it so hard to just to `T.default()`? |
| 20:15:52 | FromDiscord | <0xfab_10> and then mutate a var? |
| 20:16:21 | FromDiscord | <0xfab_10> sent a code paste, see https://play.nim-lang.org/#pasty=oPsIrCzy |
| 20:16:45 | FromDiscord | <Elegantbeef> What does `fillDefault` even do? |
| 20:17:31 | FromDiscord | <0xfab_10> fills an object with `default` and then overrides the given fields in the constructor |
| 20:17:45 | FromDiscord | <0xfab_10> (edit) "fills an object with `default` and then overrides the ... given" added "fields" | removed "fields" |
| 20:17:50 | FromDiscord | <0xfab_10> (edit) "fills an object with `default` and then overrides the fields given in the constructor ... " added "expr" |
| 20:18:20 | FromDiscord | <Elegantbeef> You really need to use quasi quoting |
| 20:18:44 | FromDiscord | <0xfab_10> it's easier this way |
| 20:18:55 | FromDiscord | <Elegantbeef> It's really not |
| 20:19:39 | FromDiscord | <0xfab_10> why |
| 20:20:01 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=LTcIgGVe |
| 20:20:04 | FromDiscord | <Elegantbeef> That's why |
| 20:21:42 | FromDiscord | <0xfab_10> it's shorter, not really that much better tbh |
| 20:22:01 | FromDiscord | <Elegantbeef> It's more readable and maintainable |
| 20:22:40 | FromDiscord | <Elegantbeef> Not that it's likely it will need to change |
| 20:25:02 | FromDiscord | <0xfab_10> sent a code paste, see https://play.nim-lang.org/#pasty=CtHXxTVJ |
| 20:25:10 | FromDiscord | <0xfab_10> like this? |
| 20:25:21 | FromDiscord | <Elegantbeef> Yes |
| 20:26:17 | FromDiscord | <0xfab_10> cool |
| 20:31:06 | FromDiscord | <Elegantbeef> You also could use it on the assign if you were so inclined |
| 20:32:04 | FromDiscord | <Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=WjJmoUAr |
| 21:00:59 | FromDiscord | <0xfab_10> the silly function call syntax |
| 21:02:01 | FromDiscord | <Elegantbeef> huh? |
| 21:03:38 | FromDiscord | <0xfab_10> `result[1].add:` |
| 21:13:09 | * | rockcavera joined #nim |
| 21:17:22 | * | joast quit (Quit: Leaving.) |
| 21:34:00 | * | amadaluzia joined #nim |
| 22:07:18 | * | skippy8 quit (Quit: WeeChat 4.6.3) |
| 22:35:27 | * | rockcavera is now known as Guest2854 |
| 22:35:27 | * | tiorock joined #nim |
| 22:35:27 | * | Guest2854 quit (Killed (tungsten.libera.chat (Nickname regained by services))) |
| 22:35:27 | * | tiorock is now known as rockcavera |
| 22:37:29 | * | tiorock joined #nim |
| 22:37:29 | * | rockcavera quit (Killed (platinum.libera.chat (Nickname regained by services))) |
| 22:37:29 | * | tiorock is now known as rockcavera |