00:01:41 | * | beholders_eye joined #nim |
00:08:14 | * | lucasta quit (Quit: Leaving) |
00:25:52 | * | beholders_eye quit (Ping timeout: 252 seconds) |
02:01:11 | FromDiscord | <sir.niklas> I want to ask a fantastic question. Are the users marked (APP) actual users or bots? And if user how you have the tag APP? |
02:02:27 | FromDiscord | <Elegantbeef> We're bridged from either Matrix or IRC |
02:10:39 | FromDiscord | <zumi.dxy> damn I wish we had bots that are funny |
02:22:56 | * | lucasta joined #nim |
02:27:27 | FromDiscord | <Elegantbeef> I'll try |
02:46:08 | * | khazakar quit (Read error: Connection reset by peer) |
02:46:39 | * | khazakar joined #nim |
03:04:19 | FromDiscord | <rb3.nim> sent a code paste, see https://play.nim-lang.org/#pasty=BguPCNgm |
03:04:32 | FromDiscord | <rb3.nim> (edit) "https://play.nim-lang.org/#pasty=QGYERDdG" => "https://play.nim-lang.org/#pasty=YecZIyqP" |
03:06:14 | FromDiscord | <rb3.nim> The reason I need this is that I'm taking the `typed` ast of something like `main` and generating code in another language, but I can't get the ast of math operations on `const` values because they resolve to constants |
03:07:09 | FromDiscord | <rb3.nim> (edit) "constants" => "computed constants. I've doing `getImpl` on intlits for example, but just results in an error." |
03:07:15 | FromDiscord | <rb3.nim> (edit) "The reason I need this is that I'm taking the `typed` ast of something like `main` and generating code in another language, but I can't get the ast of math operations on `const` values because they resolve to computed constants. I've ... doing" added "tried" |
03:07:26 | FromDiscord | <rb3.nim> (edit) "The reason I need this is that I'm taking the `typed` ast of something like `main` and generating code in another language, but I can't get the ast of math operations on `const` values because they resolve to computed constants. I've tried doing `getImpl` on intlits for example, but ... just" added "that" |
03:07:53 | FromDiscord | <that_dude.> Maybe take a look at something like dumpast? It may help |
03:08:15 | FromDiscord | <that_dude.> https://nim-lang.org/docs/macros.html#dumpAstGen.m%2Cuntyped |
03:09:52 | FromDiscord | <rb3.nim> Thanks, ya I considered using `untyped` macros instead so I can get the raw asts, but I need `typed` to resolve types in expressions |
03:10:16 | FromDiscord | <rb3.nim> (edit) "Thanks, ya I considered using `untyped` macros instead so I can get the raw asts, but I need `typed` to resolve types in expressions ... " added "like `let a = computeValue()`" |
03:12:19 | FromDiscord | <that_dude.> I found this proc. Maybe it's useful? I'm not that deep in macros https://nim-lang.org/docs/macros.html#parseExpr%2Cstring%2Cstring |
03:13:15 | FromDiscord | <that_dude.> tbh I'm suprized that you have a nim ast representation that also has optimizations. |
03:13:41 | FromDiscord | <that_dude.> I didn't know that nim goes out of it's way to optimize this stuff |
03:14:13 | FromDiscord | <that_dude.> (edit) "I didn't know that nim goes out of it's way to optimize this ... stuff" added "stuff. I assumed it just lets the c compiler take care of this" |
03:14:49 | FromDiscord | <rb3.nim> Ya I found it surprising. I can get the syms of templates and consts unless they are used in a math operation |
03:15:25 | FromDiscord | <that_dude.> does using distincts help at all? |
03:15:31 | FromDiscord | <that_dude.> (edit) "distincts" => "distinct types" |
03:15:59 | FromDiscord | <that_dude.> That feels kinda hacky though tbh. |
03:16:44 | FromDiscord | <that_dude.> In what scenario would you want to preserve the 1+1? I personally don't see the issue with letting it happen |
03:17:07 | FromDiscord | <rb3.nim> That would probably work, but I'd have to define all the operations for them myself, which is a bit tedious |
03:18:20 | FromDiscord | <rb3.nim> I need the ast of a + a so the macro system of the language I'm targeting can resolve the symbols itself |
03:20:19 | FromDiscord | <that_dude.> My intuition is saying that this is only happening because `a` is guaranteed to be an int with `+` defined. |
03:20:49 | FromDiscord | <that_dude.> So I bet if you have a custom type, it won't get optimized like that |
03:21:14 | FromDiscord | <rb3.nim> Ya custom types don't have this issue |
03:21:22 | FromDiscord | <that_dude.> intLit vs ident |
03:35:18 | * | rockcavera quit (Remote host closed the connection) |
04:00:35 | FromDiscord | <eamonnmr> This is a tough one to google, I know you can do custom `foo[bar]` behavior by overloading the `\`[]\`` function... is there a corresponding way to overload something to change the behavior of `foo[bar] = qux` |
04:02:02 | FromDiscord | <rb3.nim> sent a code paste, see https://play.nim-lang.org/#pasty=PvESKwNg |
04:02:20 | FromDiscord | <rb3.nim> (edit) "https://play.nim-lang.org/#pasty=RMhjQxAA" => "https://play.nim-lang.org/#pasty=pktPiWBu" |
04:02:35 | FromDiscord | <rb3.nim> (edit) "https://play.nim-lang.org/#pasty=ElwAhvGk" => "https://play.nim-lang.org/#pasty=oOGAZyXI" |
04:04:40 | FromDiscord | <eamonnmr> Sweet thanks |
04:39:12 | * | ntat joined #nim |
04:39:20 | FromDiscord | <k0ts> Here I would say "good thing it's in the manual so you don't have to Google it", but I can't, because it's not |
04:39:24 | FromDiscord | <k0ts> https://nim-lang.org/docs/tut2.html#object-oriented-programming-properties |
04:54:55 | FromDiscord | <zumi.dxy> > Note that this document is somewhat obsolete as the manual contains many more examples of the advanced language features. |
04:54:58 | FromDiscord | <zumi.dxy> sigh... |
05:03:38 | * | lucasta quit (Quit: Leaving) |
05:30:09 | * | SchweinDeBurg quit (Quit: WeeChat 4.5.0-dev) |
05:30:31 | * | SchweinDeBurg joined #nim |
06:07:44 | * | ntat quit (Quit: Leaving) |
06:36:19 | * | termer quit (Quit: ZNC 1.8.2+deb2build5 - https://znc.in) |
07:11:07 | * | mfg joined #nim |
07:45:31 | * | termer joined #nim |
07:58:33 | * | ntat joined #nim |
08:52:08 | * | ryuukk quit (Read error: Connection reset by peer) |
08:52:52 | * | ryuukk joined #nim |
09:06:18 | FromDiscord | <nocturn9x> In reply to @nocturn9x "randomly just die": so no one has any idea why this could be happening or how to debug it? |
09:07:23 | FromDiscord | <zumi.dxy> it's not OOM related is it? |
09:07:32 | FromDiscord | <nocturn9x> I don't think so? |
09:07:42 | FromDiscord | <nocturn9x> The threads don't get any exception or anything |
09:07:47 | FromDiscord | <nocturn9x> guess I could set up a signal handler |
09:08:00 | FromDiscord | <nocturn9x> but the weird thing is when I call `joinThread()` the whole process just hangs |
09:08:09 | FromDiscord | <nocturn9x> even if I ensure that the thread is running before doing so |
09:08:12 | FromDiscord | <nocturn9x> something is _very_ wrong |
09:09:16 | * | krux02 joined #nim |
09:09:21 | FromDiscord | <nocturn9x> I'll try a system update and a reboot, although I already rebooted yesterday and that didn't fix it |
09:09:31 | FromDiscord | <nocturn9x> it only started happening recently, I've been running this program for weeks with no issues |
09:09:54 | FromDiscord | <nocturn9x> and another server I own which runs a bare metal instance of Rocky Linux instead of it being virtualized via Proxmox has no issues either |
09:30:17 | FromDiscord | <nocturn9x> okay so they're not dying https://media.discordapp.net/attachments/371759389889003532/1281547010419458108/image.png?ex=66dc1d29&is=66dacba9&hm=0914574009310578ff4db9aec9c25a9885472dff3a8686f01de16016c76af10b& |
09:30:23 | FromDiscord | <nocturn9x> they're just at 0% CPU usage???? |
09:30:47 | FromDiscord | <leorize> that meant they're stuck |
09:31:26 | FromDiscord | <nocturn9x> but stuck on what |
09:31:32 | FromDiscord | <nocturn9x> the only shared state is an atomic counter |
09:31:41 | FromDiscord | <nocturn9x> it doesn't happen on other systems |
09:31:45 | FromDiscord | <nocturn9x> why just on these VMs? |
09:32:58 | FromDiscord | <nnsee> gdb attach and have a look |
09:33:43 | FromDiscord | <zumi.dxy> I/O? |
09:34:00 | FromDiscord | <nocturn9x> on an atomic integer? |
09:34:13 | FromDiscord | <nocturn9x> plus, it's not like they all die at once |
09:34:17 | FromDiscord | <nocturn9x> it's staggered |
09:34:25 | FromDiscord | <nocturn9x> one, then two, three and finally the fourth |
09:36:19 | FromDiscord | <leorize> are you using channels? |
09:36:25 | FromDiscord | <leorize> or osproc? |
09:36:46 | FromDiscord | <nocturn9x> nope and nope |
09:37:06 | FromDiscord | <nocturn9x> the thing is this was not happening before |
09:37:07 | FromDiscord | <nocturn9x> it's a new issue |
09:37:50 | FromDiscord | <nocturn9x> sent a code paste, see https://play.nim-lang.org/#pasty=hgyszTTj |
09:37:56 | FromDiscord | <nocturn9x> this is about all I get from `gdb <pid>` |
09:38:17 | FromDiscord | <leorize> type `bt` to get a trace |
09:38:24 | FromDiscord | <leorize> just the current frame is not useful |
09:40:17 | FromDiscord | <nocturn9x> sent a code paste, see https://play.nim-lang.org/#pasty=afgwruYF |
09:40:24 | FromDiscord | <nocturn9x> `findBestLine` etc. is my code |
09:41:06 | FromDiscord | <nocturn9x> the relevant code: <https://git.nocturn9x.space/nocturn9x/heimdall/src/branch/master/heimdall/heimdallpkg/datagen/generate.nim>, specifically `generateData` is the thread proc |
09:41:49 | FromDiscord | <leorize> it's certainly sleeping \:p |
09:42:05 | FromDiscord | <leorize> type `info threads` to see all threads |
09:42:08 | FromDiscord | <nocturn9x> sent a code paste, see https://play.nim-lang.org/#pasty=DFIflGui |
09:42:11 | FromDiscord | <nocturn9x> ok well I know the culprit |
09:42:21 | FromDiscord | <nocturn9x> but that piece of code doesn't trigger on other machines??? |
09:42:30 | FromDiscord | <nocturn9x> I'm so confused |
09:42:34 | FromDiscord | <leorize> races are weird |
09:42:43 | FromDiscord | <nocturn9x> but they happen consistently on these two systems |
09:42:44 | FromDiscord | <nocturn9x> and nowhere else |
09:43:31 | FromDiscord | <nocturn9x> small explainer: when the search is done (i.e. has reached depth == 255) and no limit has expired, the function will just wait for a stop command indefinitely |
09:43:50 | FromDiscord | <nocturn9x> however it is not possible for this to happen like, ever, because depth 255 is basically unreachable |
09:44:02 | FromDiscord | <nocturn9x> so there must be something causing it to break out of the earlier loop without triggering any limits |
09:44:11 | FromDiscord | <nocturn9x> which makes no sense, cuz if that were the case it'd be reproducible |
09:44:30 | FromDiscord | <nocturn9x> (edit) "however it is not possible for this to happen like, ever, because depth 255 is basically unreachable ... " added "except in very very simple positions" |
09:45:15 | FromDiscord | <nocturn9x> I'll try getting rid of the loop and see if that fixes it |
09:46:26 | FromDiscord | <nocturn9x> that seems to have been the culprit. bruh. |
09:46:49 | FromDiscord | <nocturn9x> time to figure out _why_ |
10:10:44 | * | beholders_eye joined #nim |
10:36:40 | * | def- quit (Quit: -) |
10:52:10 | * | def- joined #nim |
10:53:00 | * | beholders_eye quit (Ping timeout: 246 seconds) |
11:25:25 | * | beholders_eye joined #nim |
11:34:13 | FromDiscord | <zumi.dxy> Is there a `results` package that works with pattern matching packages like `patty` or `gara`? I did make my own type that works with patty but I'm feeling a bit insecure |
11:40:49 | * | beholders_eye quit (Ping timeout: 260 seconds) |
11:49:23 | * | ntat quit (Quit: Leaving) |
11:57:33 | FromDiscord | <k0ts> How about using `results` and writing a case statement macro for it? |
11:59:21 | FromDiscord | <zumi.dxy> The Results type in there is private |
11:59:50 | FromDiscord | <zumi.dxy> You need to use get() isErr() isOk() and the rest |
12:00:00 | FromDiscord | <zumi.dxy> the ? operator is pretty nice though |
12:00:41 | FromDiscord | <zumi.dxy> (edit) "The ... Results" added "fields of the" |
12:01:19 | FromDiscord | <zumi.dxy> Or I could use the map stuff too... but... eh |
12:13:01 | * | ntat joined #nim |
12:30:21 | * | krux02 quit (Remote host closed the connection) |
13:03:21 | om3ga_ | Guys, is there anything like parseUint16? |
13:06:36 | om3ga_ | seems no, please ingnore the question |
13:11:57 | FromDiscord | <nnsee> seems fairly easy to implement something like that, no? not exactly sure what your requirements are (whether you expect it to do bounds checks or not) https://play.nim-lang.org/#pasty=NpUeAPlX |
13:13:40 | om3ga_ | nnsee, thanks, yeah, I expected something what already present in parseutils |
13:27:00 | * | lucasta joined #nim |
14:16:57 | * | Artea quit (Quit: ZNC 1.8.2 - https://znc.in) |
14:23:16 | * | Artea joined #nim |
15:12:44 | * | Artea quit (Quit: ZNC 1.8.2 - https://znc.in) |
15:13:40 | * | mfg quit (Ping timeout: 272 seconds) |
15:20:46 | * | Artea joined #nim |
15:25:21 | FromDiscord | <basilajith> How can I read in a csv file (encoded in UTF-16LE; don't ask why) and convert it to UTF-8 using `std/encodings`? |
15:25:35 | FromDiscord | <basilajith> (edit) removed "in" |
15:27:29 | FromDiscord | <basilajith> sent a code paste, see https://play.nim-lang.org/#pasty=UkplcHDg |
15:28:13 | FromDiscord | <basilajith> (edit) "https://play.nim-lang.org/#pasty=sCfIIHlh" => "https://play.nim-lang.org/#pasty=sOuaCOuD" |
15:31:44 | FromDiscord | <nervecenter> sent a code paste, see https://play.nim-lang.org/#pasty=TQfYbtUV |
15:32:07 | FromDiscord | <nervecenter> That's the easy answer, anyways |
15:32:56 | FromDiscord | <nervecenter> Could probably split the lines and put them in the variable in the first place |
15:33:01 | FromDiscord | <basilajith> Oh...method chaining works on this. |
15:33:08 | FromDiscord | <nervecenter> (edit) "variable" => "let definition" |
15:34:40 | FromDiscord | <nervecenter> sent a code paste, see https://play.nim-lang.org/#pasty=WJAJNfpE |
15:35:36 | FromDiscord | <nervecenter> They're nice dataframes, the API is decent and it's muuuuuuuuuuch faster than Pandas |
15:36:19 | FromDiscord | <nervecenter> https://scinim.github.io/Datamancer/datamancer.html |
15:36:32 | FromDiscord | <nervecenter> https://scinim.github.io/Datamancer/dataframe.html |
15:36:51 | FromDiscord | <nervecenter> https://scinim.github.io/getting-started/basics/data_wrangling.html |
15:51:42 | FromDiscord | <fabric.input_output> how fast is it compared to polars? |
15:54:12 | * | Artea quit (Ping timeout: 272 seconds) |
16:34:03 | FromDiscord | <nervecenter> No idea |
16:58:31 | FromDiscord | <Robyn [She/Her]> out of curiosity, what do nim folk think of Nimskull? |
17:06:30 | FromDiscord | <Robyn [She/Her]> _Robyn [She/Her] sends snowfall ❄️_ |
17:06:38 | FromDiscord | <Robyn [She/Her]> damn, weird |
17:15:42 | FromDiscord | <basilajith> Thanks @nervecenter ! |
17:19:20 | * | m5zs7k_ joined #nim |
17:19:40 | * | m5zs7k quit (Read error: Connection reset by peer) |
17:27:53 | * | m5zs7k_ is now known as m5zs7k |
17:28:23 | * | lucasta quit (Quit: Leaving) |
18:04:24 | FromDiscord | <solitudesf> In reply to @chronos.vitaqua "out of curiosity, what": they removed bunch of language features and most of their work is targeted at compiler development itself, so after a year of following it and seeing nothing but refactoring, i lost all interest. and fracturing already fragile userbase of nim is not a good look. |
18:14:53 | FromDiscord | <arm_3_d> In reply to @chronos.vitaqua "out of curiosity, what": From my point of view, yet another new language doesn’t really matter. Good tooling is far more important. Sure, you might admire a clever type system or impressive speed at first, but that excitement fades quickly when you hit a wall of poorly functioning tools. At the end of the day we just need to get shit done quickly. |
18:35:41 | * | krux02 joined #nim |
18:40:10 | FromDiscord | <Phil> In reply to @arm_3_d "From my point of": You say that, but at the same time that compiler team is also directly involved in e.g. providing tools/procs/concepts for multithreading in nim and that can be a pretty massive painpoint |
18:41:23 | * | ntat quit (Quit: Leaving) |
18:41:31 | FromDiscord | <Phil> There are also weird bits and bobs here that aren't showstoppers, but lead to unexpected use of generics/templates here and there.↵Honestly, I'm not too opposed with a nim featureset frozen at 1.6, refactored to get more bug freeness topped off with a rocksolid multithreading lib |
18:42:14 | FromDiscord | <Phil> I'm not saying they're perfect or anything, but there is validity as to why they're doing what they're doing in my eyes. |
18:44:38 | FromDiscord | <fabric.input_output> who says things can't be backported |
18:46:14 | FromDiscord | <Phil> In reply to @fabric.input_output "who says things can't": I'm not saying that, I'm saying that time is finite. Working on a feature means not working on a bug etc.↵Which is the nature of the beast, because most devs are just open source contributors and its undestandable that bug-hunting isn't the most enjoyable task in general |
18:46:27 | FromDiscord | <fabric.input_output> yeah |
18:46:36 | FromDiscord | <arm_3_d> Mostly agree. I think I become too dependent to tools like LSP and having hard time out of comfort zone. Besides my rant, I like Nim for supporting old platforms. There is no single modern language which can target ancient PCs |
18:47:00 | FromDiscord | <fabric.input_output> standing on the shoulders of giants |
18:47:12 | FromDiscord | <Phil> Standing on the shoulders of a whole lot of C code 😄 |
18:47:24 | FromDiscord | <arm_3_d> Yes love that |
18:48:39 | FromDiscord | <arm_3_d> This fact alone is a killer feature for my current work |
18:49:44 | FromDiscord | <fabric.input_output> what are some major features that are missing in 1.6? |
18:50:35 | FromDiscord | <Phil> From 2.0? None that I recall. There are several crucial bugfixes in 2.0 and onwards that 1.6 doesn't have, but on the feature front itself, nothing that affected me too much |
18:50:40 | FromDiscord | <Phil> I think default assignments came with 2.0 |
18:50:55 | FromDiscord | <Phil> Which we had constructor for which has other benefits as well |
18:51:27 | FromDiscord | <fabric.input_output> so I guess nimskull isn't that much different from current nim stable feature wise? |
18:51:46 | FromDiscord | <Phil> Overall I'd honestly expect you could port one over to the other and either should work |
18:52:11 | FromDiscord | <Phil> The main thing you should keep in mind though is that you have no guarantees it will stay that way |
18:52:17 | FromDiscord | <Elegantbeef> There are differences like Nim allows `T` destructors and has a `=wasMoved` hoo |
18:52:19 | FromDiscord | <Elegantbeef> hook\ |
18:52:34 | FromDiscord | <Elegantbeef> Skull also does not have async in the stdlib |
18:53:00 | FromDiscord | <fabric.input_output> I don't really use those so I guess I could try it |
18:53:10 | FromDiscord | <Elegantbeef> Guess I should say `a: T` destructors |
18:54:09 | FromDiscord | <Elegantbeef> For points or skull it actually kills `{.threadvar.}`s and threads can be moved |
18:55:20 | FromDiscord | <Phil> Just give me some brain dead way to do actors |
18:55:32 | FromDiscord | <Phil> One that doesn't lead to data-races |
18:55:39 | FromDiscord | <Phil> I can't debug that shit anymore, that legit burned me out |
18:55:40 | FromDiscord | <Elegantbeef> You want to go to theatre school not programming |
18:56:19 | FromDiscord | <Elegantbeef> So stop doing it and just do the typical producer consumer |
18:57:36 | FromDiscord | <Phil> I mean, it's now been long enought that sufficient amounts of my memory were replaced with react native knowledge, but IIRC I had problems in general with getting message from A to B without data-race nor memory leak while using async scenarios |
18:58:10 | FromDiscord | <Phil> As in, scenarios where a message may create async work on another thread and I just want that thread to chunk through the async work while its waiting for the next message |
18:59:25 | FromDiscord | <Elegantbeef> Can always avoid async and just use selectors like it's the year 1803 |
18:59:49 | FromDiscord | <leorize> you're on Linux, just use insideout and forget about all this async thing |
19:00:50 | FromDiscord | <Phil> In reply to @Elegantbeef "Can always avoid async": I'll eventually get around to actually dealing with selectors |
19:00:55 | FromDiscord | <Phil> But it is not this day for another year at least |
19:01:14 | FromDiscord | <Phil> It's one of those things I can feel calling to me on the horizon |
19:01:27 | FromDiscord | <Phil> I have not yet mastered the crap in front of me, so it can stay there |
19:01:34 | FromDiscord | <Phil> (edit) |
19:01:49 | FromDiscord | <Elegantbeef> Selectors are like async for the person that does not want to fight async |
19:02:01 | FromDiscord | <Elegantbeef> Though leo will say just use cps |
19:02:03 | FromDiscord | <Phil> In reply to @Elegantbeef "Selectors are like async": But I already bought the boxing gloves |
19:02:31 | FromDiscord | <Elegantbeef> Yea but you do not need much to use selectors, just add your file handles with their flags to the selector then select them when you want to give up work |
19:02:52 | FromDiscord | <Elegantbeef> Iterate the available events and process them |
19:03:36 | FromDiscord | <fabric.input_output> In reply to @isofruit "One that doesn't lead": erlang ;) |
19:04:14 | FromDiscord | <Phil> In reply to @fabric.input_output "erlang ;)": See, I hear erlang, then I get curious about writing GUI in erlang and all I get is "It's a really nice Backend language" |
19:04:29 | FromDiscord | <nervecenter> In reply to @arm_3_d "Mostly agree. I think": I maintain a 27k line Nim project, 150 files, using just Sublime. Many IDE tools are either overrated or meant for million-line projects where many devs are stepping on each other's toes or where the whole thing just can't fit in one person's head. |
19:04:47 | FromDiscord | <fabric.input_output> In reply to @isofruit "See, I hear erlang,": https://github.com/ScenicFramework/scenic |
19:04:59 | FromDiscord | <fabric.input_output> also look up liveview native |
19:05:28 | FromDiscord | <fabric.input_output> also erlang has wxwidgets |
19:05:38 | FromDiscord | <Phil> Fair shout nerve:↵To provide context for my statements: I have a ~10k LoC webdev backend that I maintain based on prologue, and I contribute(d) to a couple libs and maintain a couple small libs myself. |
19:08:14 | FromDiscord | <Robyn [She/Her]> In reply to @solitudesf "they removed bunch of": can't say i see the issue when skull have worked on squashing bugs by improving the existing code all together, and skull also prioritises continuation passing style instead of async which is nice |
19:08:21 | FromDiscord | <fabric.input_output> In reply to @isofruit "See, I hear erlang,": also "It's a really nice Backend language" does not mean anything |
19:08:27 | FromDiscord | <fabric.input_output> about frontend |
19:09:29 | FromDiscord | <Phil> In reply to @fabric.input_output "also "It's a really": What I meant by that is that when folks talk about it in GUI context's I've mostly seen them talk about using something else for frontend and rendering the colorful pixels on screen and use erlang for what those colorful pixels communicate with and that runs the business logic of the app |
19:23:48 | FromDiscord | <fabric.input_output> In reply to @isofruit "What I meant by": you use nim to do both things using owlkettle :^) |
19:24:47 | FromDiscord | <Phil> In reply to @fabric.input_output "you use nim to": I'm aware, the lack of focus on talking about erlang as a FE lang implies less developed frameworks though, which means more work for me 😄 |
19:25:03 | FromDiscord | <Phil> The fact that scenic had 2k stars spells good things though |
19:25:22 | FromDiscord | <fabric.input_output> In reply to @isofruit "I'm aware, the lack": you're already doing plenty of work trying to get threading and whatever to work tho :P |
19:25:51 | FromDiscord | <Phil> Not really, as I lately haven't been doing much of anything bar doing work and surviving the temperatures |
19:26:08 | FromDiscord | <Phil> Also fixing bugs in my backend |
19:26:32 | FromDiscord | <fabric.input_output> also erlang isn't really something you should go for imo. better to use elixir, it's better in every way. it even has lisp macros. I think you might like it |
19:27:14 | FromDiscord | <Phil> Elixir I heard even less FE stuff about outside of webdev |
19:27:22 | FromDiscord | <Phil> And for webdev I already have my bespoken stack languages |
19:28:26 | FromDiscord | <fabric.input_output> webdev and phoenix are the way it's becoming popular but you can use it for any sort of backend whatever thing |
19:29:22 | FromDiscord | <fabric.input_output> elixir also works in embeded with nerves |
19:29:28 | FromDiscord | <fabric.input_output> (edit) "embeded" => "embedded" |
19:29:30 | FromDiscord | <yummy_licorice> Do sequences in nim support random access? |
19:30:16 | FromDiscord | <fabric.input_output> In reply to @yummy_licorice "Do sequences in nim": yeah. that's one of the main features |
19:30:22 | FromDiscord | <yummy_licorice> Ok ty |
19:37:43 | * | xet7 joined #nim |
20:03:01 | FromDiscord | <albassort> ok so im having an issue |
20:03:11 | FromDiscord | <albassort> i wanna read keyboard events and i want it to be platform agnostic |
20:03:25 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=LbGnlSfa |
20:03:46 | FromDiscord | <albassort> in c it would be simple, just import input.h, and the compiler constructs this for you |
20:03:56 | FromDiscord | <albassort> (edit) "you" => "you, just cast it" |
20:04:24 | FromDiscord | <albassort> but i dont think i can directly do the same compiler determined object in nim. no? |
20:05:10 | FromDiscord | <Elegantbeef> You can use `when` inside objects just fine |
20:05:31 | FromDiscord | <albassort> oh |
20:05:45 | FromDiscord | <albassort> i feel like im doing this wrong also for some reason |
20:12:16 | FromDiscord | <albassort> sent a code paste, see https://play.nim-lang.org/#pasty=CXAMOCBC |
20:12:46 | FromDiscord | <albassort> (edit) "https://play.nim-lang.org/#pasty=buiQuFQN" => "https://play.nim-lang.org/#pasty=LkrtZjdP" |
20:13:53 | FromDiscord | <Robyn [She/Her]> weird |
20:14:27 | FromDiscord | <albassort> ah the size of the typedesc is 8 |
20:15:11 | FromDiscord | <albassort> wait i was reading the wrong thing lole |
20:31:00 | * | coldfeet joined #nim |
20:55:28 | * | coldfeet quit (Remote host closed the connection) |
20:59:39 | * | beholders_eye joined #nim |
21:10:02 | * | Guest17 joined #nim |
21:10:19 | * | Guest17 quit (Client Quit) |
21:42:58 | FromDiscord | <melmass> Can we "echo" from macro or debug it better somehow? |
21:43:30 | FromDiscord | <Elegantbeef> You can echo from macros |
21:43:35 | FromDiscord | <Elegantbeef> `echo myNode.treeRepr` |
21:43:40 | FromDiscord | <melmass> I'm doing a simple codegen to generate ts types from a nim backend to be used in webui but I feel a bit lost |
21:44:15 | FromDiscord | <melmass> In reply to @Elegantbeef "You can echo from": Should I pass a flag to `nimble build / nim c` I'm only seing linter messages |
21:45:00 | FromDiscord | <melmass> oh ok 🤦♂️ |
21:45:08 | FromDiscord | <melmass> nimble build strips them |
21:45:12 | FromDiscord | <Elegantbeef> No echo will print |
21:45:15 | FromDiscord | <melmass> not `nim c` |
21:46:17 | FromDiscord | <Elegantbeef> nimble build probably does not show the compiler stdout |
21:46:19 | FromDiscord | <Elegantbeef> So what do you expect! |
21:49:47 | FromDiscord | <zumi.dxy> unless you throw `--verbose` at it |
22:28:48 | FromDiscord | <albassort> does anyone know a way to convert a keycode to a character that works for both x11 and wayland |
22:29:38 | FromDiscord | <albassort> (edit) "keycode" => "scancode" |
22:45:16 | FromDiscord | <albassort> https://github.com/omentic/nim-xkbcommon is how |
23:01:14 | * | xet7 quit (Remote host closed the connection) |
23:15:33 | FromDiscord | <__nycto__> Okay. I feel like I'm making a dumb mistake and I need another set of eyes. I'm trying to lazily calculate a value, then cache the calculated value. What am I doing wrong here? https://play.nim-lang.org/#pasty=TOeklvKD |
23:16:49 | FromDiscord | <__nycto__> (edit) "calculated value." => "result." |
23:18:04 | FromDiscord | <metagngn> that's an arc bug I'm pretty sure |
23:18:09 | FromDiscord | <metagngn> https://github.com/nim-lang/Nim/issues/17552 |
23:19:15 | FromDiscord | <__nycto__> Damn -- thanks |
23:19:15 | FromDiscord | <metagngn> you can get around it by adding `{.nodestroy.}` to the proc |
23:19:49 | FromDiscord | <__nycto__> Oooooo thanks |
23:22:02 | FromDiscord | <Elegantbeef> PS you also can use `once:` |