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:26 | FromDiscord | <Langosta> Is atlas still used often? |
01:19:31 | FromDiscord | <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:02 | FromDiscord | <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:35 | FromDiscord | <Langosta> In reply to @lainlaylie "personally I've gone back": I didn't know I could use nimble for that! |
02:29:55 | FromDiscord | <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:52 | FromDiscord | <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:45 | FromDiscord | <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:02 | FromDiscord | <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:54 | FromDiscord | <jseb> i've understood the difference between type and typeof (there's none) but still wonder between typeof and typedesc |
14:23:08 | FromDiscord | <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:31 | FromDiscord | <Phil> Taht's pretty much how I use it |
14:24:20 | FromDiscord | <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:23 | FromDiscord | <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:33 | FromDiscord | <Phil> (edit) "Taht's" => "That's" |
14:25:35 | FromDiscord | <jseb> sent a code paste, see https://play.nim-lang.org/#pasty=tHYkfXRk |
14:25:55 | FromDiscord | <jseb> (edit) "https://play.nim-lang.org/#pasty=xjSLTNBp" => "https://play.nim-lang.org/#pasty=Yvfxazxa" |
14:26:51 | FromDiscord | <lainlaylie> yeah there's no `==`(typedesc, typedesc) |
14:27:08 | FromDiscord | <jseb> ah , i understand the error message then |
14:28:12 | FromDiscord | <jseb> where in the manual can i find the reference for `is` keyword/macro/statement (or whatever it is), please ? |
14:29:13 | FromDiscord | <lainlaylie> good question.. bit hard to ctrl+f it |
14:30:31 | FromDiscord | <jseb> i think `i is int` must be expanded to something like `i == ord(typeof(i))` |
14:30:33 | FromDiscord | <lainlaylie> https://nim-lang.org/docs/manual.html#generics-is-operator |
14:30:43 | FromDiscord | <jseb> ah thank you ! |
14:33:25 | FromDiscord | <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:29 | FromDiscord | <rasmolaxsus> anyone wana bing some nim tutorials ? |
15:41:21 | FromDiscord | <rasmolaxsus> beginner tutorials, the goal is to become a master at ast manipulation. |
16:11:57 | FromDiscord | <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:40 | FromDiscord | <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:16 | FromDiscord | <Phil> For macros I honestly mostly learned them because I wanted to write a DSL |
16:19:46 | FromDiscord | <lainlaylie> i learned macros because they are cool 😎 |
16:20:26 | FromDiscord | <Phil> sent a long message, see https://pasty.ee/qetnxboL |
16:22:07 | FromDiscord | <Phil> (edit) "https://pasty.ee/yhjCfuEZ" => "https://pasty.ee/rzGxNqcr" |
16:23:14 | FromDiscord | <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:01 | FromDiscord | <rasmolaxsus> @albassort Thanks for coming by. Have a nice day. 👍 |
17:00:39 | FromDiscord | <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:52 | FromDiscord | <rasmolaxsus> (edit) "code" => "syntax" |
17:29:34 | FromDiscord | <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:36 | FromDiscord | <jseb> (edit) "fast." => "fast.↵(at least, thank to Lua, i have some basis to higher level programming, but not that much)" |
17:34:29 | FromDiscord | <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:36 | FromDiscord | <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:03 | FromDiscord | <myxi> it'd be about nim if you were struggling with the semantics or the syntax i guess |
17:37:28 | FromDiscord | <leorize> you can just write nim like you write c as well tbh |
17:37:29 | FromDiscord | <jseb> well i have samples with the syntax of nim too :) |
17:37:36 | FromDiscord | <leorize> that's probably the most stable subset of nim |
17:38:46 | FromDiscord | <leorize> `set` is mostly used as a replacement for the good ol' C enum bitmap trick |
17:39:06 | FromDiscord | <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:20 | FromDiscord | <myxi> (edit) "nim," => "nim at one point," |
17:39:33 | FromDiscord | <myxi> (edit) "alone↵↵if" => "alone for half a day↵↵if" |
17:39:47 | FromDiscord | <leorize> the catch is that `set`'s C-interop is not well defined |
17:40:17 | FromDiscord | <jseb> if i have a set of a byte, do i get 8 differents values ? |
17:40:38 | FromDiscord | <leorize> nope |
17:40:57 | FromDiscord | <leorize> `set` automatically scale to be able to store all bits of the given type |
17:41:14 | FromDiscord | <leorize> the upper limit is uint16 iirc |
17:41:27 | FromDiscord | <leorize> values with a larger range will have to switch to HashSet |
17:41:39 | FromDiscord | <jseb> but each element of the set takes one bit, isn't it ? |
17:41:56 | FromDiscord | <leorize> it is |
17:42:08 | FromDiscord | <leorize> so `set[byte]` would allocate enough for 256 bits |
17:43:17 | FromDiscord | <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:47 | FromDiscord | <leorize> bold of you to assume that sets are SIMD-accelerated |
17:44:21 | FromDiscord | <jseb> that's why i say « most favorable scenario » |
17:44:43 | FromDiscord | <jseb> i wouldn't bet more than 64 elements, though |
17:46:20 | FromDiscord | <leorize> if you need sets for a large value range you should definitely not use `set[T]` |
17:46:21 | FromDiscord | <leorize> you'd waste more memory encoding `0`s than `1`s |
17:46:21 | FromDiscord | <leorize> sets are the most useful used with an enum, since most enums don't breach the 32 values mark |
17:50:39 | FromDiscord | <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:28 | FromDiscord | <leorize> salewski book is pretty good |
17:52:21 | FromDiscord | <jseb> and it has 512 pages, which i see as a sign of Destiny. |
18:28:50 | * | ntat joined #nim |
18:40:39 | FromDiscord | <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:16 | FromDiscord | <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:38 | FromDiscord | <rasmolaxsus> (edit) "with," => "with nim," |
20:51:09 | FromDiscord | <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:34 | FromDiscord | <DetermiedNim1> In reply to @rasmolaxsus "Guess we both have": my main experience was a bit java and a lot of ruby |
21:22:53 | FromDiscord | <DetermiedNim1> with some lua and python mixed in there |
21:25:10 | FromDiscord | <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:17 | FromDiscord | <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:58 | FromDiscord | <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:08 | FromDiscord | <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:40 | FromDiscord | <tomo_kimpesa> (edit) "alike." => "similar." |
22:54:56 | * | xet7 quit (Remote host closed the connection) |
23:11:07 | FromDiscord | <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) |