<< 23-05-2024 >>

00:06:49FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=ubOgjIWO
00:51:24FromDiscord<demotomohiro> strtabs have a bug?
01:01:37FromDiscord<sOkam! 🫐> In reply to @demotomohiro "strtabs have a bug?": idk, to be honest. how can I figure it out? any tips?
01:07:00FromDiscord<demotomohiro> How about to find out a minimum code reproduce same error and create an issue to Nim repo.
01:07:48FromDiscord<demotomohiro> Same error happens with latest devel Nim?
01:07:52FromDiscord<sOkam! 🫐> could try with parsing just `1'f128` into a PNode 🤔
01:08:10FromDiscord<sOkam! 🫐> In reply to @demotomohiro "Same error happens with": yes, just compiled it and it does happen the same
01:13:33FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=cSzecbaP
01:14:10FromDiscord<sOkam! 🫐> something is passing a nil `t` into the `myhash` function, which has no railguards for nil cases 🤷‍♂️
01:31:26FromDiscord<sOkam! 🫐> @demotomohiro found the error, actually
01:31:55FromDiscord<sOkam! 🫐> `renderer.nim` does not have a case for `nkFloat128Lit` in the `atom()` function
01:32:51FromDiscord<sOkam! 🫐> and then it passes a `g.config` that has a `nil` symbols object
01:32:58FromDiscord<sOkam! 🫐> (edit) "and then it passes a `g.config` that has a `nil` symbols object ... " added "down the error chain"
01:34:29FromDiscord<sOkam! 🫐> so, I think I found two bugs, not 1 🙈
01:37:03FromDiscord<sOkam! 🫐> sent a code paste, see https://play.nim-lang.org/#pasty=HJSdVZvE
01:37:10FromDiscord<demotomohiro> > Error: internal error: renderer.atom nkFloat128Lit↵This error message means `renderer.atom` proc doesn't support nkFloat128Lit but we didn't aware that.
01:37:45FromDiscord<sOkam! 🫐> yeah, for sure. but the `SIGILL` after confused me a lot
01:38:10FromDiscord<sOkam! 🫐> something should define that `g.config.symbols` value if its going to error like that in renderer.atom 🤷‍♂️
01:45:49FromDiscord<sOkam! 🫐> @demotomohiro oh wait, could it be that `my` compiler doesn't initalize `g.config` at parser time, so then it fails because it is assuming it would be initialized at that time _(or during one of the semantic passes)_?
01:46:47FromDiscord<sOkam! 🫐> if that's the case, it would be an error created by my parser, and not really a bug in nim 🤔
01:48:04FromDiscord<demotomohiro> In reply to @heysokam "<@288750616510201856> oh wait, could": I don't know much about how Nim compiler works.
01:49:17FromDiscord<sOkam! 🫐> Reference of how I hook into the early compiler↵https://github.com/heysokam/slate/blob/b44df2477c0c72d3e7d6e8832d7ee2114a2b62a1/src/slate/nimc.nim#L66-L98
01:49:47FromDiscord<sOkam! 🫐> I never figured out how to initialize those configref objects, so I sticked with this naive solution
01:50:00FromDiscord<sOkam! 🫐> (edit) "I never figured out how to initialize those configref objects, so I sticked with this naive solution ... " added "temporarily"
02:05:22*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
02:24:06*SEP quit (Ping timeout: 268 seconds)
03:30:10FromDiscord<classid> yo guys got some great projects to learn nim?
03:35:19FromDiscord<sOkam! 🫐> In reply to @classid "yo guys got some": projects that you will write, or projects to read?
03:35:38FromDiscord<classid> In reply to @heysokam "projects that you will": to write
03:38:34*SchweinDeBurg joined #nim
03:39:20FromDiscord<sOkam! 🫐> In reply to @classid "to write": search for `cool tiny project ideas` for C or Rust (or any other systems programming lang) and write it Nim while following the Nim syntax tutorial ✍️
03:40:42FromDiscord<sOkam! 🫐> there is nothing specific to nim that makes it unique for writing an entry beginner project (other than the easy to learn syntax). nim is a systems lang like any other
03:41:13FromDiscord<sOkam! 🫐> any other lang ideas will work for nim just fine. google will flood you with them on a quick search
03:52:34FromDiscord<classid> oh, so is nim as low level as C?
03:52:51FromDiscord<sOkam! 🫐> yep
03:53:05FromDiscord<sOkam! 🫐> but also has all of the nice high level features of python
03:53:50FromDiscord<sOkam! 🫐> nim's stdlib is actually good (unlike python's)... and provides a LOT of high level tools (unlike C, which is all DIY)
04:14:27*beholders_eye quit (Ping timeout: 252 seconds)
04:40:28FromDiscord<maker_of_mischief> is there a way to easily play a sine wave in nim?
04:40:45FromDiscord<maker_of_mischief> like a proc where you just go play_sine(1000hz,1s) or something?
04:43:27FromDiscord<Elegantbeef> Would be easy to use sdl2 or wrap what you need from miniaudio(or other small library)
05:19:20FromDiscord<stoneface86> I would also recommend miniaudio
05:27:05FromDiscord<sOkam! 🫐> sdl is the only "easy" out of those options
05:27:48FromDiscord<sOkam! 🫐> miniaudio is good, but wrapping it and getting used to the API is not necessarily easy as calling a function like requested 🤷‍♂️
05:28:43FromDiscord<sOkam! 🫐> (edit) "miniaudio is good, but wrapping it and getting used to the API is ... notas" added "definitely" | "necessarily" => "as" | "function" => "function," | "notaseasy as calling afunction,like ... requested" added "the question"
05:28:55FromDiscord<Elegantbeef> Isn't the sdl way the exact same as the miniaudio way?
05:29:16FromDiscord<sOkam! 🫐> idk sdl. but just by adding the wrapping part its gonna be harder
05:29:17FromDiscord<Elegantbeef> Both require a sample handler and to send samples afaik
05:54:20FromDiscord<basilajith> How do you connect to a Postgres instance on Amazon Aurora using Nim?
06:10:51*Jjp137 quit (Ping timeout: 260 seconds)
06:11:43*Jjp137 joined #nim
06:11:51*GreaseMonkey quit (Remote host closed the connection)
06:12:09*SchweinDeBurg quit (Read error: Connection reset by peer)
06:12:58*greaser|q joined #nim
06:17:53*SchweinDeBurg joined #nim
06:24:42*PMunch joined #nim
06:28:20*rockcavera quit (Remote host closed the connection)
07:04:14*ntat joined #nim
07:10:24FromDiscord<madonuko> I kinda need help https://media.discordapp.net/attachments/371759389889003532/1243098690705559604/gGrc1zo.png?ex=66503d5f&is=664eebdf&hm=b4ea12f02b5d67e957210ad68886dd458d93e152900fc6f63f8acda74dc97cdd&
07:10:35FromDiscord<madonuko> I think I ICEd nim
07:10:41FromDiscord<Elegantbeef> You did
07:10:44FromDiscord<madonuko> I know
07:10:59FromDiscord<Elegantbeef> `semMagic` means you have some usage of a magic incorrectly
07:11:54FromDiscord<madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=NBJBvMYr
07:12:09FromDiscord<madonuko> so the magic comes from std
07:14:48FromDiscord<madonuko> what should I do
07:15:22FromDiscord<Elegantbeef> You can either use a debug compiler to find the issue
07:15:29FromDiscord<Elegantbeef> Or just make a min repro
07:16:18FromDiscord<madonuko> I have basically like
07:16:25FromDiscord<madonuko> limited the issue by commenting out the code
07:16:31FromDiscord<madonuko> it's from the `fungus` package
07:16:37FromDiscord<madonuko> not std
07:16:39FromDiscord<madonuko> I was wrong
07:17:14FromDiscord<Elegantbeef> Damn fungus getting in everything
07:20:17FromDiscord<Elegantbeef> Well if you can give me a minrepro I'll certainly check it out due to not wanting to be the culprit of a ICE 😄
07:21:26FromDiscord<madonuko> lol
07:21:39FromDiscord<madonuko> I'm still commenting code
07:22:00FromDiscord<madonuko> I've made it into a file and it's 400 lines of code from fungus + my code
07:23:20FromDiscord<madonuko> ok it's 100 now
07:27:46FromDiscord<madonuko> sent a long message, see https://pasty.ee/JmqeItap
07:28:12FromDiscord<Elegantbeef> I mean I'm the author of those packages 😄
07:31:25FromDiscord<madonuko> never noticed tbh
07:36:12FromDiscord<Elegantbeef> Ah it's the `distinctBase` inside `AdtChild`
07:38:07FromDiscord<Elegantbeef> For some reason the `$` is being invoked for `10 is int`
07:38:32FromDiscord<madonuko> no it's invoked for check
07:38:35FromDiscord<madonuko> I think
07:38:50FromDiscord<Elegantbeef> Which it should not be
07:38:58FromDiscord<Elegantbeef> Which means the compiler is being funny
07:40:51FromDiscord<Elegantbeef> I have a fix for it, give me a moment
07:41:51FromDiscord<Robyn [She/Her]> Damn, wanted to see if I could of made something like Fungus but with a way closer to how Rust can define enums
07:42:01FromDiscord<Robyn [She/Her]> Turns out I can't, but Fungus is pretty damn good
07:42:44FromDiscord<Elegantbeef> Yea but metagn wins the better implementation inside their skinsuit
07:42:46FromDiscord<madonuko> https://github.com/nim-lang/Nim/blob/version-2-0/lib/pure/unittest.nim#L690-L691
07:42:55FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Yea but metagn wins": Metagn?
07:43:06FromDiscord<madonuko> well I'm just purely guessing but I think `check` as a macro does invoke `$`
07:43:07FromDiscord<Elegantbeef> That's their name
07:43:08FromDiscord<madonuko> a lot
07:43:43FromDiscord<Elegantbeef> Yea I found the issue
07:43:53FromDiscord<Elegantbeef> Inside `distinctBase(T)` there is an optional parameter
07:44:04FromDiscord<Elegantbeef> For some reason it's not getting properly compiled and erroring
07:44:16FromDiscord<madonuko> wtf (?)
07:44:36FromDiscord<Elegantbeef> It makes sense if you understand how funny the Nim compiler can be
07:44:56FromDiscord<madonuko> In reply to @chronos.vitaqua "Turns out I can't,": everytime I want to include something into like my collection of syntactic sugar stuff, I find someone who made it already (`questionable` and idk)
07:44:59FromDiscord<xkonti> sent a code paste, see https://play.nim-lang.org/#pasty=XyEgeMkR
07:45:05FromDiscord<Elegantbeef> Yes
07:45:33FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=WPUlkOGo
07:45:39FromDiscord<Elegantbeef> But that will not be verbatim
07:46:24FromDiscord<Elegantbeef> sent a code paste, see https://play.nim-lang.org/#pasty=YbgxZMxL
07:46:40FromDiscord<madonuko> something something dedent?
07:46:45FromDiscord<madonuko> (edit) "dedent?" => "`strutils.dedent`?"
07:47:11FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "That's their name": What's metagn tho
07:47:20FromDiscord<Elegantbeef> A person?
07:48:23FromDiscord<Robyn [She/Her]> Oooh, I was confused
07:48:42FromDiscord<Elegantbeef> You don't say
07:49:11FromDiscord<madonuko> uhhh what https://media.discordapp.net/attachments/371759389889003532/1243108451417198714/image.png?ex=66504676&is=664ef4f6&hm=16a6ffeea2ceb15440c4cacaf75217691e50ead1411f7c37ad9ba3a99288f48d&
07:49:18FromDiscord<madonuko> can't search metagn
07:49:22FromDiscord<madonuko> ??
07:49:24FromDiscord<Robyn [She/Her]> I prefer Fungus' syntax tbh, but Skinsuit is pretty alright
07:49:33FromDiscord<Robyn [She/Her]> In reply to @madonuko "can't search metagn": https://github.com/metagn/skinsuit
07:49:37FromDiscord<Elegantbeef> Skinsuit is better cause it enables sub unions of the fields
07:50:06FromDiscord<Elegantbeef> Plus it does not require the silly DSL
07:50:13FromDiscord<pmunch> In reply to @xkonti "Is it possible to": This sounds like a bad idea..
07:50:34FromDiscord<Elegantbeef> Well I thought I had a fix for this fungus issue, but the compiler is being a prick
07:51:07FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=rQdnhvIQ
07:53:17*SchweinDeBurg quit (Read error: Connection reset by peer)
07:53:29FromDiscord<Elegantbeef> Respectfully, what
07:53:30FromDiscord<Elegantbeef> You named it an `enum` first off
07:53:30FromDiscord<Elegantbeef> Which I hate you for
07:53:31FromDiscord<Elegantbeef> Then you introduced this weird syntax where you can use call notation to give a type to a enum branch, but that means you have no field accessor there
07:53:32FromDiscord<Elegantbeef> So how would one extract the data?
07:53:56FromDiscord<madonuko> let statements…?
07:54:06FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Which I hate you": :)
07:54:07FromDiscord<madonuko> ~~the rust way~~
07:54:46FromDiscord<Elegantbeef> Sure but what about `Meb(a: int)`?
07:55:05FromDiscord<Elegantbeef> Why does that have a name but `Meb(B)` does not
07:55:09FromDiscord<Elegantbeef> What's the name of the field
07:55:10FromDiscord<madonuko> isn't that the same as `MyEnum[_, int]`
07:55:27FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Then you introduced this": That's how Rust does it :P↵And you'd use `get`
07:55:32FromDiscord<madonuko> oh…
07:55:35FromDiscord<madonuko> that's what you mean…
07:55:42FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Sure but what about": That also works
07:55:55FromDiscord<Elegantbeef> I honestly dislike the unnamed field that fungus supports
07:56:03FromDiscord<madonuko> so beef is saying it should be a nested struct
07:56:47FromDiscord<madonuko> what https://media.discordapp.net/attachments/371759389889003532/1243110361847169075/image.png?ex=6650483e&is=664ef6be&hm=dab910d4c8c3342abd65b211ef3f4bb24f895c3cb24f61441d6de57d1d643d1c&
07:57:17FromDiscord<madonuko> am I not understanding this correctly
07:57:21FromDiscord<Elegantbeef> Fungus does support that style syntax but I do think it's bleh
07:57:26FromDiscord<Elegantbeef> But it's of course an object cause why would it be `enum`
07:57:37FromDiscord<Elegantbeef> finally cannot have a value
07:57:38FromDiscord<Elegantbeef> except can
07:57:50FromDiscord<madonuko> oh right
07:57:50FromDiscord<Elegantbeef> finally runs code after the except handlers are done
07:57:54FromDiscord<madonuko> what the hell was I writing
07:59:14*SchweinDeBurg joined #nim
07:59:20*fallback quit (Ping timeout: 260 seconds)
07:59:40*ntat quit (Quit: Leaving)
08:00:23FromDiscord<Elegantbeef> So presently I think that `unittest.check` incorrectly binds `$` which is causing this issue
08:00:24FromDiscord<Elegantbeef> But I'm quite tired so who knows
08:02:27FromDiscord<madonuko> sent a code paste, see https://play.nim-lang.org/#pasty=pgGEgiTc
08:02:41FromDiscord<madonuko> or should I call it something else
08:03:10FromDiscord<madonuko> (P.S. equivalent to `fmt"{text:<10}"`)
08:05:31FromDiscord<Elegantbeef> Eh fixed the issue with fungus by fixing the compiler
08:06:20FromDiscord<madonuko> LMAO
08:08:17FromDiscord<Robyn [She/Her]> Hm
08:08:38FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "Eh fixed the issue": PR time?
08:09:49*fallback joined #nim
08:10:06FromDiscord<madonuko> probably
08:14:25FromDiscord<Elegantbeef> Yea it was https://github.com/nim-lang/Nim/pull/23640
08:14:29FromDiscord<Elegantbeef> The silliest PR
08:19:33*krux02 joined #nim
08:24:02FromDiscord<madonuko> so… apparently no one tried to import fungus inside a unittest
08:24:05FromDiscord<madonuko> (edit) "unittest" => "unit test"
09:47:52*attah_ joined #nim
09:48:29*attah quit (Ping timeout: 256 seconds)
09:48:30*attah_ is now known as attah
09:57:39*attah quit (Ping timeout: 252 seconds)
09:58:08*attah joined #nim
11:47:35*Gliptic joined #nim
11:52:17*def- quit (Quit: -)
11:52:42*def- joined #nim
12:06:09*beholders_eye joined #nim
12:42:27*beholders_eye quit (Read error: Connection reset by peer)
12:48:03*beholders_eye joined #nim
12:48:08*attah quit (Ping timeout: 256 seconds)
12:48:11*attah_ joined #nim
12:52:42*attah_ quit (Ping timeout: 256 seconds)
12:52:53*attah joined #nim
13:02:43*lucasta joined #nim
13:42:34*beholders_eye quit (Ping timeout: 256 seconds)
13:42:39*coldfeet joined #nim
13:46:58*coldfeet quit (Remote host closed the connection)
13:51:12*def- quit (Quit: -)
13:51:38*def- joined #nim
14:10:16*rockcavera joined #nim
14:19:49*PMunch quit (Quit: Leaving)
14:54:58*krux02 quit (Remote host closed the connection)
15:17:40*lucasta quit (Quit: Leaving)
15:22:58*SEP joined #nim
15:41:57FromDiscord<nocturn9x> quick question
15:42:01FromDiscord<nocturn9x> how would I use bitfields in nim
15:42:14FromDiscord<nocturn9x> say I have two uint8s that I know fit into 6 bits
15:42:44FromDiscord<polylokh_39446> <https://nim-lang.org/docs/manual.html#implementation-specific-pragmas-bitsize-pragma>
15:44:38FromDiscord<nocturn9x> thx :)ù
15:44:40FromDiscord<nocturn9x> (edit) ":)ù" => ":)"
15:45:19*def- quit (Quit: -)
15:45:35*def- joined #nim
16:14:29*ntat joined #nim
16:22:06*beholders_eye joined #nim
16:35:43*beholders_eye quit (Ping timeout: 268 seconds)
17:00:09*beholders_eye joined #nim
17:27:48*SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev)
17:34:18FromDiscord<absenth> In Nim, if I have an array with 2 billion strings in it. Is it possible to make it so when I `echo MyArray` each item is printed on a new line without using a loop? I tried adding `'
17:34:31FromDiscord<absenth> (edit) "`'" => "`\n ` to each string, but it just printed the `\n`"
17:36:54FromDiscord<that_dude.> You could probably use join or $, but I bet that allocates a new string. What's wrong with a loop? Could you just move it to a different function to hide it?
17:38:18FromDiscord<absenth> The use case is ultimately trying to minimize the number of calls to std.out. Taking the same code that echoed each of 2 billion lines as they were generated, and instead putting the values into the array, and then printing the array once results in pretty massive performance improvements.... 1190ms vs 86.5ms
17:39:10FromDiscord<odexine> echo flushes every time it is called, its prolly quicker to `stdout.write(string & '\n')` then flush at the end
17:39:28FromDiscord<absenth> https://github.com/absenth/stream-projects/tree/main/Archive/fizzbuzz/nim -- if you grab and build the /std and /array versions↵and benchmark with hyperfine (or run like `time fizzbuzz > /dev/null`)
17:39:34FromDiscord<odexine> In reply to @odexine "echo flushes every time": (of course, optimisation if you dont concat, i meant that as an idea)
17:40:39FromDiscord<absenth> I did a similar optimization with my solution in Golang, which went from 911ms down to 168ms using an array and one call to std.out.
17:41:08FromDiscord<absenth> I admit all of this started when I found out python buffers writes by default.
17:41:44FromDiscord<absenth> I couldn't understand why Python was completing in almost half the time the nieve go implementation was.
17:41:57FromDiscord<absenth> that sent me down a hell of a rabbit hole 🙂
17:59:32FromDiscord<polylokh_39446> yep, I/O syscalls themselves are slow, so using them economically helps a lot.
18:00:49FromDiscord<polylokh_39446> there was a Forth implementation of 'wc' that was comically slow because it read each byte in individually. Something an old Forth programmer might easily not think of, not thinking of having to go through an OS at all.
18:01:15FromDiscord<polylokh_39446> you can try that as well by contrast: deliberately pessimize your code and do per-byte I/O
18:03:30FromDiscord<absenth> Similarly, it turns out your choice in terminal emulator can also have a big impact on how things run, or appear to run.↵on a Mac, iterm2 is the second slowest terminal I've seen (behind the terminal embedded in Jetbrains IDEs..... Fleet excluded...)
18:04:23FromDiscord<absenth> I run a lot of Terraform and Ansible for work, and those spit a TON of text to the screen. Turns out a faster terminal emulator actually feels better to use, which if you had told me I'd care even 5 years ago I might have laughed at you 🙂
18:06:48FromDiscord<polylokh_39446> I got laughed at just recently for trying to tell someone that terminals are slow.
18:09:04FromDiscord<polylokh_39446> sent a long message, see https://pasty.ee/eXKmtMlo
18:10:30FromDiscord<nervecenter> If you're just file reading and the files aren't unreasonably large, Nim makes it easy to just read all the bytes into memory and operate on them as a string
18:10:44FromDiscord<nervecenter> Dunno if that even applies
18:11:31FromDiscord<polylokh_39446> and cligen has some good code operate on memory-mapped files
18:12:14*ntat quit (Quit: Leaving)
19:04:43*def- quit (Quit: -)
19:05:00*def- joined #nim
19:38:02NimEventerNew thread by argl: Which IDE to use in 2024?, see https://forum.nim-lang.org/t/11637
19:44:11FromDiscord<michaelb.eth> In reply to @absenth "I run a lot": kitty 🐱 for the win!
19:44:35FromDiscord<absenth> I haven't tested Kitty if I'm honest.
19:45:34FromDiscord<absenth> sent a code paste, see https://play.nim-lang.org/#pasty=pkaavLvy
19:45:46FromDiscord<michaelb.eth> I like it, and it’s extremely, but there are other good options, whatever terminal emulator works best for you and your workflow is usually the nest choice
19:45:48FromDiscord<absenth> I imagine Kitty is on par with Alacritty/Wezterm
19:45:58FromDiscord<michaelb.eth> extremely fast
19:46:03FromDiscord<polylokh_39446> how does <https://github.com/Swordfish90/cool-retro-term> do?
19:46:50FromDiscord<absenth> @polylokh_39446 I did share my git repo above. (those numbers were on an M2 Pro Macbook Pro) running the Golang/Array solution.
19:46:51FromDiscord<polylokh_39446> where optimization might not be the goal: <https://github.com/Swordfish90/cool-retro-term/issues/153>
19:46:57FromDiscord<michaelb.eth> In reply to @polylokh_39446 "how does <https://github.com/Swordfish90/cool-retro": lol, probably not very well
19:47:11FromDiscord<polylokh_39446> ah I see, the fizzbuzz repo
19:47:26FromDiscord<absenth> the sad realization was iterm2. Think about how many people use iterm2.
19:47:38FromDiscord<absenth> terminal.app doesn't support 256 color, so I get moving away from that.
19:47:41FromDiscord<absenth> but holy crap is iterm slow.
19:48:09FromDiscord<michaelb.eth> I used iTerm2 for many years, then tried Kitty and after a few days never looked back
19:48:32FromDiscord<absenth> https://media.discordapp.net/attachments/371759389889003532/1243289482237706391/four-terminals.png?ex=6650ef0f&is=664f9d8f&hm=0298a252d491616ee1ef90e4fd7206d390055e3396f54407e54eb85bf7f8faeb&
19:48:40FromDiscord<michaelb.eth> but tbf I never spent much time with WezTerm, Alacritty, et al.
19:48:57FromDiscord<absenth> I honestly think the answer is find something that works and stop messing with it 🙂
19:49:09FromDiscord<absenth> I was a Roxterm user for a long time on linux.
19:49:57FromDiscord<absenth> Kitty, and honestly Ghostty both make me angry as they requires me to `$ infocmp -x | ssh user@server -- tic -x -` in a lot of cases.
19:50:20FromDiscord<michaelb.eth> there’s any automatic kitten for that
19:50:27FromDiscord<michaelb.eth> (edit) "any" => "an"
19:50:29FromDiscord<absenth> on OSX alacritty doesn't get most of the window components (like resizable window frames etc.). Which is why I landed on wezterm.
19:50:41FromDiscord<absenth> it was low friction, fast, and largely just worked.
19:51:08FromDiscord<absenth> only reason I started using Ghostty was because I got an invite to the private beta, when they found out I spend like 10h every day looking at terminals. 🙂
19:52:35FromDiscord<michaelb.eth> https://sw.kovidgoyal.net/kitty/faq/#i-get-errors-about-the-terminal-being-unknown-or-opening-the-terminal-failing-or-functional-keys-like-arrow-keys-don-t-work↵↵https://sw.kovidgoyal.net/kitty/kittens/ssh/
19:52:35FromDiscord<absenth> I really need to spend a bunch more time learning to use Nim. I'm pretty sure I'm doing most of it wrong. 🙂
19:53:14FromDiscord<absenth> I'll for sure give kitty another look.
19:58:45FromDiscord<threefour> Ah, been using Alacritty for the last 4 or so years. Was gonna recommend that. Looks like you crossed it out though.
19:59:21FromDiscord<absenth> Alacritty is great, just not so much on osx. 🙂
20:01:04FromDiscord<threefour> Fair. I didn't know it had issues on there.
20:01:59FromDiscord<leorize> there's also wezterm that run on osx
20:02:15FromDiscord<absenth> Wezterm is what I was using prior to the Ghostty invite
20:02:29FromDiscord<absenth> I still have it installed, and honestly still think I prefer it.
20:26:12*def- quit (Quit: -)
20:44:48*def- joined #nim
20:50:36*def- quit (Quit: -)
20:50:58*def- joined #nim
21:38:04*krux02 joined #nim
21:44:45*krux02_ joined #nim
21:47:17*krux02 quit (Ping timeout: 240 seconds)
22:03:10*cnx quit (Ping timeout: 268 seconds)
22:10:22FromDiscord<Robyn [She/Her]> Hey Beef, when Funus says it supports a subset of generics, what does that mean exactly? No` T: object`?
22:10:57FromDiscord<Elegantbeef> It means it supports what it says it supports and going outside of that may invite dragons
22:14:50FromDiscord<Robyn [She/Her]> Fair enough
22:15:22*cnx joined #nim
22:17:11FromDiscord<juancarlospaco> Respect the fungus, see what happened on The last of us...
22:31:14FromDiscord<Robyn [She/Her]> Does Nim still have case statement macros? I just saw https://github.com/chocobo333/AlgebraicDataTypes/?tab=readme-ov-file#pattern-mathing and it looked neat
22:31:26FromDiscord<Elegantbeef> Yes it does
22:31:39FromDiscord<Elegantbeef> I personally dislike them
22:31:45FromDiscord<Robyn [She/Her]> Hm, might see if I can hack up something for fungus :p
22:31:54FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "I personally dislike them": Oh? Why?
22:32:12FromDiscord<Elegantbeef> It overloads `case` which is used in multiple places and is not compatible
22:32:21FromDiscord<Elegantbeef> I mean you can just change `match` slightly and get it working with fungus
22:32:30FromDiscord<Robyn [She/Her]> I'd probably prefer a `match a ... of A: ... of B: ...` statement or so but I don't understand how that works
22:32:46FromDiscord<Robyn [She/Her]> In reply to @Elegantbeef "I mean you can": I was looking at that but macro magic still goes over my head
22:32:49FromDiscord<albassort> when handling postgres: is it faster to create bulk insert statements then send them over or is it equally fast to just send them INSERT by INSERT
22:33:01FromDiscord<Elegantbeef> Prefer what robyn?
22:33:12FromDiscord<albassort> I assume the only speed benefit is sending less bytes because you're sending less of the bytes that make up INSERT
22:34:51FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=fCCObUuM
22:35:04FromDiscord<Elegantbeef> Bleh
22:35:42FromDiscord<Robyn [She/Her]>
22:46:27FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=HVpYJMiK
22:48:30FromDiscord<Robyn [She/Her]> Question is now... Do I wanna change my code to use `fungus`' macros for AST stuff? Hm
22:48:59FromDiscord<Elegantbeef> If you want to depend on a macro for very little benefit
22:49:35FromDiscord<Robyn [She/Her]> I like how it looks :>
22:50:27FromDiscord<Robyn [She/Her]> Also I have a lot of names shared between variants and currently prefix it with the enum value's initials
22:50:56FromDiscord<Robyn [She/Her]> `name` field for an `EnumField` is `efName`, for a `StructField` it's `sfField`, etc
22:51:10FromDiscord<Elegantbeef> Have fun then
22:51:20FromDiscord<Robyn [She/Her]> Thank you :)
22:52:14FromDiscord<Robyn [She/Her]> Oh
22:52:28FromDiscord<Robyn [She/Her]> Issue
22:53:15FromDiscord<Robyn [She/Her]> I have type definitions in one block defined like this https://paste.ecorous.org/ulujedajoj.pl
22:53:58FromDiscord<Robyn [She/Her]> Doesn't seem like I can do this with `adtEnum` currently so I'm gonna have to hack it a bit... Painful but oh well
22:54:19FromDiscord<Elegantbeef> Welcome to why skinsuit is better
22:54:56FromDiscord<Robyn [She/Her]> I just don't like having to do `_: T`
22:58:48FromDiscord<Robyn [She/Her]> sent a code paste, see https://play.nim-lang.org/#pasty=MPcdRboN
22:59:44FromDiscord<Robyn [She/Her]> Error is `/tmp/test.nim(2, 9) Error: expression expected, but found '='` (also gives a warning about spacing but that's irrelevant