<< 17-11-2025 >>

01:08:04*Mister_Magister quit (Quit: bye)
01:10:37*Mister_Magister joined #nim
02:00:31*beholders_eye quit (Ping timeout: 240 seconds)
02:42:50*SchweinDeBurg quit (Quit: WeeChat 4.8.0-dev)
02:48:39*SchweinDeBurg joined #nim
02:56:47*tokyovigilante quit (Remote host closed the connection)
03:28:28*rockcavera quit (Remote host closed the connection)
05:50:20*Mister_Magister_ joined #nim
05:54:13*SchweinD1 joined #nim
05:56:41*ftajhii quit (Ping timeout: 256 seconds)
05:56:41*SchweinDeBurg quit (Ping timeout: 256 seconds)
05:56:41*Mister_Magister quit (Ping timeout: 256 seconds)
05:56:43*Mister_Magister_ is now known as Mister_Magister
07:13:43FromDiscord<litlighilit> @mjsdev I used to remeber you've declared `:=` macroSo one possible solution is to accept parameter using `untyped` and↵1. test against AST of empty collection like `[]` and `()`↵2. dispatch ahead to typed version of converters or procs for initalization of `Dyn`↵(@mjsdev)
07:14:37FromDiscord<litlighilit> @mjsdev I used to remeber you've declared `:=` macroSo one possible solution is to accept parameter using `untyped` and↵1. test against AST of empty collection like `[]` and `{}`↵2. dispatch ahead to typed version of converters or procs for initalization of `Dyn`
07:16:36FromDiscord<litlighilit> In this way another benefit is you can also handle `{xxx}` (set literals) other than bitsets
07:23:36FromDiscord<litlighilit> sent a code paste, see https://play.nim-lang.org/#pasty=IEBhGAnl
07:23:56FromDiscord<TFed> is it possible to define header of function that can be overwritten later by function in another .nim library
07:24:55FromDiscord<TFed> i kinda want to have .nim file with objects and some predefined empty functions. The functions will be implemented in another long library
07:26:18FromDiscord<litlighilit> Maybe concept https://nim-lang.org/docs/manual_experimental.html#concepts?
07:26:52FromDiscord<litlighilit> Maybe concept https://nim-lang.org/docs/manual_experimental.html#concepts?↵(like interface or trait in other langs)
07:28:19FromDiscord<litlighilit> Or function pointerOr method https://nim-lang.org/docs/manual.html#methods
07:29:52FromDiscord<TFed> i will try it, thanks
07:39:14FromDiscord<TFed> ambiguous call; both craftconf.{}=(self\: Morph, key\: string, input\: T) [method declared in /home/tfed/.upen/src/upen@43d8fb0a4cf91a635e876956f8ac9b38/upen/lib/craftconf.nim(75, 8)] and craftlib.{}=(self\: Morph, key\: string, input\: T) [method declared in /home/tfed/.upen/src/upen@43d8fb0a4cf91a635e876956f8ac9b38/upen/lib/craftlib.nim(72, 8)] match for\: (Morph, string, string)
07:39:23FromDiscord<TFed> `ambiguous call; both craftconf.{}=(self: Morph, key: string, input: T) \[method declared in /home/tfed/.upen/src/upen@43d8fb0a4cf91a635e876956f8ac9b38/upen/lib/craftconf.nim(75, 8)\] and craftlib.{}=(self: Morph, key: string, input: T) \[method declared in /home/tfed/.upen/src/upen@43d8fb0a4cf91a635e876956f8ac9b38/upen/lib/craftlib.nim(72, 8)\] match for: (Morph, string, string)`
07:39:51FromDiscord<TFed> `ambiguous call; both craftconf.{}=(self: Morph, key: string, input: T) \[method declared in craftconf.nim(75, 8)\] and craftlib.{}=(self: Morph, key: string, input: T) \[method declared in craftlib.nim(72, 8)\] match for: (Morph, string, string)`
07:40:30FromDiscord<TFed> craft conf\:method `{}=`\[T](self\: Morph, key\: string, input\: T) = return\`\`\`
07:41:12FromDiscord<TFed> sent a code paste, see https://play.nim-lang.org/#pasty=hzKqrGeS
07:41:55FromDiscord<TFed> sent a code paste, see https://play.nim-lang.org/#pasty=bUmefnBY
07:45:38FromDiscord<TFed> or maybe i can have some pragma\: {.header.}
07:45:43FromDiscord<TFed> or maybe i can have some pragma\: `{.header.}`
07:56:20FromDiscord<TFed> i found {.base.} is this marker for header function or the one with implementation?
07:56:26FromDiscord<TFed> i found `{.base.}` is this marker for header function or the one with implementation?
08:03:17FromDiscord<systemblue_2010> and guys↵please introduce me some nim written cryptography libraries↵I want to integrate it and add more functions
08:12:18FromDiscord<TFed> it's allowed just `method `{}=`[T](self: Morph, key: string, input: T)` but implementation should be made in the same file where this prototype was declared🤔
08:12:36FromDiscord<TFed> it's allowed just `method `{}=`[T](self: Morph, key: string, input: T)` but implementation should be made in the same file where this prototype was declared🤔
08:37:29*hygo quit (Quit: WeeChat 4.7.1)
09:28:46*beholders_eye joined #nim
11:05:35FromDiscord<litlighilit> Well you seem to misuse method here
11:06:47FromDiscord<litlighilit> i see. in this case `method` is not a suitable way (`method` is used for runtime polymorphism)
11:09:02FromDiscord<litlighilit> Nim disallowed declaration and definition being splitted to different modules.You may use `include` instead of `import` to wrokaround (not recommended however)So why you wanna do so?
11:09:47FromDiscord<litlighilit> In nim declaration and definition shall not be splitted to different modulesYou may use `include` instead of `import` to wrokaround (not recommended however)So why you wanna do so?
11:15:48FromDiscord<litlighilit> if you're just coming from C and that's why you wanna do so,just get rid of this habit in Nim!C has to do so just because C lacks `module` primitive, so it cannot take control of `export` or not `export` naturally. Finally it uses `.h` files to simulate such functionality.In Nim there're `export` or `export marker`https://nim-lang.org/docs/manual.html#procedures-export-marker for you
11:16:32FromDiscord<litlighilit> if you're just coming from C and that's why you wanna do so,just get rid of this habit in Nim!C has to do so just because C lacks `module` primitive, so it cannot take control of `export` or not `export` naturally. Finally it uses `.h` files to simulate such functionality.In Nim there're [`export` statement`](https://nim-lang.org/docs/manual.html#modules-export-statement) or `export marker\`https://nim-lang.org/docs/manual.html#proced
11:16:54FromDiscord<litlighilit> if you're just coming from C and that's why you wanna do so,just get rid of this habit in Nim!C has to do so just because C lacks `module` primitive, so it cannot take control of `export` or not `export` naturally. Finally it uses `.h` files to simulate such functionality.In Nim there're [`export statement`](https://nim-lang.org/docs/manual.html#modules-export-statement) and `export marker`https://nim-lang.org/docs/manual.html#procedu
11:18:28FromDiscord<litlighilit> if you're just coming from C and that's why you wanna do so,just get rid of this habit in Nim!C programmers have to do so just because C lacks `module` primitive, so it cannot take control of `export` or not `export` naturally. Finally it uses `.h` files to simulate such functionality.In Nim there're [`export statement`](https://nim-lang.org/docs/manual.html#modules-export-statement) and `export marker`https://nim-lang.org/docs/manual
13:58:55FromDiscord<mjsdev> In reply to @litlighilit "Or function pointerOr method": I have a number or other things not in the "dynamic" part that are oriented more towards providing some more familiar OO concepts. Regarding sets, it's definitely beyond the scope right now, but may be something I add later. The main reason for the dynamic stuff was to enable no-recompile templating, so the goal was mainly getting to what JSON would natively support which basical
14:08:09FromDiscord<aethrvmn> mratsim showed constantine↵(@systemblue_2010)
15:15:35FromDiscord<litlighilit> mixed typed array, is also what requires being accepted as `untyped` and being AST-rewrite as things like `[toDyn 1, toDyn 2.3, toDyn (1, 'c')]`↵or easier just tranform mixed array as a tuple and reuse tuple's toDyn↵(@mjsdev)
15:17:28FromDiscord<mjsdev> Well... the way what I'm doing works is basically by creating a `dyn` type and various converters. A mixed array is just a `seq[dyn]`
15:17:42FromDiscord<mjsdev> So, from Nim's standpoint, the sequence is not mixed.
15:18:39FromDiscord<mjsdev> That said, I don't have literal syntax support for mixed arrays.
15:29:02FromDiscord<litlighilit> fine, I myself is a heavy macro user 😅
16:24:35FromDiscord<systemblue_2010> In reply to @aethrvmn "mratsim showed constantine (<@1436476641726435469>)": I mean other library
16:24:43FromDiscord<systemblue_2010> (edit) "library" => "libraries"
16:37:48FromDiscord<nasuray> In reply to @systemblue_2010 "I mean other libraries": https://nimpkgs.dayl.in/?query=crypto#/search
16:47:07FromDiscord<ioan0994> Did you have any trouble with the exercises in the "Nim Basics tutorial"? I find it difficult, I'm a complete beginner.
16:47:10FromDiscord<ioan0994> hello
16:53:39FromDiscord<lainlaylie> https://narimiran.github.io/nim-basics/
17:02:57FromDiscord<mjsdev> There has to be a way to store a closures environment in a way that it's not garbage collected whenever
17:03:08FromDiscord<mjsdev> (edit) "closures" => "closure's" | "closure'senvironment in a way that it's not garbage collected whenever ... " added "arc decides."
17:05:43FromDiscord<lainlaylie> In reply to @ioan0994 "Did you have any": i did a few of them and they seem fine. which ones in particular are you having trouble with?
17:10:50FromDiscord<ioan0994> In reply to @lainlaylie "i did a few": with loop exercises
17:18:00FromDiscord<litlighilit> not sure if u're looking for `rawEnv` and [`rawProc`](https://nim-lang.org/docs/system.html#rawProc%2CT)↵(@mjsdev)
17:20:08FromDiscord<mjsdev> No, those don't help... I need to copy the env itself (which means I'd need to know the size)... investigating an alternative
19:42:50*xet7 joined #nim
19:55:54*xet7 quit (Remote host closed the connection)
21:52:07*rockcavera joined #nim
22:39:23*hygo joined #nim
22:52:24FromDiscord<.somechump> Any recommendation for building a GUI for my program?
22:52:33FromDiscord<.somechump> Not sure what the best libraries are for that.
23:59:50FromDiscord<helgas_0t> Is there anyone looking for a senior developer