<< 09-07-2025 >>

00:45:48*Jhonny2x4 quit (Ping timeout: 245 seconds)
00:53:49*Jhonny2x4 joined #nim
01:42:35*rockcavera quit (Remote host closed the connection)
01:55:01*amadaluzia quit (Quit: ZNC 1.10.0 - https://znc.in)
02:07:38*metasintactic is now known as thunder
02:19:38*rockcavera joined #nim
03:28:36*amadaluzia joined #nim
03:52:49*thunder quit (Quit: Leaving)
04:23:02*rockcavera quit (Remote host closed the connection)
04:31:35*rockcavera joined #nim
06:43:00*amadaluzia quit (Quit: ZNC 1.10.0 - https://znc.in)
06:55:43*skippy8 joined #nim
07:01:02*rockcavera is now known as Guest5725
07:01:02*tiorock joined #nim
07:01:02*Guest5725 quit (Killed (silver.libera.chat (Nickname regained by services)))
07:01:02*tiorock is now known as rockcavera
07:02:44*jjido joined #nim
07:26:33*SchweinDeBurg quit (Quit: WeeChat 4.7.0-dev)
07:27:00*SchweinDeBurg joined #nim
08:10:55*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
09:00:47*jjido joined #nim
09:15:35*beholders_eye joined #nim
09:44:31*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
09:46:30*ntat joined #nim
10:29:13*ntat quit (Quit: leaving)
11:13:57*jjido joined #nim
11:18:59*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
12:03:47*jjido joined #nim
13:02:30*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
13:10:02FromDiscord<nervecenter> Is there anyone who can speak to the quality of Nim's JS backend? I'm producing a static page that uses WebSerial, so I need that API; plus, I need to do bit fiddling on primitive integer types, which I already have written up in a native-compiled prototype, but I have no idea if that stuff will work the same in the JS backend.
13:10:34FromDiscord<nervecenter> (edit) "Is there anyone who can speak to the quality of Nim's JS backend? I'm producing a static page that uses WebSerial, so I need that API; plus, I need to do bit fiddling on primitive integer types, which I already have written up ... in" added "and working"
13:18:16*jjido joined #nim
13:42:07*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
13:46:11*ntat joined #nim
14:32:26*jjido joined #nim
14:34:53FromDiscord<spotlightkid> You can use any JS API via the `importjs` pragma in Nim.↵And what do you mean by "fiddling"? Can you be more specific?
15:24:30*xet7 quit (Remote host closed the connection)
15:24:33*amadaluzia joined #nim
15:25:50*xet7 joined #nim
15:34:02FromDiscord<litlighilit> bit fiddling? typo?↵maybe bit flip?↵don't forget std/bitops works for JS backend[https://nim-lang.org/docs/bitops.html#flipBit%2CT%2CBitsRange%5BT%3A%20SomeInteger%5D](https://nim-lang.org/docs/bitops.html#flipBit%252CT%252CBitsRange%255BT%253A%2520SomeInteger%255D)↵(@nervecenter)
15:41:31FromDiscord<lainlaylie> https://en.wikipedia.org/wiki/Bit_manipulation#Terminology
15:52:16*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
16:34:42*beholders_eye quit (Ping timeout: 276 seconds)
16:40:12*xet7 quit (Ping timeout: 272 seconds)
16:51:52*xet7 joined #nim
17:55:14*beholders_eye joined #nim
18:18:03FromDiscord<litlighilit> unbelievable but I made it.@ElegantbeefAll tests at [tests/testaments/builtins/percent\_format.nim](https://github.com/nimpylib/nimpylib/blob/8d9812e2d82f719dc56530c64cb73d122391694b/tests/testaments/builtins/percent_format.nim) passed(format with static format str are evaluated at CT)
18:23:19FromDiscord<Elegantbeef> You really need to learn the pleasure of macroless introspection 😄
18:25:06FromDiscord<litlighilit> So I did this.But one TODO remains\: https://github.com/nimpylib/nimpylib/blob/8d9812e2d82f719dc56530c64cb73d122391694b/src/pylib/stringlib/percent_format.nim#L410hope it'll be easy to resolve.I'm going to make it fall back to evaluated at RT for non-literal, but this method is not elegant, as `static[int]` shall be at CT too.↵(talking about `''`(asterisk) being allowed to be interpolated by width and precision)
18:26:15FromDiscord<litlighilit> I was...till I think static string format shall be type-checked
18:26:37FromDiscord<litlighilit> I was...till I think static string format shall be type-checked (so, evaluated at CT)
18:26:54FromDiscord<litlighilit> I was...till I thought static string format shall be type-checked (so, evaluated at CT)
18:28:05FromDiscord<litlighilit> like this
18:29:54FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=NBEcztFm
18:34:52FromDiscord<litlighilit> 🤔 I prefer putting things at CT↵like not generating RT `for` when possible, but using macro to gen a bracket expr
18:35:20FromDiscord<litlighilit> tho, u know, such requires much macro
18:35:20FromDiscord<Elegantbeef> There is no runtime for loop there
18:35:37FromDiscord<Elegantbeef> There is not a single for loop in that code that exists at runtime
18:36:01FromDiscord<litlighilit> ops true
18:37:39FromDiscord<litlighilit> yours much cleaner than mine 🤧
18:38:55FromDiscord<Elegantbeef> Do not use macros where a simple fields iterator suffices 😄
18:39:45FromDiscord<Elegantbeef> This entire ECS system is a nice source of how to limit macro usage, but https://github.com/beef331/nimtrest/blob/master/yeacs.nim#L75 is likely the most helpful for you
18:40:32FromDiscord<Elegantbeef> Allowing you to do `forTupleField(T):` and having a `Field` type introduced so you do not have to instantiate the tuple
18:41:25*beholders_eye quit (Ping timeout: 248 seconds)
18:43:28*beholders_eye joined #nim
18:53:13FromDiscord<litlighilit> anyway `var i` is at RT haha tho compiler may opt it.I am the one who always can't stop to do it on my own (maybe bad habit)
18:53:16FromDiscord<litlighilit> a heavy user of macro for a long term.
18:53:26FromDiscord<litlighilit> I may try changing
18:53:42FromDiscord<Elegantbeef> Sure the array access is runtime, but it's moving data from a tuple to an array
18:53:46FromDiscord<litlighilit> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1392579364935438558): anyway `var i` is at RT haha tho compiler may opt it.I am the one who always can't stop to opt it on my own (maybe bad habit)
18:54:06FromDiscord<Elegantbeef> Or in the first case a pointer to an array
18:54:24FromDiscord<Elegantbeef> It's all unfolded and likely the compiler will optimize it into a static expression
18:57:01FromDiscord<litlighilit> yap.time to have a rest... have already sticked to it for hours
19:35:48*jjido joined #nim
19:41:15*beholders_eye quit (Ping timeout: 276 seconds)
19:42:42*beholders_eye joined #nim
19:45:50*ntat quit (Ping timeout: 252 seconds)
19:47:41*ntat joined #nim
19:51:17*skippy8 quit (Ping timeout: 248 seconds)
20:00:00*amadaluzia quit (Quit: ZNC 1.10.0 - https://znc.in)
20:30:24*ntat quit (Quit: leaving)
20:59:04FromDiscord<bostonboston> What am I missing here ↵https://play.nim-lang.org/#pasty=wfviqmTo
21:01:55FromDiscord<bostonboston> There's supposed to be an `addr` on the second copyMem param, question still stands, it doesn't compile
21:03:26FromDiscord<Elegantbeef> `foo.removeValue[: float]()` is required for UFCS
21:04:55FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=rhwSSfPW
21:07:50FromDiscord<nnsee> i didn't know that and came up with this https://play.nim-lang.org/#pasty=HfRahcPY
21:08:41FromDiscord<bostonboston> I see
21:23:00*beholders_eye quit (Ping timeout: 252 seconds)
22:34:30*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
22:40:05*jjido joined #nim
22:51:28*jjido quit (Quit: My laptop has gone to sleep. ZZZzzz…)
22:53:28*birle joined #nim
22:57:51*birle quit (Changing host)
22:57:51*birle joined #nim