<< 06-05-2024 >>

00:00:53FromDiscord<Elegantbeef> Hashsets arent ordered
00:01:01FromDiscord<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:19FromDiscord<Robyn [She/Her]> In Nim, do functions with the same name as a field take priority?
01:33:03FromDiscord<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:20FromDiscord<Robyn [She/Her]> This is for a set though, and not a union
01:33:32FromDiscord<Robyn [She/Her]> And the check would be at runtime
01:38:55FromDiscord<Elegantbeef> In dotexpressions fields take priority if the field is accessible
01:40:12FromDiscord<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:21FromDiscord<basilajith> In reply to @basilajith "Somewhere I read that": @Phil
03:57:30FromDiscord<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:53FromDiscord<basilajith> Oh
05:36:27FromDiscord<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:43FromDiscord<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:48FromDiscord<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:24FromDiscord<basilajith> Yeah, he had been updating the book until November 2023.
05:40:15FromDiscord<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:47FromDiscord<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:07FromDiscord<zumi.dxy> That last one is why I use case statements more often
06:16:27*PMunch joined #nim
06:20:17FromDiscord<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:32FromDiscord<Phil> So there's a lot of extra information you can give the compiler to validate your code
06:20:39FromDiscord<Phil> (edit) "So there's a lot of ... extra" added "ways you can give"
06:20:44FromDiscord<Phil> (edit) "you can give" => "to"
06:23:44*def- quit (Quit: -)
06:24:14*def- joined #nim
06:59:48FromDiscord<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:50FromDiscord<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:14Amun-Rais there a way of testing whether underlying openArray type is seq or array?
07:47:34*beholders_eye joined #nim
07:50:44Amun-RaI think I'll leave it this way: https://play.nim-lang.org/#pasty=KluTeIVsQBjw
08:22:12FromDiscord<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:20FromDiscord<Elegantbeef> Atleast in most APIs that use `openArray` that's better
08:22:33Amun-RaElegantbeef: I see, thanks for the explanation
08:22:47Amun-RaI needed it only for the extra assert for seqs
08:24:08FromDiscord<Elegantbeef> This does make me realise there is no `toArray` for seqs 😄
08:24:31Amun-Ra:P
08:26:45FromDiscord<Elegantbeef> https://play.nim-lang.org/#pasty=ZzofRYmyOzQz such a grand idea
08:26:56FromDiscord<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:17FromDiscord<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:09FromDiscord<odexine> iirc theres a lot of functionality added by having observables of observables
08:32:14FromDiscord<odexine> i dont know what but i hear
08:46:36PMunchIt's so you can observe while you observe
08:52:34FromDiscord<Phil> Yo dawg
08:52:43FromDiscord<Phil> insert xzibit meme
08:54:08FromDiscord<nocturn9x> I have gotten rid of the last `ref` type in the entire project
08:54:22FromDiscord<nocturn9x> now everything is an object optionally passed as a var parameter if mutation is necessary
08:54:31FromDiscord<nocturn9x> if nim manages to crash even in this state then idk
09:15:24FromDiscord<nocturn9x> nope, still crashed
09:15:46FromDiscord<System64 ~ Flandre Scarlet> Hi, is it actually possible to make an arbitrary fixed point type on Nim?
09:19:38PMunchYup
09:19:51PMunchhttps://github.com/zevv/fixedpoint
09:20:22PMunch@nocturn9x, hard to tell what's wrong without being able to look at code..
09:20:34FromDiscord<nocturn9x> I can provide you with the repository
09:21:05PMunchBut it's a big complex project?
09:23:23FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "https://github.com/zevv/fixedpoint": > Might or might not work.↵↵Does it work?
09:23:35PMunchIt worked great last time I used it
09:24:02FromDiscord<nocturn9x> In reply to @PMunch "But it's a big": I mean it's over 3kLOC
09:24:13FromDiscord<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:19PMunch@System64_~_Flandre_Scarlet, ooh, that'll be harder
09:26:44PMunchWhat are you using these for?
09:27:11PMunch@nocturn9x, unfortunately not something I really have time to look through to figure out what's wrong..
09:27:21FromDiscord<nocturn9x> yeah I figured
09:54:41FromDiscord<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:47PMunchWon't really help for rounding errors, but for scenarios without an FPU they are nice
10:47:08PMunchThat'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:22FromDiscord<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:08PMunchWell, you don't *need* them
11:11:21PMunchBut yeah, that's typically how its implemented
11:13:22*def- quit (Quit: -)
11:14:57*def- joined #nim
11:18:07FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "Well, you don't *need*": Why wouldn't I need them?
11:19:42FromDiscord<odexine> sometimes you just dont need these operations?
11:20:30FromDiscord<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:46FromDiscord<odexine> maybe you can implement cordic, though ive only heard of it and dont know how applicable it could be for this
11:21:12FromDiscord<System64 ~ Flandre Scarlet> I think cordic relies on loops?
11:21:22FromDiscord<odexine> yes, and
11:22:01FromDiscord<System64 ~ Flandre Scarlet> In reply to @odexine "yes, and": Imagine doing that with a big number↵The loop will be big
11:22:08FromDiscord<odexine> yes, and
11:22:13FromDiscord<System64 ~ Flandre Scarlet> Slow
11:22:34FromDiscord<odexine> prof?
11:22:36FromDiscord<odexine> (edit) "prof?" => "proof?"
11:22:51FromDiscord<System64 ~ Flandre Scarlet> Big loops are slow
11:23:02FromDiscord<odexine> microcontrollers use cordic to implement ops when there are no fpus
11:23:09FromDiscord<odexine> In reply to @sys64 "Big loops are slow": not proof
11:23:26PMunch@System64_~_Flandre_Scarlet, the options are basically lookup table, loops, or hardware FPU
11:23:41PMunchEach with their own pros/cons
11:23:52FromDiscord<System64 ~ Flandre Scarlet> Lut is the fastest
11:23:58FromDiscord<odexine> and the most space inefficient
11:24:05FromDiscord<odexine> if that's fine with you then sure
11:25:53PMunchLookup 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:16PMunchOf course with LUTs you can tune the accuracy vs. space limitations
11:26:22FromDiscord<System64 ~ Flandre Scarlet> Computer science be like
11:26:25FromDiscord<odexine> In reply to @PMunch "Lookup table takes program": probably internally
11:26:31*gst joined #nim
11:26:46PMunchYeah there's no free lunch unfortunately
11:27:15FromDiscord<System64 ~ Flandre Scarlet> The LUT method is the simplest to implement
11:28:23FromDiscord<odexine> well again if thats enough for you then yes go ahead with that
11:28:50FromDiscord<System64 ~ Flandre Scarlet> There is a fast square root algorithm too I think?
11:28:56FromDiscord<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:15FromDiscord<odexine> fast inverse
11:29:21FromDiscord<odexine> only for fp i believe
11:29:39FromDiscord<System64 ~ Flandre Scarlet> I can't look at the code otherwise, GPLed
11:30:18FromDiscord<odexine> is it gpl?
11:30:19FromDiscord<odexine> which?
11:32:14FromDiscord<System64 ~ Flandre Scarlet> In reply to @odexine "is it gpl?": Fast inverse square root↵The Quake algorithm
11:32:27NimEventerNew thread by ironpython2001: VS code attach to process, see https://forum.nim-lang.org/t/11557
11:38:42FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=lAIyZvyALNLJ
11:52:19FromDiscord<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:58PMunchA byte sounds excessive for the sign
11:52:59FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=GKJcCjEYGIIV
11:53:17FromDiscord<System64 ~ Flandre Scarlet> In reply to @PMunch "A byte sounds excessive": A bit, sorry
11:53:19PMunchBut you need a bit somewhere
11:53:30FromDiscord<System64 ~ Flandre Scarlet> so the MSB
11:53:33PMunchTypically it's stored with the number
11:53:40PMunchYeah probably
11:54:20FromDiscord<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:41PMunchSomething like that, yes
11:57:44FromDiscord<odexine> In reply to @isofruit "Or maybe even to": oh, type hell
11:57:46FromDiscord<odexine> good luck
11:58:32FromDiscord<odexine> well
11:59:39FromDiscord<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:27FromDiscord<Phil> If that worked that would be neat, tried out your own code 😛 ?
12:01:38FromDiscord<Robyn [She/Her]> I haven't, throwing our suggestions :P
12:01:54FromDiscord<Phil> It won't compile is your problem there
12:04:04FromDiscord<Robyn [She/Her]> Just realised yeah
12:04:19FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=amoOgvYJBbeK
12:04:20FromDiscord<Robyn [She/Her]> Not sure how this could be solved
12:04:27FromDiscord<Robyn [She/Her]> Why is a macro an issue?
12:04:35FromDiscord<Phil> And I wanna avoid macros generally because complex to maintain
12:05:15FromDiscord<Robyn [She/Her]> A simple macro like this seems fine imo
12:05:16FromDiscord<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:46PMunchA macro is what you make it, they can be a boon to maintainability
12:06:25FromDiscord<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:35FromDiscord<Phil> But overall they're definitely a step up in complexity in your codebase imo
12:09:28PMunchSure, you are adding another "dimension" to your code
12:16:45FromDiscord<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:12FromDiscord<Phil> It's going to grow, see the post above, that's the level of repetition I want to reduce
12:17:16FromDiscord<Phil> Not this macro in particular
12:17:24FromDiscord<Phil> But that macro will be used in combo with other macros or templates
12:17:49FromDiscord<Robyn [She/Her]> Ah
12:17:50FromDiscord<tapeda> A macro with well written edge cases is like adding the feature of better error messages for free
12:17:55FromDiscord<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:05madpropshow do i use " - " as an argument for my nim program
12:22:11madpropsit complains about unrecognized flag
12:22:13madpropsit thinks it's a flag
12:22:19madpropsprogram " - "
12:25:39FromDiscord<solitudesf> what are you using as argument parser?
12:27:14madpropssomething i made myself https://github.com/madprops/nap
12:28:06madpropsbut it just uses parseopt
12:29:33FromDiscord<solitudesf> parseopt is pretty shit, you can try using `--` to end flag parsing, if it supports it.
12:39:51NimEventerNew thread by anter003: Cannot evaluate at compile time, see https://forum.nim-lang.org/t/11558
12:43:52FromDiscord<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:28FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=QIUEBWRduYND
12:45:12FromDiscord<Phil> sent a code paste, see https://play.nim-lang.org/#pasty=rheuBesPjkay
12:45:32PMunchI don't think that made it as clear as you had hoped :P
12:45:40PMunchWhat output do you expect from that?
12:46:02FromDiscord<Phil> `(some(5), some("string"), some(5.3))`
12:46:16FromDiscord<Phil> Just want to extract the values from `field` of the various `A`'s and put them in a tuple
12:47:48FromDiscord<vindaar> sent a code paste, see https://play.nim-lang.org/#pasty=mSeMHYevVrBO
12:47:54PMunchSo you want this? https://play.nim-lang.org/#pasty=geMgBPYoYzrQ
12:48:53FromDiscord<Phil> Ah, newTree
12:49:06PMunchOf 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:59madpropsstrange....
13:08:07madpropsi uploaded fix to github and created release
13:08:24madpropsthen do nimble -d to get new library
13:08:36madpropsnot working.
13:08:56madpropsis there a way to do a "clean build" just in case?
13:09:02madpropsnot sure why it's not working
13:10:47*xet7 quit (Ping timeout: 256 seconds)
13:10:50madpropsmaybe it's my bad
13:11:03PMunchJust delete the package from .nimble/pkgs2 and install it again
13:17:01madpropscan i modify a file instead, for debugging? like include an echo?
13:17:05madpropsdoesn't seem to work
13:19:49PMunchWhat do you mean by not working?
13:20:20madpropsi want to insert an echo to /home/yo/.nimble/pkgs2/nap-4.4.0-5dd3cb8f32f90c3bfd0831c7836e409735b3ab64/
13:20:23madpropsfor debugging purposes
13:20:51madpropsor can i reference the local version so i don't have to go through github?
13:21:36madpropsthe code is the correct version. but it's not working when i compile the program that uses it
13:22:02Amun-Ramadprops: have you bumped version number?
13:22:09madpropsin the nimble file yes
13:22:50Amun-Raperhaps update version number in line with 'requires'
13:22:58*xet7 joined #nim
13:23:20madpropsrequires "nap >= 4.4.0"
13:23:36madpropsthe code downloaded is correct
13:23:42madpropsbut maybe it's not building with it
13:23:45Amun-Rahmm
13:25:31madpropsaha
13:25:39madpropsit was using an older version in pkgs/
13:25:44madpropsi deleted it and it works now
13:52:30*MacDef joined #nim
13:54:00FromDiscord<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:48FromDiscord<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:30FromDiscord<nnsee> frida-server
13:57:50FromDiscord<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:26FromDiscord<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:47FromDiscord<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:57FromDiscord<nocturn9x> it just doesn't happen most of the time due to how the control flow is structured
14:01:18FromDiscord<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:33FromDiscord<nocturn9x> I honestly have no idea why nim _requires_ threads to be declared as variables
14:02:45FromDiscord<nocturn9x> just let me `createThread(func, args)`
14:12:19PMunchWhere would it put them?
14:12:27PMunchThey need to be stored somewhere
14:12:59*ntat joined #nim
14:15:44FromDiscord<nocturn9x> create it and return it internally?
14:15:51FromDiscord<nocturn9x> (edit) "create it ... andit?" added "internally" | "it internally?" => "it?"
14:16:43PMunchBut 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:44FromDiscord<dawidek.2137> is there much I can do to make compilation faster than the default debug build speed?
14:26:28FromDiscord<Phil> compilation faster as in "The time between starting compilation and ending compilation goes down" or as in "The binary becomes faster"?
14:26:43FromDiscord<Phil> (edit) "faster"?" => "faster aka more performant"?"
14:27:04FromDiscord<dawidek.2137> the first one
14:27:18FromDiscord<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:09FromDiscord<Phil> Well, I guess you could structure it so you write your nim program as DLLs
14:28:33FromDiscord<Phil> So you can compile them separately and your binary loads the DLLs at runtime
14:28:47FromDiscord<Phil> That'll somewhat try to force you towards loose coupling
14:32:44FromDiscord<dawidek.2137> I want to avoid DLLs because they make debugging harder
14:33:03FromDiscord<dawidek.2137> wait, didnt nim support tiny c?
14:33:19FromDiscord<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:16FromDiscord<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:32FromDiscord<ayex> imho tcc compiles fairly fast, which is why I like it for inim -↵↵not sure what its limitations/downsides are.
14:50:44NimEventerNew thread by Isofruit: Rex - The starting point of a ReactiveX implementation, see https://forum.nim-lang.org/t/11559
14:50:54FromDiscord<odexine> phil have you gone insane yert
14:50:55FromDiscord<odexine> (edit) "yert" => "yet"
14:51:24FromDiscord<Phil> Nah, it works, I'm pretty happy with it
14:51:40FromDiscord<Phil> Fundamentals of it should be solid
14:52:08FromDiscord<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:02FromDiscord<michaelb.eth> sent a long message, see https://pasty.ee/zZZGATwDzNOD
14:56:52FromDiscord<odexine> i personally think "event driven" can be possibly applied to everything, just like you can technically shoehorn oop into anything...
14:57:59FromDiscord<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:26FromDiscord<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:40FromDiscord<Phil> (edit) "stream" => "thread"
15:01:13FromDiscord<Phil> But that requires an actor model implementation first
15:01:31FromDiscord<Phil> Well and a solid reactivity library.↵And having a frontend UI lib that I would even like to use
15:02:10FromDiscord<nervecenter> I would really love a clean actor model implementation, get as close to Elixir or whatnot as possible
15:02:48FromDiscord<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:33FromDiscord<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:39FromDiscord<nervecenter> "as close as possible"
15:06:19FromDiscord<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:00FromDiscord<user2m> is it possible to extend an enum?
16:30:34FromDiscord<leorize> no
16:34:51*MacDef quit (Quit: WeeChat 4.2.2)
16:36:09FromDiscord<user2m> In reply to @leorize "no": fair enough
16:39:12FromDiscord<pmunch> What are you trying to do @user2m ?
16:41:58FromDiscord<user2m> sent a code paste, see https://play.nim-lang.org/#pasty=qEuxCRuvkpai
16:44:09*lucasta quit (Quit: Leaving)
16:44:22FromDiscord<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:15FromDiscord<dawidek.2137> choosenim
17:49:11FromDiscord<Zoom> Not breaking if the option is under a switch/pragma. Breaking a module to make people actually use is justified↵(@solitudesf)
17:52:17FromDiscord<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:32FromDiscord<dawidek.2137> does anyone else use vscode nimsaem extension on arm mac and have problems with autocomplete?
18:05:59FromDiscord<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:26FromDiscord<polylokh_39446> sent a code paste, see https://play.nim-lang.org/#pasty=MWCWnBGKYtNh
20:34:15FromDiscord<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:28FromDiscord<polylokh_39446> sent a code paste, see https://play.nim-lang.org/#pasty=RDiyMAedKXnB
20:41:34FromDiscord<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:12FromDiscord<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:32FromDiscord<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))