00:00:53 | FromDiscord | <Elegantbeef> Hashsets arent ordered |
00:01:01 | FromDiscord | <Elegantbeef> you can just use `std/enumerate` |
00:29:18 | * | gst quit (Ping timeout: 250 seconds) |
00:44:28 | * | gooba joined #nim |
00:51:07 | * | gooba quit (Remote host closed the connection) |
00:57:00 | * | gooba joined #nim |
01:04:47 | * | Lord_Nightmare quit (Quit: ZNC - http://znc.in) |
01:08:32 | * | Lord_Nightmare joined #nim |
01:13:22 | * | krux02_ quit (Remote host closed the connection) |
01:31:19 | FromDiscord | <Robyn [She/Her]> In Nim, do functions with the same name as a field take priority? |
01:33:03 | FromDiscord | <Robyn [She/Her]> I'm just wondering because i want to know if there'd be any point to making functions that guarantee that a field being accessed can be modified safely, like how object variants do |
01:33:20 | FromDiscord | <Robyn [She/Her]> This is for a set though, and not a union |
01:33:32 | FromDiscord | <Robyn [She/Her]> And the check would be at runtime |
01:38:55 | FromDiscord | <Elegantbeef> In dotexpressions fields take priority if the field is accessible |
01:40:12 | FromDiscord | <Robyn [She/Her]> Ah okay then |
02:37:04 | * | def- quit (Quit: -) |
02:37:44 | * | def- joined #nim |
03:12:08 | * | disso-peach joined #nim |
03:15:09 | * | def- quit (Quit: -) |
03:15:51 | * | def- joined #nim |
03:30:36 | * | rockcavera quit (Remote host closed the connection) |
03:31:59 | * | disso-peach quit (Quit: Leaving) |
03:43:21 | FromDiscord | <basilajith> In reply to @basilajith "Somewhere I read that": @Phil |
03:57:30 | FromDiscord | <Elegantbeef> It's looked down upon for petty reasons and not anything rational |
04:01:05 | * | SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev) |
04:04:42 | * | SchweinDeBurg joined #nim |
04:14:53 | FromDiscord | <basilajith> Oh |
05:36:27 | FromDiscord | <Phil> In reply to @basilajith "Oh": I haven't read it myself so I can't convincingly say anything. I've learned mostly from reimplementing a rather large webdev project and developing "Packages I'd have liked to have had" which spiraled out of control from there |
05:37:43 | FromDiscord | <basilajith> I sometimes use it as a reference. I just think it could've been concise. I was asking to know whether it strays away from idiomatic Nim or introduces bad habits. |
05:37:48 | FromDiscord | <Phil> I can't say the few times I skimmed a few pages I found anything wrong though. Was even pleasantly surprised at times during said skimming that it was fairly up to date |
05:38:24 | FromDiscord | <basilajith> Yeah, he had been updating the book until November 2023. |
05:40:15 | FromDiscord | <Phil> As for idiomatic nim, that is a hard beast to pin down tbh.↵There's a couple rules in the Zen of Nim: https://nim-lang.org/blog/2021/11/15/zen-of-nim.html↵However that doesn't try to do more explicit recommendations like python's "explicit is better than implicit" |
05:45:47 | FromDiscord | <Phil> Generally I'd include:↵- Keep it simple. Procs > Generics > Templates > Macros. Use the next tool only when the prior is too difficult↵- The compiler tells you when you're wrong. Empower it to do that often! |
06:08:21 | * | ntat joined #nim |
06:09:07 | FromDiscord | <zumi.dxy> That last one is why I use case statements more often |
06:16:27 | * | PMunch joined #nim |
06:20:17 | FromDiscord | <Phil> In reply to @zumi.dxy "That last one is": Yeh but there's a lot of things you can do there. Compiletime-validation procs for example, concepts, specifying generic types, even validation macros if need be |
06:20:32 | FromDiscord | <Phil> So there's a lot of extra information you can give the compiler to validate your code |
06:20:39 | FromDiscord | <Phil> (edit) "So there's a lot of ... extra" added "ways you can give" |
06:20:44 | FromDiscord | <Phil> (edit) "you can give" => "to" |
06:23:44 | * | def- quit (Quit: -) |
06:24:14 | * | def- joined #nim |
06:59:48 | FromDiscord | <Phil> Sidenote, if anyone's willing to give a quick look at the basics for a reactivex implementation that I wrote (just observables and the basic Subject type + 5 operators, not that much):↵https://github.com/minamorl/rex/pull/9/files↵↵Happy for any improvements I can make. |
07:03:50 | FromDiscord | <Phil> Nevermind, the maintainer merged faster than I could deal, feedback still appreciated as I'll just do a follow up PR etc 😄 |
07:13:45 | * | beholders_eye joined #nim |
07:32:13 | * | dtomato quit (Remote host closed the connection) |
07:36:42 | * | dtomato joined #nim |
07:41:59 | * | beholders_eye quit (Read error: Connection reset by peer) |
07:46:14 | Amun-Ra | is there a way of testing whether underlying openArray type is seq or array? |
07:47:34 | * | beholders_eye joined #nim |
07:50:44 | Amun-Ra | I think I'll leave it this way: https://play.nim-lang.org/#pasty=KluTeIVsQBjw |
08:22:12 | FromDiscord | <Elegantbeef> Amun there is no way since `openArray` is a type erasure, instead of naming it `fooImpl` you can do `a.toOpenArray(0, len)` |
08:22:20 | FromDiscord | <Elegantbeef> Atleast in most APIs that use `openArray` that's better |
08:22:33 | Amun-Ra | Elegantbeef: I see, thanks for the explanation |
08:22:47 | Amun-Ra | I needed it only for the extra assert for seqs |
08:24:08 | FromDiscord | <Elegantbeef> This does make me realise there is no `toArray` for seqs 😄 |
08:24:31 | Amun-Ra | :P |
08:26:45 | FromDiscord | <Elegantbeef> https://play.nim-lang.org/#pasty=ZzofRYmyOzQz such a grand idea |
08:26:56 | FromDiscord | <Phil> Operators that I won't be implementing because I'll just be running away screaming:↵https://rxjs.dev/api/operators/combineLatestAll |
08:27:09 | * | def- quit (Quit: -) |
08:27:17 | FromDiscord | <Phil> What the fuck even is this, who builds reactive scenarios that require an operator with that narrow a usecase ?! |
08:27:49 | * | beholders_eye quit (Ping timeout: 268 seconds) |
08:27:52 | * | def- joined #nim |
08:32:09 | FromDiscord | <odexine> iirc theres a lot of functionality added by having observables of observables |
08:32:14 | FromDiscord | <odexine> i dont know what but i hear |
08:46:36 | PMunch | It's so you can observe while you observe |
08:52:34 | FromDiscord | <Phil> Yo dawg |
08:52:43 | FromDiscord | <Phil> insert xzibit meme |
08:54:08 | FromDiscord | <nocturn9x> I have gotten rid of the last `ref` type in the entire project |
08:54:22 | FromDiscord | <nocturn9x> now everything is an object optionally passed as a var parameter if mutation is necessary |
08:54:31 | FromDiscord | <nocturn9x> if nim manages to crash even in this state then idk |
09:15:24 | FromDiscord | <nocturn9x> nope, still crashed |
09:15:46 | FromDiscord | <System64 ~ Flandre Scarlet> Hi, is it actually possible to make an arbitrary fixed point type on Nim? |
09:19:38 | PMunch | Yup |
09:19:51 | PMunch | https://github.com/zevv/fixedpoint |
09:20:22 | PMunch | @nocturn9x, hard to tell what's wrong without being able to look at code.. |
09:20:34 | FromDiscord | <nocturn9x> I can provide you with the repository |
09:21:05 | PMunch | But it's a big complex project? |
09:23:23 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "https://github.com/zevv/fixedpoint": > Might or might not work.↵↵Does it work? |
09:23:35 | PMunch | It worked great last time I used it |
09:24:02 | FromDiscord | <nocturn9x> In reply to @PMunch "But it's a big": I mean it's over 3kLOC |
09:24:13 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "It worked great last": Oh nice!↵And how can I manage square roots, pow and so on? |
09:26:19 | PMunch | @System64_~_Flandre_Scarlet, ooh, that'll be harder |
09:26:44 | PMunch | What are you using these for? |
09:27:11 | PMunch | @nocturn9x, unfortunately not something I really have time to look through to figure out what's wrong.. |
09:27:21 | FromDiscord | <nocturn9x> yeah I figured |
09:54:41 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "What are you using": Useful when you don't have an FPU or against rounding errors |
10:32:02 | * | ntat quit (Quit: Leaving) |
10:40:03 | * | rockcavera joined #nim |
10:46:47 | PMunch | Won't really help for rounding errors, but for scenarios without an FPU they are nice |
10:47:08 | PMunch | That's what I used them for, to track speed and acceleration in a game on a microcontroller |
10:49:48 | * | def- quit (Quit: -) |
10:50:43 | * | def- joined #nim |
11:03:22 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "That's what I used": But for pow and sqrt, you'd need lookup tables, no ? |
11:11:08 | PMunch | Well, you don't *need* them |
11:11:21 | PMunch | But yeah, that's typically how its implemented |
11:13:22 | * | def- quit (Quit: -) |
11:14:57 | * | def- joined #nim |
11:18:07 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "Well, you don't *need*": Why wouldn't I need them? |
11:19:42 | FromDiscord | <odexine> sometimes you just dont need these operations? |
11:20:30 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "sometimes you just dont": Let's try to normalize a fixed point vector without square root |
11:20:46 | FromDiscord | <odexine> maybe you can implement cordic, though ive only heard of it and dont know how applicable it could be for this |
11:21:12 | FromDiscord | <System64 ~ Flandre Scarlet> I think cordic relies on loops? |
11:21:22 | FromDiscord | <odexine> yes, and |
11:22:01 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "yes, and": Imagine doing that with a big number↵The loop will be big |
11:22:08 | FromDiscord | <odexine> yes, and |
11:22:13 | FromDiscord | <System64 ~ Flandre Scarlet> Slow |
11:22:34 | FromDiscord | <odexine> prof? |
11:22:36 | FromDiscord | <odexine> (edit) "prof?" => "proof?" |
11:22:51 | FromDiscord | <System64 ~ Flandre Scarlet> Big loops are slow |
11:23:02 | FromDiscord | <odexine> microcontrollers use cordic to implement ops when there are no fpus |
11:23:09 | FromDiscord | <odexine> In reply to @sys64 "Big loops are slow": not proof |
11:23:26 | PMunch | @System64_~_Flandre_Scarlet, the options are basically lookup table, loops, or hardware FPU |
11:23:41 | PMunch | Each with their own pros/cons |
11:23:52 | FromDiscord | <System64 ~ Flandre Scarlet> Lut is the fastest |
11:23:58 | FromDiscord | <odexine> and the most space inefficient |
11:24:05 | FromDiscord | <odexine> if that's fine with you then sure |
11:25:53 | PMunch | Lookup table takes program space, and can provide inaccurate results, loops provide accurate results and don't take up a lot of memory but are slow, and hardware FPU is probably the best (not exactly sure if they use LUTs or not) but adds hardware complexity |
11:26:16 | PMunch | Of course with LUTs you can tune the accuracy vs. space limitations |
11:26:22 | FromDiscord | <System64 ~ Flandre Scarlet> Computer science be like |
11:26:25 | FromDiscord | <odexine> In reply to @PMunch "Lookup table takes program": probably internally |
11:26:31 | * | gst joined #nim |
11:26:46 | PMunch | Yeah there's no free lunch unfortunately |
11:27:15 | FromDiscord | <System64 ~ Flandre Scarlet> The LUT method is the simplest to implement |
11:28:23 | FromDiscord | <odexine> well again if thats enough for you then yes go ahead with that |
11:28:50 | FromDiscord | <System64 ~ Flandre Scarlet> There is a fast square root algorithm too I think? |
11:28:56 | FromDiscord | <odexine> but its not the best in certain scenarios and we're just giving alternatives in such case you fall in such scenarios |
11:29:15 | FromDiscord | <odexine> fast inverse |
11:29:21 | FromDiscord | <odexine> only for fp i believe |
11:29:39 | FromDiscord | <System64 ~ Flandre Scarlet> I can't look at the code otherwise, GPLed |
11:30:18 | FromDiscord | <odexine> is it gpl? |
11:30:19 | FromDiscord | <odexine> which? |
11:32:14 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @odexine "is it gpl?": Fast inverse square root↵The Quake algorithm |
11:32:27 | NimEventer | New thread by ironpython2001: VS code attach to process, see https://forum.nim-lang.org/t/11557 |
11:38:42 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=lAIyZvyALNLJ |
11:52:19 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "Yeah there's no free": And for fixed point, I need to reserve a byte for the sign too, right? |
11:52:58 | PMunch | A byte sounds excessive for the sign |
11:52:59 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=GKJcCjEYGIIV |
11:53:17 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "A byte sounds excessive": A bit, sorry |
11:53:19 | PMunch | But you need a bit somewhere |
11:53:30 | FromDiscord | <System64 ~ Flandre Scarlet> so the MSB |
11:53:33 | PMunch | Typically it's stored with the number |
11:53:40 | PMunch | Yeah probably |
11:54:20 | FromDiscord | <System64 ~ Flandre Scarlet> In reply to @PMunch "Yeah probably": So for exemple I'd have 1 bit for the sign, 15 bits for the integer part, and 16 bits for the fractional part |
11:55:41 | PMunch | Something like that, yes |
11:57:44 | FromDiscord | <odexine> In reply to @isofruit "Or maybe even to": oh, type hell |
11:57:46 | FromDiscord | <odexine> good luck |
11:58:32 | FromDiscord | <odexine> well |
11:59:39 | FromDiscord | <Phil> In reply to @odexine "oh, type hell": It's really simple to convert them to just `x.isSome()` expressions, it's becoming annoying gluing those together into an "and" expression |
12:00:45 | * | FromDiscord quit (Remote host closed the connection) |
12:00:58 | * | FromDiscord joined #nim |
12:01:27 | FromDiscord | <Phil> If that worked that would be neat, tried out your own code 😛 ? |
12:01:38 | FromDiscord | <Robyn [She/Her]> I haven't, throwing our suggestions :P |
12:01:54 | FromDiscord | <Phil> It won't compile is your problem there |
12:04:04 | FromDiscord | <Robyn [She/Her]> Just realised yeah |
12:04:19 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=amoOgvYJBbeK |
12:04:20 | FromDiscord | <Robyn [She/Her]> Not sure how this could be solved |
12:04:27 | FromDiscord | <Robyn [She/Her]> Why is a macro an issue? |
12:04:35 | FromDiscord | <Phil> And I wanna avoid macros generally because complex to maintain |
12:05:15 | FromDiscord | <Robyn [She/Her]> A simple macro like this seems fine imo |
12:05:16 | FromDiscord | <Phil> As someone that has a macro-heavy project that they need to get into again, macros are an absolute drag on maintainability.↵As a feature I love them, they give me the flexibility I need, but I still want to avoid them wherever possible |
12:05:46 | PMunch | A macro is what you make it, they can be a boon to maintainability |
12:06:25 | FromDiscord | <Phil> In reply to @PMunch "A macro is what": They are infinitely better than repeating the same code 50 times with different types, I fully agree |
12:06:35 | FromDiscord | <Phil> But overall they're definitely a step up in complexity in your codebase imo |
12:09:28 | PMunch | Sure, you are adding another "dimension" to your code |
12:16:45 | FromDiscord | <Robyn [She/Her]> Honestly I don't see an issue with a macro as small as that seeing as you aren't adding 101 features to it |
12:17:12 | FromDiscord | <Phil> It's going to grow, see the post above, that's the level of repetition I want to reduce |
12:17:16 | FromDiscord | <Phil> Not this macro in particular |
12:17:24 | FromDiscord | <Phil> But that macro will be used in combo with other macros or templates |
12:17:49 | FromDiscord | <Robyn [She/Her]> Ah |
12:17:50 | FromDiscord | <tapeda> A macro with well written edge cases is like adding the feature of better error messages for free |
12:17:55 | FromDiscord | <Phil> Because right now the above combineLatest proc only works with 2 sources, I want to expand to 3/4 and more sources |
12:21:54 | * | madprops joined #nim |
12:22:05 | madprops | how do i use " - " as an argument for my nim program |
12:22:11 | madprops | it complains about unrecognized flag |
12:22:13 | madprops | it thinks it's a flag |
12:22:19 | madprops | program " - " |
12:25:39 | FromDiscord | <solitudesf> what are you using as argument parser? |
12:27:14 | madprops | something i made myself https://github.com/madprops/nap |
12:28:06 | madprops | but it just uses parseopt |
12:29:33 | FromDiscord | <solitudesf> parseopt is pretty shit, you can try using `--` to end flag parsing, if it supports it. |
12:39:51 | NimEventer | New thread by anter003: Cannot evaluate at compile time, see https://forum.nim-lang.org/t/11558 |
12:43:52 | FromDiscord | <Phil> ... Is there a way to construct a tuple in a macro where I don't need to write out individual tuple members by hand? |
12:44:28 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=QIUEBWRduYND |
12:45:12 | FromDiscord | <Phil> sent a code paste, see https://play.nim-lang.org/#pasty=rheuBesPjkay |
12:45:32 | PMunch | I don't think that made it as clear as you had hoped :P |
12:45:40 | PMunch | What output do you expect from that? |
12:46:02 | FromDiscord | <Phil> `(some(5), some("string"), some(5.3))` |
12:46:16 | FromDiscord | <Phil> Just want to extract the values from `field` of the various `A`'s and put them in a tuple |
12:47:48 | FromDiscord | <vindaar> sent a code paste, see https://play.nim-lang.org/#pasty=mSeMHYevVrBO |
12:47:54 | PMunch | So you want this? https://play.nim-lang.org/#pasty=geMgBPYoYzrQ |
12:48:53 | FromDiscord | <Phil> Ah, newTree |
12:49:06 | PMunch | Of course if you want to do it with mapIt in a single line: https://play.nim-lang.org/#pasty=WmenVqyNsPFY |
12:52:00 | * | MacDefender joined #nim |
13:07:59 | madprops | strange.... |
13:08:07 | madprops | i uploaded fix to github and created release |
13:08:24 | madprops | then do nimble -d to get new library |
13:08:36 | madprops | not working. |
13:08:56 | madprops | is there a way to do a "clean build" just in case? |
13:09:02 | madprops | not sure why it's not working |
13:10:47 | * | xet7 quit (Ping timeout: 256 seconds) |
13:10:50 | madprops | maybe it's my bad |
13:11:03 | PMunch | Just delete the package from .nimble/pkgs2 and install it again |
13:17:01 | madprops | can i modify a file instead, for debugging? like include an echo? |
13:17:05 | madprops | doesn't seem to work |
13:19:49 | PMunch | What do you mean by not working? |
13:20:20 | madprops | i want to insert an echo to /home/yo/.nimble/pkgs2/nap-4.4.0-5dd3cb8f32f90c3bfd0831c7836e409735b3ab64/ |
13:20:23 | madprops | for debugging purposes |
13:20:51 | madprops | or can i reference the local version so i don't have to go through github? |
13:21:36 | madprops | the code is the correct version. but it's not working when i compile the program that uses it |
13:22:02 | Amun-Ra | madprops: have you bumped version number? |
13:22:09 | madprops | in the nimble file yes |
13:22:50 | Amun-Ra | perhaps update version number in line with 'requires' |
13:22:58 | * | xet7 joined #nim |
13:23:20 | madprops | requires "nap >= 4.4.0" |
13:23:36 | madprops | the code downloaded is correct |
13:23:42 | madprops | but maybe it's not building with it |
13:23:45 | Amun-Ra | hmm |
13:25:31 | madprops | aha |
13:25:39 | madprops | it was using an older version in pkgs/ |
13:25:44 | madprops | i deleted it and it works now |
13:52:30 | * | MacDef joined #nim |
13:54:00 | FromDiscord | <Zoom> Had pretty good luck with using [cligen/parseopt3](https://c-blake.github.io/cligen/cligen/parseopt3.html) as a drop-in replacement for parseopt, but haven't checked it with `-` as an argument.↵(@solitudesf) |
13:54:26 | * | krux02 joined #nim |
13:54:48 | FromDiscord | <Zoom> It would be nice to partially replace the implementation in stdlib with it so at least `-k v` is supported, and not just `-k=v`/`-k:v`, which is bonkers for the default stdlib implementation. |
13:55:18 | * | MacDefender quit (Ping timeout: 252 seconds) |
13:57:30 | FromDiscord | <nnsee> frida-server |
13:57:50 | FromDiscord | <solitudesf> In reply to @Zoom "It would be nice": that would be breaking. people just have to get comfortable with not relying on stdlib. |
14:00:26 | FromDiscord | <nocturn9x> it occurred to me thanks to @tsoj that I'm not actually checking that the thread has terminated before starting a new one |
14:00:47 | FromDiscord | <nocturn9x> so maybe, just maybe, the issue is that sometimes a new thread is started on the same thread object and that fucks things up |
14:00:57 | FromDiscord | <nocturn9x> it just doesn't happen most of the time due to how the control flow is structured |
14:01:18 | FromDiscord | <nocturn9x> but all that's necessary is for a bit of extra ARC cleanup at the end to take a little more than usual and the issue may very well arise |
14:02:33 | FromDiscord | <nocturn9x> I honestly have no idea why nim _requires_ threads to be declared as variables |
14:02:45 | FromDiscord | <nocturn9x> just let me `createThread(func, args)` |
14:12:19 | PMunch | Where would it put them? |
14:12:27 | PMunch | They need to be stored somewhere |
14:12:59 | * | ntat joined #nim |
14:15:44 | FromDiscord | <nocturn9x> create it and return it internally? |
14:15:51 | FromDiscord | <nocturn9x> (edit) "create it ... andit?" added "internally" | "it internally?" => "it?" |
14:16:43 | PMunch | But then you run into the risk of creating a copy (which could be solved in modern Nim, but probably not in the Nim this API was built for) |
14:22:36 | * | PMunch quit (Quit: Leaving) |
14:23:44 | FromDiscord | <dawidek.2137> is there much I can do to make compilation faster than the default debug build speed? |
14:26:28 | FromDiscord | <Phil> compilation faster as in "The time between starting compilation and ending compilation goes down" or as in "The binary becomes faster"? |
14:26:43 | FromDiscord | <Phil> (edit) "faster"?" => "faster aka more performant"?" |
14:27:04 | FromDiscord | <dawidek.2137> the first one |
14:27:18 | FromDiscord | <Phil> If it's about making compilation faster - I do not think so beyond rearranging your codebase to use less metaprogramming and generics. |
14:28:09 | FromDiscord | <Phil> Well, I guess you could structure it so you write your nim program as DLLs |
14:28:33 | FromDiscord | <Phil> So you can compile them separately and your binary loads the DLLs at runtime |
14:28:47 | FromDiscord | <Phil> That'll somewhat try to force you towards loose coupling |
14:32:44 | FromDiscord | <dawidek.2137> I want to avoid DLLs because they make debugging harder |
14:33:03 | FromDiscord | <dawidek.2137> wait, didnt nim support tiny c? |
14:33:19 | FromDiscord | <Phil> Understandable, though outside of reducing the amount of code that needs to be compiled in a given compilation process I'm not entirely sure |
14:34:09 | * | krux02_ joined #nim |
14:34:16 | FromDiscord | <Phil> Errr I mean if tiny C can compile the entire C spec for sure, otherwise only maybe |
14:36:55 | * | krux02 quit (Ping timeout: 256 seconds) |
14:40:32 | FromDiscord | <ayex> imho tcc compiles fairly fast, which is why I like it for inim -↵↵not sure what its limitations/downsides are. |
14:50:44 | NimEventer | New thread by Isofruit: Rex - The starting point of a ReactiveX implementation, see https://forum.nim-lang.org/t/11559 |
14:50:54 | FromDiscord | <odexine> phil have you gone insane yert |
14:50:55 | FromDiscord | <odexine> (edit) "yert" => "yet" |
14:51:24 | FromDiscord | <Phil> Nah, it works, I'm pretty happy with it |
14:51:40 | FromDiscord | <Phil> Fundamentals of it should be solid |
14:52:08 | FromDiscord | <Phil> Extending it should not require nearly as much effort since the operators tend to follow a fairly monotonous pattern, as should different Subject-types |
14:53:02 | FromDiscord | <michaelb.eth> sent a long message, see https://pasty.ee/zZZGATwDzNOD |
14:56:52 | FromDiscord | <odexine> i personally think "event driven" can be possibly applied to everything, just like you can technically shoehorn oop into anything... |
14:57:59 | FromDiscord | <Phil> It's more that the architecture is unfamiliar enough to me that I think I'd have needed to work on it. |
15:00:26 | FromDiscord | <Phil> In reply to @michaelb.eth "Sorry for slow reply,": Honestly I mostly like reactivity because it solves a problem I have in frontend development rather neatly about the "state in time of a current variable".↵Outside of that I'm not toooo sure in that.↵Though I have become really interested in mixing reactivity with concurrency since the time I thought about how you could use rxjs with webworkers to flawlessly hide you're executing |
15:00:40 | FromDiscord | <Phil> (edit) "stream" => "thread" |
15:01:13 | FromDiscord | <Phil> But that requires an actor model implementation first |
15:01:31 | FromDiscord | <Phil> Well and a solid reactivity library.↵And having a frontend UI lib that I would even like to use |
15:02:10 | FromDiscord | <nervecenter> I would really love a clean actor model implementation, get as close to Elixir or whatnot as possible |
15:02:48 | FromDiscord | <Phil> Honestly I don't think I'd ever go that far. I don't know their model, but I can only assume it's more sophisticated than what I had in mind |
15:03:33 | FromDiscord | <nervecenter> Well yeah BEAM as a target is far more sophisticated than anything Nim is going to be able to do compiling to C with small executables and portability in mind |
15:03:39 | FromDiscord | <nervecenter> "as close as possible" |
15:06:19 | FromDiscord | <Phil> sent a long message, see https://pasty.ee/YCZNbpQOzwWz |
15:17:33 | * | dtomato quit (Remote host closed the connection) |
15:18:04 | * | dtomato joined #nim |
15:44:03 | * | lucasta joined #nim |
16:29:00 | FromDiscord | <user2m> is it possible to extend an enum? |
16:30:34 | FromDiscord | <leorize> no |
16:34:51 | * | MacDef quit (Quit: WeeChat 4.2.2) |
16:36:09 | FromDiscord | <user2m> In reply to @leorize "no": fair enough |
16:39:12 | FromDiscord | <pmunch> What are you trying to do @user2m ? |
16:41:58 | FromDiscord | <user2m> sent a code paste, see https://play.nim-lang.org/#pasty=qEuxCRuvkpai |
16:44:09 | * | lucasta quit (Quit: Leaving) |
16:44:22 | FromDiscord | <dawidek.2137> turns out there was something I could do to make compilation faster - I didn't notice nimsuggest gave me an amd64 even though I'm on arm 💩 |
16:47:15 | FromDiscord | <dawidek.2137> choosenim |
17:49:11 | FromDiscord | <Zoom> Not breaking if the option is under a switch/pragma. Breaking a module to make people actually use is justified↵(@solitudesf) |
17:52:17 | FromDiscord | <Zoom> [Edit](https://discord.com/channels/371759389889003530/371759389889003532/1237098852671295498): Not breaking if the option is under a switch/pragma. Breaking a module to make people actually use it is justified. |
18:00:32 | FromDiscord | <dawidek.2137> does anyone else use vscode nimsaem extension on arm mac and have problems with autocomplete? |
18:05:59 | FromDiscord | <dawidek.2137> vscode just doesnt launch any nimsuggest processes and there are no errors... |
18:08:08 | * | gst quit (Quit: Client closed) |
18:10:47 | * | gst joined #nim |
18:40:46 | * | def- quit (Quit: -) |
18:42:01 | * | def- joined #nim |
19:56:15 | * | ntat quit (Quit: Leaving) |
20:32:26 | FromDiscord | <polylokh_39446> sent a code paste, see https://play.nim-lang.org/#pasty=MWCWnBGKYtNh |
20:34:15 | FromDiscord | <polylokh_39446> I'd like a `bitmask(a, bunch, of, bools)` that does those shifts and returns the appropriate subrange so that the case can be checked, but it comes up so rarely. |
20:36:28 | FromDiscord | <polylokh_39446> sent a code paste, see https://play.nim-lang.org/#pasty=RDiyMAedKXnB |
20:41:34 | FromDiscord | <Elegantbeef> Use a pattern matching library 😄 |
20:47:49 | * | zgasma joined #nim |
21:06:04 | * | SchweinDeBurg quit (Quit: WeeChat 4.3.0-dev) |
21:06:27 | * | SchweinDeBurg joined #nim |
21:15:22 | * | dtomato quit (Quit: The Lounge - https://thelounge.chat) |
21:16:12 | FromDiscord | <System64 ~ Flandre Scarlet> sent a code paste, see https://play.nim-lang.org/#pasty=IbZQwPdVmAoL |
21:18:14 | * | dtomato joined #nim |
21:21:56 | * | dtomato quit (Client Quit) |
21:28:32 | FromDiscord | <solitudesf> anyone else noticed enum overloading not working on `devel`? |
21:35:57 | * | dtomato joined #nim |
21:37:37 | * | dtomato quit (Client Quit) |
21:43:17 | * | dtomato joined #nim |
21:56:41 | * | raynei quit (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |