<< 03-05-2025 >>

00:28:03*skippy8 joined #nim
00:43:16*amadaluzia quit (Quit: Hi, this is Paul Allen. I'm being called away to London for a few days. Meredith, I'll call you when I get back. Hasta la vista, baby.)
01:00:26FromDiscord<Langosta> Is atlas still used often?
01:19:31FromDiscord<threefour> In reply to @aintea "I mean what obscure": Sometimes people enable hugepages
02:00:03*skippy8 quit (Quit: WeeChat 4.5.2)
02:19:02FromDiscord<lainlaylie> In reply to @alendrik "Is atlas still used": personally I've gone back to nimble and just use it with `--parser:declarative -l` and of course `--solver:sat` for an atlas-like experience
02:21:35FromDiscord<Langosta> In reply to @lainlaylie "personally I've gone back": I didn't know I could use nimble for that!
02:29:55FromDiscord<lainlaylie> `-l` plus `nimble setup` then using `nim c` directly lets me pretend nimble is just a package cloner, which is really all i want it to be
03:47:08*derpydoo joined #nim
04:09:14*redj joined #nim
04:59:44*anddam quit (Ping timeout: 260 seconds)
05:02:09*m5zs7k quit (Read error: Connection reset by peer)
05:02:30*m5zs7k_ joined #nim
05:03:38*derpydoo quit (Quit: derpydoo)
05:12:25*m5zs7k_ is now known as m5zs7k
05:43:17*anddam joined #nim
06:24:02*ntat joined #nim
06:32:53*ntat quit (Ping timeout: 248 seconds)
06:34:47*ntat joined #nim
07:13:52*alexdaguy joined #nim
07:19:47*nils` quit (Quit: nils`)
07:21:52FromDiscord<xstormyy> Is the source code for nimble.directory anywhere?
07:23:21*nils` joined #nim
07:25:19*nils` quit (Client Quit)
07:26:25*nils` joined #nim
07:31:45FromDiscord<janakali> In reply to @xstormyy "Is the source code": It's linked at the bottom of website:↵https://github.com/FedericoCeratto/nim-package-directory
07:50:02FromDiscord<xstormyy> ic ic thank you!↵(@janakali)
08:43:29*alexdaguy quit (Ping timeout: 248 seconds)
08:45:38*alexdaguy joined #nim
09:06:15*skippy8 joined #nim
10:22:58*derpydoo joined #nim
10:46:55*alexdaguy quit (Ping timeout: 252 seconds)
11:04:02*SchweinDeBurg quit (Read error: Connection reset by peer)
11:09:41*SchweinDeBurg joined #nim
11:28:25*przmk quit (Remote host closed the connection)
11:28:51*przmk joined #nim
11:38:16*derpydoo quit (Ping timeout: 252 seconds)
12:23:01*alexdaguy joined #nim
13:00:06*amadaluzia joined #nim
14:04:54FromDiscord<jseb> i've understood the difference between type and typeof (there's none) but still wonder between typeof and typedesc
14:23:08FromDiscord<lainlaylie> the severe overloading of the `type` keyword makes things confusing. use `type` for type declarations, `typeof` to get the type of an expression, and `typedesc` to refer to types themselves
14:23:31FromDiscord<Phil> Taht's pretty much how I use it
14:24:20FromDiscord<Phil> typedesc to pass in a type as a param, typeof for the rare cases where I need to narrow down a generic to a specific type
14:24:23FromDiscord<Phil> (edit) "typedesc to pass in a type as a param, typeof for the rare cases where I need to narrow down a generic to a specific type ... " added "to do X"
14:24:33FromDiscord<Phil> (edit) "Taht's" => "That's"
14:25:35FromDiscord<jseb> sent a code paste, see https://play.nim-lang.org/#pasty=tHYkfXRk
14:25:55FromDiscord<jseb> (edit) "https://play.nim-lang.org/#pasty=xjSLTNBp" => "https://play.nim-lang.org/#pasty=Yvfxazxa"
14:26:51FromDiscord<lainlaylie> yeah there's no `==`(typedesc, typedesc)
14:27:08FromDiscord<jseb> ah , i understand the error message then
14:28:12FromDiscord<jseb> where in the manual can i find the reference for `is` keyword/macro/statement (or whatever it is), please ?
14:29:13FromDiscord<lainlaylie> good question.. bit hard to ctrl+f it
14:30:31FromDiscord<jseb> i think `i is int` must be expanded to something like `i == ord(typeof(i))`
14:30:33FromDiscord<lainlaylie> https://nim-lang.org/docs/manual.html#generics-is-operator
14:30:43FromDiscord<jseb> ah thank you !
14:33:25FromDiscord<jseb> so it's an operator, good to know
14:57:24*beholders_eye joined #nim
15:30:18*ntat quit (Quit: leaving)
15:33:11*alexdaguy quit (Quit: ded)
15:40:29FromDiscord<rasmolaxsus> anyone wana bing some nim tutorials ?
15:41:21FromDiscord<rasmolaxsus> beginner tutorials, the goal is to become a master at ast manipulation.
16:11:57FromDiscord<jseb> In reply to @rasmolaxsus "beginner tutorials, the goal": have you read this ? https://nim-lang.org/blog/2018/06/07/create-a-simple-macro.html
16:12:40FromDiscord<jseb> (edit) "https://nim-lang.org/blog/2018/06/07/create-a-simple-macro.html" => "https://nim-lang.org/blog/2018/06/07/create-a-simple-macro.html↵A good introduction to macros, i think (i don't practice this myself, too far beyond for me but i've understood what planetis was writing)"
16:17:16FromDiscord<Phil> For macros I honestly mostly learned them because I wanted to write a DSL
16:19:46FromDiscord<lainlaylie> i learned macros because they are cool 😎
16:20:26FromDiscord<Phil> sent a long message, see https://pasty.ee/qetnxboL
16:22:07FromDiscord<Phil> (edit) "https://pasty.ee/yhjCfuEZ" => "https://pasty.ee/rzGxNqcr"
16:23:14FromDiscord<albassort> @ElegantBeef @rasmolaxsus meeds je;p with some convoluted macro thing that i cannot help with lmao
16:29:11*Guest46 joined #nim
16:29:26*Guest46 quit (Client Quit)
16:50:01FromDiscord<rasmolaxsus> @albassort Thanks for coming by. Have a nice day. 👍
17:00:39FromDiscord<rasmolaxsus> In reply to @jseb "have you read this": Nope, i figured i would referesh the basic nim code before going to the AST
17:00:52FromDiscord<rasmolaxsus> (edit) "code" => "syntax"
17:29:34FromDiscord<jseb> learning « basic » nim is a full subject itself. It depends of your initial level of course. I'm trying to learn it nowadays, but i find it very hard. I know C, Lua and various assemblers dialects - so i guess i'm too low level for learning Nim fast.
17:30:36FromDiscord<jseb> (edit) "fast." => "fast.↵(at least, thank to Lua, i have some basis to higher level programming, but not that much)"
17:34:29FromDiscord<jseb> for example (i'm just taking as example the current place i'm in the book of Mr Rumpf), with sets : ok i understand what is a set : it's a bit field. And it can be used for usual applications on set (intersection, union). So i have a table of bit for sets. Ok. And what can i do with that ? I understand it's not the purpose of the book to explain that all, but still i'm struggling all the time.
17:36:36FromDiscord<myxi> I mean that's not really about nim at that point, more like you're struggling with high level programming itself (not that i consider sets some high level construct)
17:37:03FromDiscord<myxi> it'd be about nim if you were struggling with the semantics or the syntax i guess
17:37:28FromDiscord<leorize> you can just write nim like you write c as well tbh
17:37:29FromDiscord<jseb> well i have samples with the syntax of nim too :)
17:37:36FromDiscord<leorize> that's probably the most stable subset of nim
17:38:46FromDiscord<leorize> `set` is mostly used as a replacement for the good ol' C enum bitmap trick
17:39:06FromDiscord<myxi> or python. I knew no low level languages and nim, but I still made a pretty cool project in nim by looking at examples alone↵↵if you only had experience with low level programming, at best you'd have to kind of let yourself free and experience the magic as the garbage collector works out its magic
17:39:20FromDiscord<myxi> (edit) "nim," => "nim at one point,"
17:39:33FromDiscord<myxi> (edit) "alone↵↵if" => "alone for half a day↵↵if"
17:39:47FromDiscord<leorize> the catch is that `set`'s C-interop is not well defined
17:40:17FromDiscord<jseb> if i have a set of a byte, do i get 8 differents values ?
17:40:38FromDiscord<leorize> nope
17:40:57FromDiscord<leorize> `set` automatically scale to be able to store all bits of the given type
17:41:14FromDiscord<leorize> the upper limit is uint16 iirc
17:41:27FromDiscord<leorize> values with a larger range will have to switch to HashSet
17:41:39FromDiscord<jseb> but each element of the set takes one bit, isn't it ?
17:41:56FromDiscord<leorize> it is
17:42:08FromDiscord<leorize> so `set[byte]` would allocate enough for 256 bits
17:43:17FromDiscord<jseb> yes that's what i was thinking. So in the best favorable scenario (AVX 512), sets shouldn't have more than 512 elements. If i understand well
17:43:47FromDiscord<leorize> bold of you to assume that sets are SIMD-accelerated
17:44:21FromDiscord<jseb> that's why i say « most favorable scenario »
17:44:43FromDiscord<jseb> i wouldn't bet more than 64 elements, though
17:46:20FromDiscord<leorize> if you need sets for a large value range you should definitely not use `set[T]`
17:46:21FromDiscord<leorize> you'd waste more memory encoding `0`s than `1`s
17:46:21FromDiscord<leorize> sets are the most useful used with an enum, since most enums don't breach the 32 values mark
17:50:39FromDiscord<jseb> in the book of Mr Salewski, there is an interesting discussion about sets. In a general manner, i think is book is more suitable for my case than the documentation. But i wanted to play with naylib, not passing a computer degree ^^'
17:51:28FromDiscord<leorize> salewski book is pretty good
17:52:21FromDiscord<jseb> and it has 512 pages, which i see as a sign of Destiny.
18:28:50*ntat joined #nim
18:40:39FromDiscord<Phil> In reply to @jseb "for example (i'm just": Why not just use that kind of set the same as one would use any set?↵For efficiently checking "is X contained in this group of values Y", there's plenty of usecases where that's useful
19:49:43*beholders_eye quit (Ping timeout: 252 seconds)
19:55:16FromDiscord<rasmolaxsus> In reply to @jseb "for example (i'm just": Guess we both have the same issues because i am coming from python and Typescipt sooo yeah, i think both high level programmers and low level programmers will struggle a bit with, and i think that is because nim requires you to be an avatar with the ability to bend high level and low level together ...... and some functional programming for those who are not used to it. So yeah, you and me
19:55:38FromDiscord<rasmolaxsus> (edit) "with," => "with nim,"
20:51:09FromDiscord<the.unnamed> So... about `re` and `nre`. Are they both supported? If there's a bug in `re` that's not in `nre`, should I report it?
21:18:26*ntat quit (Quit: leaving)
21:22:34FromDiscord<DetermiedNim1> In reply to @rasmolaxsus "Guess we both have": my main experience was a bit java and a lot of ruby
21:22:53FromDiscord<DetermiedNim1> with some lua and python mixed in there
21:25:10FromDiscord<DetermiedNim1> I didn't struggle a ton but I think that's just because I had practice learning languages through docs (I read the Lua manual like 50 quadrillion times)
22:12:17FromDiscord<tomo_kimpesa> In reply to @jseb "learning « basic »": hardest part for me, is knowing when to defer to optional gc since I've never worked both at the same time before
22:12:58FromDiscord<tomo_kimpesa> my exp is also mostly haskell, and lisp langs
22:15:09*amadaluzia quit (Ping timeout: 252 seconds)
22:16:56*xet7 joined #nim
22:17:08FromDiscord<tomo_kimpesa> but I'd say it's a very smooth experience, nothing that really stumps me unlike learning forth or something alike.
22:17:40FromDiscord<tomo_kimpesa> (edit) "alike." => "similar."
22:54:56*xet7 quit (Remote host closed the connection)
23:11:07FromDiscord<aintea> Does anyone know where does most of the Nim maintainers work go ? Tooling ? New compiler ? Fixing compiler bugs ? Documentation ?↵↵And is there somewhere we can follow what's happening (other than just reading commit messages)