00:58:37 | * | rockcavera quit (Remote host closed the connection) |
00:59:24 | FromDiscord | <michaelb.eth> In reply to @mohamed "since ndk comes with": you can replicate that with `nim c --passC:"..."` |
01:48:36 | FromDiscord | <nixfreak> https://github.com/nim-lang/Nim/blob/version-1-6/lib/system/nimscript.nim#L384 wait is function finished , what am I missing |
01:49:11 | FromDiscord | <Elegantbeef> What do you mean? |
01:49:16 | FromDiscord | <nixfreak> sent a code paste, see https://play.nim-lang.org/#ix= |
01:49:51 | FromDiscord | <Elegantbeef> `stdinReadLine` is overidden for nimscript |
01:50:47 | FromDiscord | <nixfreak> So you can't use stdin at all then |
01:52:23 | FromDiscord | <Elegantbeef> What? |
01:52:51 | FromDiscord | <nixfreak> Ok, so you can read stdin in nimScript that you can in bash |
01:52:59 | FromDiscord | <nixfreak> (edit) "can" => "can't" |
01:53:16 | FromDiscord | <Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1131403418662076436/image.png |
01:54:01 | FromDiscord | <nixfreak> Oh , ok that proc is after you echo |
01:54:43 | FromDiscord | <nixfreak> I was confused because the proc says readLineFromStdin: string |
01:54:58 | * | Guest74 joined #nim |
01:55:12 | FromDiscord | <Elegantbeef> What? |
01:55:13 | FromDiscord | <Elegantbeef> It's a proc that returns a string |
01:55:30 | * | Guest74 quit (Client Quit) |
02:00:55 | FromDiscord | <nixfreak> Yeah , ok thanks |
02:09:58 | FromDiscord | <nixfreak> so how would you assign a var to that then? |
02:26:24 | FromDiscord | <bostonboston> `var input = readLineFromStdin()` `echo input` |
02:26:26 | FromDiscord | <bostonboston> ? |
02:30:47 | FromDiscord | <nixfreak> yeah I kept putting var x = echo .... I get it now thanks |
05:16:15 | FromDiscord | <uninnocent> How can I open, view, and edit an exe as an acrhive like I can in 7zip? |
05:29:20 | FromDiscord | <demotomohiro> Learn the file format of exe and read or write it using procs in:↵https://nim-lang.org/docs/io.html |
05:32:47 | FromDiscord | <demotomohiro> Or use https://sourceware.org/binutils/docs-2.40/binutils/objdump.html |
05:45:34 | FromDiscord | <uninnocent> What would be the nimlang equivilent? ↵↵exeData.find([0, 0, 0]) + 3 |
05:50:48 | FromDiscord | <graveflo> you would need to define what that is supposed to mean... Nim does not have any standard library for decoding windows PEs. You'll have to find one or write it yourself |
05:51:55 | * | ntat joined #nim |
05:53:04 | FromDiscord | <uninnocent> sent a code paste, see https://play.nim-lang.org/#ix=4B1p |
05:53:39 | FromDiscord | <graveflo> you just copied and pasted the same thing |
05:57:34 | FromDiscord | <odexine> In reply to @uninnocent "Im talking about ": We have no idea what that does |
06:26:54 | NimEventer | New question by Emilia Qtless: Handling JSON body in HappyX, see https://stackoverflow.com/questions/76727199/handling-json-body-in-happyx |
06:31:40 | * | PMunch joined #nim |
06:38:15 | * | azimut joined #nim |
07:02:48 | * | FromDiscord quit (Remote host closed the connection) |
07:03:01 | * | FromDiscord joined #nim |
09:19:22 | * | cyraxjoe quit (Ping timeout: 252 seconds) |
09:20:06 | * | cyraxjoe joined #nim |
09:27:42 | * | xet7 quit (Remote host closed the connection) |
09:29:25 | * | cyraxjoe quit (Ping timeout: 240 seconds) |
09:30:48 | * | cyraxjoe joined #nim |
09:45:55 | FromDiscord | <enthus1ast> has someone done unix domain sockets in nim? |
09:45:56 | FromDiscord | <enthus1ast> and have some example code? |
10:02:38 | FromDiscord | <spotlightkid> use the `net` stdlib and `newSocket(sockType = AF_UNIX)` ? |
10:29:45 | FromDiscord | <jaar23> hi, did anyone setup nimlangserver with helix before? Tried with neovim, never worked for me, vscode not stable. |
10:37:32 | NimEventer | New Nimble package! librng - RNG for dummies in Nim, see https://github.com/xTrayambak/librng |
10:41:01 | FromDiscord | <enthus1ast> sent a code paste, see https://play.nim-lang.org/#ix=4B29 |
10:41:12 | FromDiscord | <enthus1ast> but the problem i have is with congestion control |
10:41:31 | FromDiscord | <enthus1ast> when i pipe large amount of data in the socket, it gets overwhelmed |
10:42:07 | FromDiscord | <enthus1ast> maybe i must create a protocol, or make the buffer larger somehow |
10:42:50 | FromDiscord | <enthus1ast> i must admit i was not aware that buffering is a thing in unix sockets |
10:43:36 | FromDiscord | <enthus1ast> oh its also not true SOCK\_STREAM does not work, it must be SOCK\_RAW |
10:56:50 | FromDiscord | <demotomohiro> Why that readme say `std/random` is impure?↵As far as I know, it doesnt use C/C++ library. |
10:59:28 | PMunch | No idea.. Looking at the std/random code it's all in Nim.. |
11:01:47 | PMunch | Well someone didn't read the manual on default initialisation: https://github.com/xTrayambak/librng/blob/main/src/librng/mersenne_twister.nim#L75-L388 |
11:15:20 | * | sagax quit (Ping timeout: 272 seconds) |
11:22:56 | FromDiscord | <ieltan> Holy shit lmao |
11:28:38 | FromDiscord | <gogolxdong666> Is nimbus-eth1 sufficient for PoA private block chain? |
11:32:38 | FromDiscord | <odexine> In reply to @PMunch "Well someone didn't read": sheesh |
11:33:04 | FromDiscord | <odexine> also :MonkaS: single space indent |
11:33:07 | * | sagax joined #nim |
11:33:07 | * | sagax quit (Changing host) |
11:33:07 | * | sagax joined #nim |
12:11:02 | NimEventer | New question by Federico: Semantics of `let` assignment in Nim, see https://stackoverflow.com/questions/76729702/semantics-of-let-assignment-in-nim |
12:11:25 | FromDiscord | <spotlightkid> I can successfully send to `nc -l -U /tmp/mysocket` with a nim client using `SOCK_STREAM` and `IPPROTO_IP`, but I can't get a server to work at all, it always fails with `Invalid argument [OSError]` in `recvLine` when tyring to read what the client sends. |
12:15:59 | PMunch | Uhm, the fuck? |
12:16:06 | PMunch | That stackoverflow question |
12:17:54 | PMunch | Like wtf is going on here? https://play.nim-lang.org/#ix=4B2G |
12:18:15 | PMunch | I'm guessing the string resizes under the hood and that's when the let value loses the reference? |
12:20:44 | FromDiscord | <nervecenter> Yeah that sounds like a bug |
12:20:56 | Amun-Ra | https://play.nim-lang.org/#ix=4B2H |
12:21:06 | Amun-Ra | looks like a bug |
12:22:24 | FromDiscord | <ringabout> In reply to @PMunch "I'm guessing the string": Known issue for refc |
12:22:40 | FromDiscord | <ringabout> (edit) "Known" => "A known" |
12:22:51 | PMunch | Really? I've never head of this before |
12:22:55 | PMunch | But it's fixed for ARC? |
12:23:29 | FromDiscord | <spotlightkid> works with `--mm:orc`, yes |
12:24:14 | FromDiscord | <nervecenter> If I had a layman's hunch, I'd say that if `let` did a full copy of dynamic types like string, this should never be an issue, so it's probably trying to do some clever memory sharing that shouldn't be happening. Or that memory sharing is a bug. |
12:24:59 | FromDiscord | <nervecenter> `let` should never try to be clever imo |
12:25:21 | FromDiscord | <ringabout> In reply to @PMunch "Really? I've never head": https://github.com/nim-lang/Nim/issues/13140 |
12:29:25 | FromDiscord | <vindaar> In reply to @PMunch "Well someone didn't read": well, and their benchmark is https://github.com/xTrayambak/librng/blob/main/tests/benchmark.nim#L33-L50 "how fast can we reallocate?" |
12:30:22 | PMunch | Haha, yeah that only benchmarks the sequence resizing :P |
12:32:05 | FromDiscord | <vindaar> In reply to @PMunch "Like wtf is going": cannot reproduce on devel locally. Guess it's some bug on whatever the playground consider `latest` currently? |
12:32:37 | PMunch | 1.6.12, I'm building 1.6.14 now |
12:32:52 | PMunch | But that's probably because devel defaults to ORC isn't it? |
12:32:58 | FromDiscord | <vindaar> yeah, probably |
12:33:06 | FromDiscord | <vindaar> (didn't read the messages in between before writing mine) |
12:46:16 | FromDiscord | <odexine> the bug is already fixed in devel IIRC |
12:46:32 | FromDiscord | <nervecenter> for refc? |
12:46:49 | FromDiscord | <odexine> i just tested it yes it looks like it is |
12:47:02 | FromDiscord | <odexine> oh |
12:47:07 | FromDiscord | <odexine> forgot default changed, let me check |
12:47:32 | FromDiscord | <odexine> nope, still there for devel:refc yeah |
13:36:08 | FromDiscord | <spotlightkid> Doh. My bad, I was trying to `recv` from the server socket, not from the client socket retrieved via `accept()` 🤦 |
13:46:52 | * | PMunch quit (Quit: Leaving) |
13:47:17 | FromDiscord | <spotlightkid> So here's my minimal unix domain socket example with `SOCK_STREAM`\: https://play.nim-lang.org/#ix=4B35 |
13:55:55 | * | rockcavera joined #nim |
14:46:18 | FromDiscord | <michaelb.eth> In reply to @gogolxdong666 "Is nimbus-eth1 sufficient for": ask in the Nimbus discord |
14:47:23 | FromDiscord | <enthus1ast> spotlightkid\: oh, i think i forgot the call to listen in my code... |
14:47:51 | FromDiscord | <enthus1ast> This works of course with raw sockets |
14:48:19 | FromDiscord | <enthus1ast> Yeah nice, thank you spotlightkid |
14:50:46 | FromDiscord | <enthus1ast> In the meantime ive also build a tcp stack for my experiment |
14:53:22 | FromDiscord | <enthus1ast> Im trying to build a new locate, which database is held fresh via the new fanotify api in the linux kernel |
14:53:50 | FromDiscord | <enthus1ast> And the search is done by fzf its quite a hack |
15:10:18 | FromDiscord | <michaelb.eth> In reply to @odexine "nope, still there for": It seems like a nasty bug! 🐛 Should a new issue be opened or 13140 get higher priority in some way? The code Pmunch shared in the playground is trivial and it seems like anybody could easily stubmle on that. |
15:42:00 | * | lucasta joined #nim |
16:50:46 | * | lucasta quit (Remote host closed the connection) |
16:53:42 | * | jmdaemon quit (Ping timeout: 245 seconds) |
17:28:49 | * | jmd_ joined #nim |
17:36:30 | FromDiscord | <mohamed> does nim produce dependency free c code or do I need to include some headers |
17:39:40 | FromDiscord | <jviega> That's a pretty vague question. If you stick to the standard libraries and don't wrap your own C code, you don't need to include any headers, if that's your question. |
17:40:35 | FromDiscord | <mohamed> yeah I mean just a simple hello world |
17:42:15 | FromDiscord | <jviega> No, most users don't really ever notice that C's ever generated or anything like that. |
18:07:21 | FromDiscord | <demotomohiro> If Nim generated C code includes only header files in C stdlib, isn't it dependency free c code? |
18:07:57 | FromDiscord | <jviega> Depends on what you mean by a dependency. Dynamically loaded libraries are still a dependency in many cases. |
18:09:22 | Amun-Ra | it still depends on posix/etc (unless -d=usemalloc is used, etc.) |
18:10:36 | FromDiscord | <jviega> Huh? posix is just a standard. If you dynamically load a library (which you might do w/o knowing), or if you don't work very hard not to dynamically link libraries, you will end up being dependent on the right libraries existing on the systems you're running on. |
18:11:13 | FromDiscord | <nervecenter> If your executable is statically linked and `ldd` says so, then its only dependency is the kernel, which makes it dependency-free |
18:11:47 | Amun-Ra | that's still a kind of dependency |
18:12:22 | FromDiscord | <nervecenter> In a way, yes, at which point the next step is to make the program the kernel and run it raw on a chip with no os |
18:12:49 | FromDiscord | <jviega> FALSE |
18:13:03 | FromDiscord | <nervecenter> But, statically linked means I can run it on basically any Linux system without worry, that's good enough for me |
18:13:09 | FromDiscord | <jviega> dlopen() happens in many places in Nim unless you work REALLY hard |
18:13:10 | Amun-Ra | the next step is libc only dep |
18:13:13 | FromDiscord | <odexine> LDD can only show stuff that’s not program |
18:13:14 | FromDiscord | <odexine> Fuck |
18:13:16 | FromDiscord | <odexine> Okay |
18:13:16 | FromDiscord | <jviega> And even then, don't use openSSL |
18:13:33 | FromDiscord | <jviega> Because the source code only ever dlopen()'s it |
18:14:31 | FromDiscord | <jviega> And once the loader receives one request via dlopen, it will now try to dlopen other crap you needed, because it doesn't know that it's statically linked. |
18:15:14 | FromDiscord | <jviega> We ended up doing a bunch of trickery to carry around openssl and fake out the loader. |
18:15:25 | FromDiscord | <nervecenter> This is why musl is great, because it forces truly static linking by being incompatible with all the glibc usual suspects |
18:15:28 | FromDiscord | <jviega> Fun times, it made me miss Go, which I hate. |
18:15:34 | FromDiscord | <jviega> Still no |
18:15:44 | FromDiscord | <jviega> Nim still calls dlopen() |
18:15:53 | FromDiscord | <jviega> For some things |
18:16:12 | FromDiscord | <nervecenter> wouldn't `ldd` tell you that? Is it not looking for `dlopen()` calls? |
18:16:16 | FromDiscord | <jviega> statically linking musl helps you 0 when the program is asking for dynamic loading |
18:16:19 | FromDiscord | <jviega> Nope |
18:16:27 | FromDiscord | <jviega> dynamic linking != dynamlic loading |
18:16:39 | FromDiscord | <nervecenter> Ah I see |
18:16:44 | FromDiscord | <jviega> You can look at the ELF and figure out what links dynamically |
18:16:47 | FromDiscord | <nervecenter> Linking happens at program load |
18:16:52 | FromDiscord | <jviega> Right. |
18:17:22 | FromDiscord | <jviega> But for some dumb reason, someone must have decided not to load openssl until it's needed. Who knows what other libs do that. |
18:17:41 | FromDiscord | <jviega> Even for the ones that don't, like pcre, getting them to ACTUALLY statically build is a huge PITA |
18:18:16 | FromDiscord | <nervecenter> Is there some way to tell the Nim compiler or gcc to complain if it finds any `dlopen()` calls? |
18:18:46 | FromDiscord | <jviega> The nim language is the thing adding the dlopen calls 🙂 |
18:18:50 | Amun-Ra | I've successfly build a program for amigaos target (no dlopen available) |
18:19:39 | FromDiscord | <jviega> Only thing I believe can't go in statically the way the code is, is openssl. Tho there may be more. And, it's a huge pain to get other things static. |
18:29:37 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "I've successfly build a": Wait↵Nim can compile to Amiga?! |
18:30:08 | Amun-Ra | not directly |
18:30:33 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "not directly": Oh alright↵How then? |
18:31:44 | FromDiscord | <michaelb.eth> sent a code paste, see https://play.nim-lang.org/#ix=4B4f |
18:31:46 | Amun-Ra | this is a fragment of my config.nims for the target: https://dpaste.com/5VYGUAKDK |
18:32:07 | FromDiscord | <jviega> Correct, at least with OpenSSL3. |
18:32:39 | FromDiscord | <jviega> I think it was enough for v1, but v1 is super hot garbage (v3 is not great but significantly better) |
18:53:52 | * | jmd_ quit (Ping timeout: 272 seconds) |
18:56:06 | * | jmd_ joined #nim |
19:06:22 | * | ntat quit (Ping timeout: 258 seconds) |
19:08:01 | * | jmd_ quit (Quit: ZNC 1.8.2 - https://znc.in) |
19:08:22 | * | jmd_ joined #nim |
19:08:25 | * | ntat joined #nim |
19:13:45 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "this is a fragment": Pretty simple so↵does it run well on Amiga? |
19:14:39 | FromDiscord | <System64 ~ Flandre Scarlet> Wait↵If it can run on an Amiga↵That means it can run on... MegaDrive?? |
19:15:00 | Amun-Ra | there are some caveats (I only just started porting) |
19:15:12 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "there are some caveats": Wdym? |
19:16:17 | Amun-Ra | f.e. some things like getAppFilename, paramStr, … need fixing |
19:17:03 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @Amun-Ra "f.e. some things like": Oh alright |
19:31:33 | * | jmd_ quit (Quit: ZNC 1.8.2 - https://znc.in) |
19:31:53 | * | jmd_ joined #nim |
19:41:31 | * | azimut quit (Quit: ZNC - https://znc.in) |
19:42:02 | * | azimut joined #nim |
19:48:14 | * | jmd_ quit (Ping timeout: 246 seconds) |
19:55:52 | FromDiscord | <thesherwood> I know meta has powerful metaprogramming capabilities with templates, macros, and pragmas. Are there any metaprogramming primitives that work at the level of whole files? |
19:57:48 | FromDiscord | <thesherwood> (edit) "meta" => "nim" |
20:01:46 | * | ntat quit (Quit: leaving) |
20:05:45 | FromDiscord | <exelotl> @thesherwood there's source code filters: https://nim-lang.org/docs/filters.html |
20:07:54 | FromDiscord | <thesherwood> @exelotl very nice. that looks like just the thing |
20:08:07 | FromDiscord | <thesherwood> thanks |
20:08:17 | FromDiscord | <exelotl> np! |
20:08:44 | FromDiscord | <exelotl> Additionally `include` can be useful to pull a file into a context where the things it's doing make sense |
20:09:20 | FromDiscord | <thesherwood> Does that basically work like a C include? |
20:09:35 | FromDiscord | <exelotl> Yeah |
20:10:41 | FromDiscord | <thesherwood> Cool. yeah, I'm trying to figure out the simplest way to make top-level definitions public by default rather than private by default |
20:11:04 | FromDiscord | <michaelb.eth> In reply to @thesherwood "Cool. yeah, I'm trying": why? |
20:11:41 | FromDiscord | <thesherwood> I got used to that approach with clojure and generally prefer it |
20:16:37 | FromDiscord | <turtlebasket> Hey all, toying around with some contrived macro examples and wondering\:↵why, when `T: typedesc[anyType]` passed into a function, does `let a = T()` work in the body, but not when the same is passed into a macro? |
20:18:04 | FromDiscord | <turtlebasket> LSP is saying in the body that `T` a NimNode. macro-specific thing? |
20:18:41 | * | jmdaemon joined #nim |
20:23:01 | FromDiscord | <michaelb.eth> In reply to @thesherwood "I got used to": I ❤️ Clojure, btw, and you're free to use whatever setup appeals to and works well for you, but the adage "when in Rome" might be applicable, i.e. I think it's probably better to stick with the lang's defaults and common patterns, unless there is a compelling technical reason not to. |
20:26:53 | FromDiscord | <thesherwood> In reply to @michaelb.eth "I ❤️ Clojure, btw,": If I make something that other people will interact with, I will definitely follow nim conventions. While I'm prototyping, I'd just like to reduce friction. I find that when I forget to export some field on an object, it breaks my flow when I'm working on logic that ends up using that field |
20:27:30 | FromDiscord | <michaelb.eth> sure, I get what you're saying |
20:28:58 | FromDiscord | <nervecenter> I also love Clojure, but I concur, when in Rome. Forgetting and having the compiler complain is a really good way to get into the practice of remembering to apply your `` affixes in the first place. After that, you'll start thinking about when to apply them. Build habits early. |
20:35:45 | FromDiscord | <_gumbercules> Eh, get into a large enough project in Nim and it matters less because of the lack of circular imports |
20:36:29 | FromDiscord | <_gumbercules> Typicially you're going to end up with some kind of types / api module that is going to have to export everything - of course you can still keep implementation details private |
20:49:40 | FromDiscord | <_gumbercules> If you're designing a library I'd think first and foremost about what you want your API to look like, and structure your module layout and project around that. If it's an application, care as much as you want to - your users won't. |
20:50:00 | * | FromDiscord quit (Remote host closed the connection) |
20:50:13 | * | FromDiscord joined #nim |
20:50:39 | FromDiscord | <turtlebasket> read the entire module as a stmtlist and redeclare everything with a `` at the end 🤡 |
20:50:59 | FromDiscord | <_gumbercules> 😄 |
20:51:42 | FromDiscord | <turtlebasket> the one thing I simultaneously love and dislike about nim is that most ridiculous-sounding things are technically not impossible |
21:34:16 | * | zgasma joined #nim |
21:49:34 | Amun-Ra | is there a way to query --cc value? |
21:55:39 | FromDiscord | <Elegantbeef> https://nim-lang.org/docs/compilesettings.html#querySetting%2CSingleValueSetting↵though I think it sets a define |
21:56:07 | FromDiscord | <Elegantbeef> yea `defined(gcc)` works |
21:57:27 | FromDiscord | <spotlightkid> Use `nim dump` to see what you can check for with `defined`. |
21:58:16 | Amun-Ra | so commandLine.querySetting is the way |
21:58:56 | Amun-Ra | Elegantbeef: defined(gcc) has to be set by something else than --cc |
22:01:45 | FromDiscord | <demotomohiro> !eval echo defined(gcc) |
22:01:50 | NimBot | true |
22:02:59 | FromDiscord | <bostonboston> sent a code paste, see https://play.nim-lang.org/#ix=4B4V |
22:03:47 | FromDiscord | <demotomohiro> `foo(bar:3)` |
22:04:19 | FromDiscord | <bostonboston> Perfect |
22:05:07 | FromDiscord | <Phil> That's an option, writing yourself a `init` or `initFoo` proc may make that a bit nicer because that moves it to `initFoo(3)` |
22:05:26 | FromDiscord | <Phil> Basically writing a constructor proc |
22:05:40 | FromDiscord | <Phil> Which there are packages out there to generate that code for you |
22:06:47 | FromDiscord | <bostonboston> True I could |
22:07:11 | FromDiscord | <Phil> Just wanted to point out an option so you can see your choices ^^ |
22:07:21 | FromDiscord | <Phil> (edit) "Just wanted to point out an option so you can see your ... choices" added "possible" |
22:10:23 | FromDiscord | <Elegantbeef> Could also do `Foo = distinct int` 😛 then it's just `Foo(3)` |
22:16:11 | FromDiscord | <bostonboston> I would if that was the only parameter |
22:16:33 | FromDiscord | <Elegantbeef> Right then make a constructor |
22:16:45 | FromDiscord | <bostonboston> Critique away https://media.discordapp.net/attachments/371759389889003532/1131711317636563115/IMG_20230720_171632.jpg |
22:17:29 | FromDiscord | <Elegantbeef> Using anonymous tuples in a typebloc, capitalised field names, screaming constants! |
22:17:30 | FromDiscord | <turtlebasket> shouldn't members be camelCase |
22:17:38 | FromDiscord | <Elegantbeef> Picture of a screen |
22:17:46 | FromDiscord | <Elegantbeef> What's to like here 😄 |
22:17:53 | FromDiscord | <jmgomez> xD |
22:18:51 | FromDiscord | <bostonboston> I'm a huge case agnostic person, if it's all caps or bad case it's cause I copied it |
22:19:43 | FromDiscord | <bostonboston> Likely from 13 year old c code |
22:20:37 | FromDiscord | <Elegantbeef> Amun-Ra the compiler does set the different compiler names from `--cc` |
22:20:39 | FromDiscord | <Elegantbeef> so `defined(gcc)` is set by default on linux |
22:20:41 | FromDiscord | <turtlebasket> not a big fan of case agnostic myself, 'specially because of examples like this 😒 |
22:21:14 | FromDiscord | <turtlebasket> the one convincing thing I've heard in its favor is it makes FFI easier |
22:21:19 | FromDiscord | <turtlebasket> (allegedly) |
22:21:27 | FromDiscord | <bostonboston> Although I kinda forgor that you can name tuple fields so thanks for that |
22:23:05 | FromDiscord | <Elegantbeef> image.png https://media.discordapp.net/attachments/371759389889003532/1131712913841868940/image.png |
22:23:07 | FromDiscord | <Elegantbeef> amun this for you 😄 |
22:23:13 | FromDiscord | <Elegantbeef> Why are you using a tuple though |
22:23:50 | FromDiscord | <bostonboston> In reply to @turtlebasket "shouldn't members be camelCase": Likely, but all except for TestInputs are tied to real world things and that's how their named so that's how it is in my object |
22:24:23 | FromDiscord | <bostonboston> And if TestInputs were camel case it would just be out of place at this point 🙂 |
22:25:00 | FromDiscord | <bostonboston> (edit) "their" => "they're" |
22:27:25 | FromDiscord | <bostonboston> In reply to @Elegantbeef "Why are you using": Funsies |
22:29:52 | FromDiscord | <bostonboston> Technically it's because I'm porting this from a C# that uses arrays to eliminate repetitive code that was ported from a C firmware that uses very repetitive code and didn't want to use arrays or repetitive code |
22:30:02 | FromDiscord | <bostonboston> And tuples felt natural |
22:34:58 | * | azimut quit (Ping timeout: 240 seconds) |
22:57:42 | * | jmdaemon quit (Ping timeout: 272 seconds) |
23:15:26 | * | jmd_ joined #nim |
23:20:21 | * | cyraxjoe quit (Ping timeout: 245 seconds) |
23:20:31 | * | MightyJoe joined #nim |