01:21:33 | FromDiscord | <kapendev> It could prevent some silent bugs in Nim I guess, but probably not an issue if you don't overload a name with 50 different things. |
02:49:03 | FromDiscord | <odexine> In reply to @godalming123 "How do you access": You can’t if you use forced qualification |
03:23:32 | FromDiscord | <heysokam> In reply to @battery.acid.bubblegum "You should probably drop": hard disagree. all it does is make the code explicit |
03:24:54 | FromDiscord | <heysokam> `import A, B, C, D, E` -> `thing(one)` ?? Which `thing` am I calling? no idea without an LSP, IDE or compiler crashing on my misuse of thing because it came from E, but I meant to use it from A |
03:39:52 | * | rockcavera quit (Remote host closed the connection) |
03:59:07 | FromDiscord | <leorize> note that if you use anything with operators, forcing qualification will break them |
04:28:15 | * | ntat joined #nim |
05:00:10 | FromDiscord | <heysokam> sent a code paste, see https://play.nim-lang.org/#pasty=auYsvqEK |
05:14:47 | * | kenran joined #nim |
05:15:05 | * | kenran quit (Remote host closed the connection) |
05:55:16 | Amun-Ra | heysokam: longer and explicit are not mutual exclusive |
06:07:15 | * | ntat quit (Quit: leaving) |
06:20:42 | * | ntat joined #nim |
07:02:07 | FromDiscord | <janakali> sent a long message, see https://pasty.ee/xQmiiskE |
07:02:38 | FromDiscord | <janakali> actually I made it a while ago, but it's now ready for "public beta" |
07:10:55 | FromDiscord | <nnsee> In reply to @janakali "I made a thing:": very nice, but what do you mean exactly by `~/../grabnim` |
07:11:40 | FromDiscord | <nnsee> is that just a shorthand for `~/.local/share/grabnim`? |
07:12:04 | FromDiscord | <janakali> either `~/.local/share/grabnim/` or `%LOCALAPPDATA%/grabnim`↵one for linux/macos/bsd and second is windows |
07:12:08 | FromDiscord | <nnsee> ah okay |
07:12:25 | FromDiscord | <nnsee> just got confused a bit because `../` means something else in paths :p |
07:26:03 | FromDiscord | <pmunch> In reply to @janakali "I made a thing:": Didn't the "choosenim breaks LSP" issue get fixed in the later versions? |
07:32:15 | FromDiscord | <janakali> last time I checked pr was still not accepted, because of lack of testing? |
07:32:47 | FromDiscord | <janakali> ah, it's been merged over a month ago |
07:37:11 | FromDiscord | <janakali> I still believe that shims are buggy and unreliable solution. |
07:37:39 | FromDiscord | <nnsee> agreed 100% |
07:47:59 | FromDiscord | <Laylie> there has not yet been a choosenim release that includes that fix |
07:54:48 | * | nils` quit (Ping timeout: 276 seconds) |
07:59:45 | * | end quit (Ping timeout: 268 seconds) |
08:00:39 | * | bcksl quit (Ping timeout: 276 seconds) |
08:16:52 | FromDiscord | <pmunch> In reply to @janakali "I still believe that": I agree, would it be possible to contribute the junction/symlink fix to choosenim? |
08:17:02 | FromDiscord | <pmunch> In reply to @Laylie "there has not yet": Ah I see, well that's easily fixed |
08:19:42 | * | tokyovigilante quit (Remote host closed the connection) |
08:20:19 | * | bcksl joined #nim |
08:23:04 | * | tokyovigilante joined #nim |
08:25:19 | * | end joined #nim |
08:26:11 | FromDiscord | <janakali> In reply to @pmunch "I agree, would it": in theory - yes, but in practice choosenim is built on shims, and it would not be easy to rewrite big part of it for symlink support. |
08:27:03 | FromDiscord | <janakali> I did try to read and understand choosenim codebase for that reason. And it's definitely above MY level. |
08:28:44 | FromDiscord | <janakali> (edit) "for" => "with" | "reason." => "idea." |
08:52:41 | * | ntat quit (Quit: leaving) |
09:29:29 | FromDiscord | <Robyn [She/Her]> In reply to @kapendev "It could prevent some": yeahh, and in the cases where you're using a function with many different overloads, each module usually has a type you know that belongs to thrm |
09:30:26 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "`import A, B, C,": I'd argue that's something you should already know, by either the signature or by the context, if you can't infer it, your code might need some restructuring |
09:34:29 | FromDiscord | <heysokam> In reply to @battery.acid.bubblegum "I'd argue that's something": if you "already know it" it means it is in your contextual memory, and needs to be there ocupying space↵explicitly giving the context means you don't need to spend any energy accessing that memory, which frees those mental resources for other more important things |
10:09:16 | * | xtr00 quit (Read error: Connection reset by peer) |
10:16:06 | * | xtr00 joined #nim |
10:23:17 | * | xtr00 quit (Read error: Connection reset by peer) |
10:23:52 | * | ntat joined #nim |
10:27:04 | * | xtr00 joined #nim |
10:49:45 | * | nils` joined #nim |
11:08:55 | * | beholders_eye joined #nim |
11:35:09 | * | nils` quit (Ping timeout: 276 seconds) |
11:43:19 | FromDiscord | <kapendev> In reply to @battery.acid.bubblegum "yeahh, and in the": You can still silently change what `doThis(foo)` does by changing an import. |
11:54:22 | * | ntat quit (Quit: leaving) |
12:01:14 | FromDiscord | <Robyn [She/Her]> In reply to @heysokam "if you "already know": isn't that already occupying your memory? even if you know where something comes from, ya still got work out the logic behind the function call |
12:02:17 | FromDiscord | <Robyn [She/Her]> In reply to @kapendev "You can still silently": if you remove the import and replace it with another, sure, but if you don't remove it, then Nim complains about ambiguity |
12:03:11 | * | xtr00 quit (Read error: Connection reset by peer) |
12:08:35 | * | xtr00 joined #nim |
12:13:58 | FromDiscord | <kapendev> Sure, I'm just trying to find potential "problems". |
12:14:11 | FromDiscord | <kapendev> (edit) "find" => "think of" |
12:28:15 | * | amadaluzia joined #nim |
13:03:51 | * | amadaluzia quit (Ping timeout: 252 seconds) |
13:10:35 | FromDiscord | <lainlaylie> it's possible to silently change what a call gets resolved to simply by adding an import if generics of different specificity are involved |
13:10:59 | FromDiscord | <lainlaylie> but i don't remember it ever happening to me |
13:15:15 | * | ntat joined #nim |
13:41:59 | * | nils` joined #nim |
13:47:59 | * | nils` quit (Ping timeout: 244 seconds) |
14:49:11 | * | nils` joined #nim |
15:07:08 | * | amadaluzia joined #nim |
15:25:48 | * | amadaluzia quit (Quit: ZNC 1.9.1 - https://znc.in) |
15:26:46 | * | amadaluzia joined #nim |
16:29:58 | * | beholders_eye quit (Ping timeout: 272 seconds) |
16:45:27 | * | beholders_eye joined #nim |
16:48:27 | * | amadaluzia quit (Quit: ZNC 1.9.1 - https://znc.in) |
16:56:00 | * | amadaluzia joined #nim |
17:00:19 | * | amadaluzia quit (Client Quit) |
17:01:15 | * | amadaluzia joined #nim |
17:11:26 | * | xtr00 quit (Ping timeout: 252 seconds) |
17:24:05 | * | beholders_eye quit (Ping timeout: 248 seconds) |
17:40:44 | * | xtr00 joined #nim |
17:57:40 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#pasty=sEWGGoQH |
18:11:47 | FromDiscord | <Phil> In reply to @user2m "is it possible to": Use -d:configFilePath to a JSON file that you read in at compiletime |
18:11:50 | FromDiscord | <Phil> BOOM, done |
18:12:18 | FromDiscord | <user2m> In reply to @isofruit "Use -d:configFilePath to a": my hero |
18:12:41 | FromDiscord | <user2m> In reply to @isofruit "Use -d:configFilePath to a": where can i find the documentation on this? |
18:14:46 | FromDiscord | <Phil> In reply to @user2m "where can i find": For reading in files at compiletime:↵Look in the nim modules for staticRead (might be named gorge, I forget the more evocative alias for that proc).↵As for reading in that customf lag:↵https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compileminustime-define-pragmas |
18:14:59 | FromDiscord | <Phil> (edit) "customf lag:↵https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compileminustime-define-pragmas" => "custom flag:↵https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-compileminustime-define-pragmas" |
18:15:13 | FromDiscord | <heysokam> gorge is `execCmd` |
18:15:19 | FromDiscord | <Phil> Ah, would be more: `-d:compileTimeConfig=PathToMyConfig` |
18:15:32 | FromDiscord | <Phil> (edit) "`-d:compileTimeConfig=PathToMyConfig`" => "`-d:compileTimeConfig=Path/To/My/Config`" |
18:16:53 | FromDiscord | <Phil> And for parsing the JSON string into an object you can use either std/json or jsony |
18:17:12 | FromDiscord | <demotomohiro> I think `-d:MyDebugEchoLib_ShowTime=true`, `-d:MyDebugEchoLib_ShowLocation=false` is simple and you can write them on config files. |
18:19:21 | FromDiscord | <Phil> Yeh, overall it might be simpler to define these in a nim.cfg file (which automatically applies the flags) and if you absolutely must, you can define yourself an object that merges all these things together.↵↵That would be more nim-ish, rather than trying to roll your own compile-time config mechanism (which, as you can see, isn't too hard) |
18:19:37 | FromDiscord | <Phil> (edit) "things" => "values" |
18:20:23 | FromDiscord | <heysokam> I'd go with `-d:mylib.debug_echo_config_show_time`, but agree 100% |
18:20:33 | FromDiscord | <heysokam> you can have `.` qualifiers for defines |
18:20:50 | FromDiscord | <user2m> In reply to @heysokam "you can have `.`": oh this is cool didn't know that |
18:21:16 | FromDiscord | <user2m> In reply to @demotomohiro "I think `-d:MyDebugEchoLib_ShowTime=true`, `-d:MyDe": yeah this is most likely the way |
18:21:19 | FromDiscord | <heysokam> there is also `{.strdefine.}` and `{.booldefine.}`, which is great for customizable comptime defaults |
18:21:43 | FromDiscord | <heysokam> eg: https://github.com/heysokam/confy/blob/master/src/confy/cfg.nim |
18:21:59 | FromDiscord | <user2m> In reply to @heysokam "there is also `{.strdefine.}`": yeah I'm using those now |
18:22:06 | FromDiscord | <heysokam> there might be an intdefine too, can't remember |
18:22:27 | FromDiscord | <lainlaylie> all the cool kids use `{.define.}` |
18:22:56 | Amun-Ra | what do uncool kids use? |
18:23:17 | FromDiscord | <heysokam> `{.undefine.}` |
18:23:53 | FromDiscord | <heysokam> part of the `un` trend. kids these days 🤷♂️ |
18:24:05 | Amun-Ra | :P |
18:24:35 | Amun-Ra | touché ;) |
18:31:17 | * | beholders_eye joined #nim |
18:31:38 | * | fallback quit (Ping timeout: 265 seconds) |
19:14:26 | * | beholders_eye quit (Ping timeout: 248 seconds) |
19:16:09 | * | beholders_eye joined #nim |
19:29:41 | * | xet7 quit (Remote host closed the connection) |
19:31:05 | * | xet7 joined #nim |
19:43:05 | * | xet7 quit (Remote host closed the connection) |
19:44:26 | * | xet7 joined #nim |
20:01:20 | * | xet7 quit (Quit: Leaving) |
20:05:36 | FromDiscord | <enthus1ast.> In reply to @isofruit "For reading in files": slurp |
20:21:54 | * | om3ga quit (Ping timeout: 244 seconds) |
20:22:50 | * | beholders_eye quit (Ping timeout: 268 seconds) |
20:28:37 | * | amadaluzia quit (Quit: ZNC 1.9.1 - https://znc.in) |
20:32:39 | * | ntat quit (Quit: leaving) |
21:00:39 | * | xet7 joined #nim |
21:10:05 | * | xet7 quit (Remote host closed the connection) |
21:13:34 | * | xet7 joined #nim |
21:52:02 | * | rockcavera joined #nim |
22:25:04 | * | redj_ quit (Ping timeout: 276 seconds) |