00:18:03 | * | NimBot joined #nim |
00:35:38 | FromDiscord | <zetashift> sent a code paste, see https://play.nim-lang.org/#ix=3n3n |
00:36:09 | FromDiscord | <zetashift> Ah I could've just tried this out on the playground, I guess I need sleep haha |
00:44:36 | * | njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
00:44:58 | * | njoseph joined #nim |
00:55:12 | * | nphg1 joined #nim |
00:57:04 | * | nphg quit (Ping timeout: 245 seconds) |
01:38:13 | * | Tlangir joined #nim |
01:46:44 | * | hyiltiz quit (Ping timeout: 246 seconds) |
01:55:39 | * | hyiltiz joined #nim |
01:55:39 | * | hyiltiz quit (Changing host) |
01:55:39 | * | hyiltiz joined #nim |
02:02:06 | * | Tlangir quit (Remote host closed the connection) |
02:19:05 | * | Tlangir joined #nim |
02:45:36 | stefantalpalaru | FAIL: tests/stdlib/tchannels_pthread.nim c (22329.54 sec) |
02:45:57 | stefantalpalaru | Just had to manually kill this one, on devel, after forgetting about it for a while. |
02:50:28 | ForumUpdaterBot | New post on r/nim by 4runninglife: Found a good tutorial on Nim, thought I share., see https://reddit.com/r/nim/comments/ne4se0/found_a_good_tutorial_on_nim_thought_i_share/ |
03:00:06 | * | thomasross quit (Ping timeout: 240 seconds) |
03:34:47 | * | spiderstew joined #nim |
03:35:15 | * | spiderstew_ quit (Ping timeout: 260 seconds) |
04:55:12 | ForumUpdaterBot | New post on r/nim by 4runninglife: Inim question, see https://reddit.com/r/nim/comments/ne73nn/inim_question/ |
04:59:04 | * | narimiran joined #nim |
05:15:25 | * | Gustavo6046 quit (Ping timeout: 265 seconds) |
05:25:09 | * | mal`` quit (Quit: Leaving) |
05:35:43 | * | Gustavo6046 joined #nim |
05:41:41 | * | mal`` joined #nim |
06:57:41 | * | Vladar joined #nim |
07:04:22 | * | arecaceae quit (Remote host closed the connection) |
07:06:04 | * | arecaceae joined #nim |
07:22:02 | ForumUpdaterBot | New post on r/nim by oberguga: What best IDE/editor for NIM now., see https://reddit.com/r/nim/comments/ne9i90/what_best_ideeditor_for_nim_now/ |
07:23:17 | ronny | hi, is there any nim library around working with arrays of structs stored in memmory mapped network byteorder files? |
08:14:20 | * | Tlangir quit (Quit: Leaving) |
08:40:41 | FromGitter | <bung87> there's https://github.com/OpenSystemsLab/struct.nim choose byte order by you |
08:50:32 | FromDiscord | <madman> https://play.nim-lang.org/#ix=3n52 it doesnt work if i dont include the `'f32` in the array |
09:00:18 | * | konradmb[m] quit (Quit: Idle for 30+ days) |
09:17:59 | * | sz0 joined #nim |
09:27:47 | ronny | struct.nim is precisely what i'd like to avoid, i dont want to pack/unpakc, i want to directly use them in expressions, declared as structs |
10:00:12 | * | clyybber joined #nim |
10:24:06 | FromDiscord | <Vindaar> In reply to @ElegantBeef "": what kind of wizardry is this? `makeHSeq` is a macro that makes a variant object and `caseof` a macro that doesn't look as spooky as `when`? |
10:51:12 | * | tane joined #nim |
10:53:55 | FromGitter | <bung87> @ronny how about https://github.com/bung87/buffer |
10:59:02 | ronny | Exactly the same issues |
10:59:34 | ronny | I don't want to compose byte strings, I want to change / use memory mapped data |
11:01:18 | * | Northstrider[m] quit (Quit: Bridge terminating on SIGTERM) |
11:03:00 | * | Northstrider[m] joined #nim |
11:34:09 | ForumUpdaterBot | New thread by Cmc: Weaning myself off bash for Nim for little plumbing tools, see https://forum.nim-lang.org/t/7992 |
11:55:43 | * | CodeBitCookie[m] joined #nim |
11:56:20 | CodeBitCookie[m] | Hello I am interested in this language |
11:58:02 | FromDiscord | <Rika> hi |
12:00:37 | FromDiscord | <madman> In reply to @x19 "https://play.nim-lang.org/#ix=3n52 it doesnt work": https://play.nim-lang.org/#ix=3n5X i guess this is the nicer syntax |
12:03:12 | FromDiscord | <Zachary Carter> In reply to @x19 "https://play.nim-lang.org/#ix=3n5X i guess this": Nim' s going to default to whatever the system's word size is so on a 64 bit machine Nim will allocate a 64 bit floating point n umber when it sees `0.0` so you need to be explicit and tell the compiler, no I want a 32 bit floating point number here. |
12:03:38 | FromDiscord | <Zachary Carter> Since arrays in Nim are homogeneous you only need to indicate that the first element of the array is a 64 bit float |
12:03:54 | FromDiscord | <Zachary Carter> (edit) "n umber" => "number" |
12:04:15 | FromDiscord | <madman> yeah i dont mine being explicit, i was just looking for a syntax that's different from appending 'f32 to the first element |
12:04:25 | FromDiscord | <madman> (edit) "mine" => "mind" |
12:05:09 | FromDiscord | <Zachary Carter> I think `'f32` is much cleaner than `float32 0.0` |
12:05:23 | FromDiscord | <madman> but it doesnt align :( |
12:05:23 | FromDiscord | <Zachary Carter> but to each their own π |
12:05:34 | FromDiscord | <madman> when u go to a new line |
12:05:36 | FromDiscord | <Zachary Carter> well you can always append it to every element in the array |
12:05:43 | FromDiscord | <madman> no thanks :D |
12:05:45 | FromDiscord | <Zachary Carter> π |
12:06:12 | CodeBitCookie[m] | hey rika |
12:06:28 | FromDiscord | <Rika> got anything to discuss or anything |
12:06:33 | CodeBitCookie[m] | Yes |
12:06:41 | CodeBitCookie[m] | I am a game programmer |
12:06:55 | CodeBitCookie[m] | / app developer (desktop) |
12:07:17 | CodeBitCookie[m] | I know nim is good for basically anything c is good for |
12:07:35 | CodeBitCookie[m] | but is nim a good candidate for my genre |
12:07:56 | FromDiscord | <Zachary Carter> what is your genre? |
12:07:57 | FromDiscord | <Rika> plenty of game programmers use nim yeah |
12:08:21 | CodeBitCookie[m] | Hey zachary. |
12:08:22 | CodeBitCookie[m] | Also |
12:08:26 | FromDiscord | <Zachary Carter> Hi |
12:08:47 | CodeBitCookie[m] | Can any of you point me to some games nim has made? |
12:08:53 | CodeBitCookie[m] | sorry i mean |
12:08:59 | CodeBitCookie[m] | games made by nim |
12:09:03 | FromDiscord | <Rika> made in nim |
12:09:10 | CodeBitCookie[m] | yup |
12:09:20 | FromDiscord | <Zachary Carter> Check out @impbox [ftsf] 's github repo |
12:09:53 | FromDiscord | <Zachary Carter> https://github.com/ftsf/nico#games-made-using-nico |
12:10:00 | FromDiscord | <Zachary Carter> There are a few |
12:10:01 | CodeBitCookie[m] | damnnn |
12:10:39 | CodeBitCookie[m] | Literally everything |
12:10:47 | CodeBitCookie[m] | in the nico game framework |
12:10:57 | CodeBitCookie[m] | thats nice |
12:11:08 | CodeBitCookie[m] | Any entry level stuff for me to get started on nim |
12:11:10 | FromDiscord | <Zachary Carter> Well if you want to develop 2d pixel art games sure |
12:11:18 | FromDiscord | <Zachary Carter> The manual and tutorial are good places to start |
12:11:45 | FromDiscord | <Zachary Carter> https://narimiran.github.io/nim-basics/ is also nice |
12:11:49 | CodeBitCookie[m] | Oh yeah one more thing is SDL is supported so base level stuff like opengl and vulkan is also supported right? |
12:12:02 | CodeBitCookie[m] | good support |
12:12:14 | FromDiscord | <Zachary Carter> There are multiple bindings for SDL2 |
12:12:40 | FromDiscord | <Zachary Carter> There are also bindings for OpenGL and Vulkan |
12:12:48 | CodeBitCookie[m] | <FromDiscord "<Zachary Carter> Well if you wan"> here you said 2d pixel art games. I am talking about if I built my own game engine from scratch for 3d game dev |
12:13:04 | CodeBitCookie[m] | I know you said it for entry level stuff |
12:13:05 | CodeBitCookie[m] | but |
12:13:13 | CodeBitCookie[m] | ? |
12:13:19 | FromDiscord | <madman> you want low level opengl directx vulkan metal? |
12:13:21 | FromDiscord | <Zachary Carter> I mean yes theoretically you could build your own 3d game engine using Nim |
12:13:29 | FromDiscord | <Zachary Carter> I wouldn't recommend it - but if you want to, you can |
12:13:42 | CodeBitCookie[m] | Why would you not recommend it? |
12:14:07 | FromDiscord | <Zachary Carter> Because developing your own game engine is a road to nowhere |
12:14:25 | CodeBitCookie[m] | That is a topic for another time |
12:14:27 | FromDiscord | <Zachary Carter> sure |
12:14:35 | FromDiscord | <Zachary Carter> It'd be about as difficult as writing one in C |
12:14:49 | FromDiscord | <Zachary Carter> Maybe a bit less so since you can interop with C++ libraries easier than you could if you were using C |
12:15:02 | CodeBitCookie[m] | hmm yes |
12:15:13 | FromDiscord | <Zachary Carter> but expect to bring your own solutions to a lot of problem's you'll encounter |
12:15:33 | CodeBitCookie[m] | I have actually built game engines in different languages beofre |
12:15:39 | CodeBitCookie[m] | * I have actually built game engines in different languages before |
12:15:46 | FromDiscord | <Rika> what languages? |
12:15:54 | CodeBitCookie[m] | java, c++ etc |
12:15:56 | FromDiscord | <Rika> are you used to a language with a really small ecosystem? |
12:16:01 | CodeBitCookie[m] | no |
12:16:01 | FromDiscord | <Zachary Carter> https://github.com/zacharycarter/zengine |
12:16:09 | FromDiscord | <Zachary Carter> https://github.com/fragworks/frag |
12:16:11 | FromDiscord | <Rika> then that will pose an issue |
12:16:12 | FromDiscord | <Zachary Carter> both of my projects |
12:16:34 | FromDiscord | <Zachary Carter> I've been down this road before with Nim, so if you want to talk to someone who has been there and tried to do that, I have some experience |
12:16:51 | FromDiscord | <Zachary Carter> hopefully you have more success / ambition than I did when I worked on these π |
12:16:51 | CodeBitCookie[m] | damn wasn't expecting that |
12:17:11 | CodeBitCookie[m] | These are amazing projects |
12:17:18 | CodeBitCookie[m] | Good job man |
12:17:22 | FromDiscord | <Zachary Carter> Thanks |
12:17:52 | CodeBitCookie[m] | So I mean how was it? |
12:18:01 | CodeBitCookie[m] | like how did building them go? |
12:19:29 | FromDiscord | <Zachary Carter> Frag was my first forray into a large Nim project - I was very new and wasn't really sure how to best author a library in Nim so it was a lot of experimental stuff and it ended up in a state I wasn't really happy with. It became more and more difficult to maintain / extend and I wanted to focus more on 3d so I abandoned the project after I made a usable game with it (space invaders). |
12:20:00 | CodeBitCookie[m] | wow |
12:20:07 | CodeBitCookie[m] | I understand |
12:20:16 | FromDiscord | <Zachary Carter> Zengine was basically a port of Raylib, or it started out that way anyway. It was much smoother going, I just ran out of steam. I made a few more attempts at building engines but ultimately decided I didn't want to try making engines / libraries anymore, and instead focus on making games with Nim. |
12:20:54 | FromDiscord | <Zachary Carter> Which I still haven't done - but that's just due to personal life and lack of time. I have a project I'm working on but life is busy atm so it's in a bit of a haitus mode. |
12:21:06 | CodeBitCookie[m] | I can relate on a smaller level with you |
12:21:26 | FromDiscord | <zetashift> In reply to @CodeBitCookie "Can any of you": There's also https://github.com/pragmagic/godot-nim#made-with-godot-nim but the code for these games are not available |
12:21:28 | FromDiscord | <Zachary Carter> Ultimately, it was a lot of work and figuring things out. Thankfully at that time the community was much smaller and the core devs were a bit more active so it was easy to get help right away on things. |
12:22:01 | CodeBitCookie[m] | So you were like an OG |
12:22:06 | FromDiscord | <madman> ZEngine looks awesome dude |
12:22:16 | FromDiscord | <Zachary Carter> I think there is more code discoverable on Github now to help figure out how to do things, but ultimately you'll be doing a lot of experimentation on your own and having to solve problems no one else has using Nim. |
12:22:18 | FromDiscord | <Zachary Carter> Thanks |
12:22:28 | FromDiscord | <zetashift> Zachary IS an OG π he has done great stuff |
12:22:44 | CodeBitCookie[m] | Yeah man |
12:22:47 | FromDiscord | <Zachary Carter> I started using Nim four years ago, but I think there are much more valuable OG's to the community than me π Like Mamy and Disruptek, Dom, Timothee, etc... |
12:23:00 | FromDiscord | <Zachary Carter> I don't really contribute, I just consume π |
12:23:05 | CodeBitCookie[m] | Oof |
12:23:10 | CodeBitCookie[m] | 4 years |
12:23:34 | CodeBitCookie[m] | nim was made in 2008 |
12:23:57 | FromDiscord | <Zachary Carter> Yeah and it's changed quite a bit since then |
12:24:04 | FromDiscord | <zetashift> In reply to @Zachary Carter "I don't really contribute,": I'd probably never went into Nim it wasn't for the cool stuff I saw you do |
12:24:06 | FromDiscord | <Zachary Carter> Originally it was implemented in Object Pascal I think |
12:24:12 | FromDiscord | <madman> In reply to @zetashift "There's also https://github.com/pragmagic/godot-nim": those are some nice games made with godot-nim |
12:25:34 | CodeBitCookie[m] | Thanks madman. |
12:25:55 | CodeBitCookie[m] | Well Zachary Carter Have you ever seen nim used in production |
12:26:00 | CodeBitCookie[m] | Im guessing not |
12:26:10 | FromDiscord | <madman> @CodeBitCookie if you are feeling adventurous, you can check out my bindings for this low level C library: https://github.com/IbrahimHindawi/Knim |
12:26:11 | FromDiscord | <Zachary Carter> There are a few games that were built using Nim that made it to production |
12:26:29 | FromDiscord | <Zachary Carter> Including the ones that @zetashift linked in the Godot repo |
12:26:30 | CodeBitCookie[m] | but its worth a shot |
12:26:44 | FromDiscord | <Zachary Carter> another one was one Yuri worked on, let me try to find a link |
12:26:59 | FromDiscord | <madman> Rod? |
12:27:19 | CodeBitCookie[m] | Wow madman did you make Knim |
12:27:34 | FromDiscord | <madman> yes |
12:27:45 | * | clyybber quit (Quit: WeeChat 3.1) |
12:28:08 | CodeBitCookie[m] | Thats pretty cool |
12:28:12 | FromDiscord | <madman> its just bindings to Kinc |
12:28:37 | FromDiscord | <madman> i still need to add dx12 vulkan and metal, but im doing dx11 and opengl for now |
12:28:51 | CodeBitCookie[m] | yes |
12:28:53 | FromDiscord | <Zachary Carter> https://yglukhov.github.io/Making-ReelValley-Overview/ |
12:28:59 | FromDiscord | <Zachary Carter> I think that was made using Rod |
12:29:06 | CodeBitCookie[m] | Do any of you know Nix or NixOS |
12:29:34 | FromDiscord | <zetashift> I use Nix |
12:29:53 | CodeBitCookie[m] | yeahhhhhh |
12:30:17 | FromDiscord | <madman> i tried Rod, its pretty damn cool, even has an editor |
12:30:18 | CodeBitCookie[m] | Do you know how I could implement this with nix flakes |
12:30:26 | CodeBitCookie[m] | <FromDiscord "<madman> i tried Rod, its pretty"> woah |
12:30:40 | CodeBitCookie[m] | Nim is a really cool community |
12:31:00 | CodeBitCookie[m] | I was in a state of Aw when I say jester and all of the web stuff with nim |
12:31:48 | CodeBitCookie[m] | Even though I am not a fan of c (fan of c++ (ironically also a fan of low level memory management and stuff like that)) |
12:32:19 | CodeBitCookie[m] | But I really don't feel like learning another programming language |
12:32:26 | CodeBitCookie[m] | But I really want to |
12:33:24 | CodeBitCookie[m] | Wait a GUI in Nim |
12:33:27 | CodeBitCookie[m] | yessss |
12:33:51 | FromDiscord | <madman> if you like python and c++, Nim is pretty intuitive to pick up |
12:33:51 | CodeBitCookie[m] | I hate the gui support with other programming languages like c++ c and java |
12:33:58 | FromDiscord | <VinKer> sent a code paste, see https://play.nim-lang.org/#ix=3n6d |
12:34:33 | CodeBitCookie[m] | Yo this is so cool |
12:34:46 | CodeBitCookie[m] | but before getting into nix |
12:35:00 | CodeBitCookie[m] | can anyone tell me the disadvantages. Cz every language has some |
12:35:18 | CodeBitCookie[m] | I would still most probably get on nim |
12:35:27 | CodeBitCookie[m] | but I want to go in expecting something |
12:35:49 | CodeBitCookie[m] | Vinker Thanks for the link |
12:35:59 | CodeBitCookie[m] | thats pretty cool too |
12:36:05 | CodeBitCookie[m] | is the playground also made in nim? |
12:36:47 | FromDiscord | <impbox [ftsf]> Not great at cyclic dependencies is probably the main disadvantage I've come across with nim. |
12:37:03 | FromDiscord | <impbox [ftsf]> But nim is awesome for making games, give Nico a try, there are some examples to check out |
12:37:16 | FromDiscord | <impbox [ftsf]> And a video from last nimconf |
12:37:23 | FromDiscord | <madman> In reply to @impbox "Not great at cyclic": @impbox [ftsf] does orc solve that |
12:37:32 | CodeBitCookie[m] | I mean the dependencies problem is handeled by nix and nixos so thats not a problem |
12:37:38 | FromDiscord | <madman> (edit) "does" => "doesn't" |
12:37:48 | FromDiscord | <impbox [ftsf]> https://youtu.be/czLI5XJFxYA |
12:38:29 | FromDiscord | <impbox [ftsf]> Cyclic dependencies in includes/types not in reference counting. |
12:38:38 | FromDiscord | <madman> i see |
12:38:56 | FromDiscord | <impbox [ftsf]> You can deal with it, but it's less friendly than some other languages in that respect |
12:39:09 | FromDiscord | <madman> by includes you mean `import`s |
12:39:16 | FromDiscord | <madman> ? |
12:39:18 | CodeBitCookie[m] | Well Other than the cyclic dependencies any other problem |
12:40:34 | FromDiscord | <impbox [ftsf]> In reply to @x19 "?": Yes |
12:41:37 | FromDiscord | <madman> cool, thx |
12:42:25 | FromDiscord | <impbox [ftsf]> I'm struggling to think of many other problems I run into with nim, there are some odd things you need to get used to I'm sure, but compared to other languages I've used it's the one I'd want to keep using |
12:42:42 | CodeBitCookie[m] | Yayyyy |
12:42:45 | CodeBitCookie[m] | It's nim time |
12:43:03 | CodeBitCookie[m] | I feel cozy here |
12:43:14 | CodeBitCookie[m] | and welcomed |
12:43:18 | CodeBitCookie[m] | (I hope) |
12:43:20 | CodeBitCookie[m] | lol |
12:43:33 | FromDiscord | <madman> as an added bonus, you can always jump down and dirty into pointers with nim too, no restrictions |
12:43:56 | FromDiscord | <madman> :-) |
12:44:23 | CodeBitCookie[m] | Oh really that was the only thing I was just thinking about |
12:44:28 | FromDiscord | <impbox [ftsf]> There's also a gamedev channel |
12:44:35 | CodeBitCookie[m] | So I can switch between like python and c++? |
12:44:42 | FromDiscord | <impbox [ftsf]> And using c libraries is fairly easy |
12:45:02 | FromDiscord | <madman> yea you can use Nim as a high level language or as a low level language |
12:45:19 | CodeBitCookie[m] | I'm phsyced |
12:45:28 | FromDiscord | <Hi02Hi> another problem would be that we are a small community (that also means any questions don't get flooded :)), so not all things are made, but that is improving |
12:45:30 | FromDiscord | <madman> In reply to @impbox "And using c libraries": yes even ones that have complex build systems, with a bit of tinkering, you can inject nim into it ;) |
12:45:52 | CodeBitCookie[m] | :D |
12:45:54 | CodeBitCookie[m] | One more thing I know this is a lot to ask for but |
12:46:00 | CodeBitCookie[m] | functional programming? |
12:46:13 | FromDiscord | <madman> yes |
12:46:21 | CodeBitCookie[m] | I love haskell |
12:46:29 | CodeBitCookie[m] | madman: really? |
12:46:35 | FromDiscord | <madman> you can use `func` instead of `proc` to make sure the function has no side effects |
12:46:41 | FromDiscord | <Hi02Hi> there is `func`/`proc {.noSideEffect.}` made specially for that |
12:46:46 | CodeBitCookie[m] | and |
12:46:54 | FromDiscord | <impbox [ftsf]> And map and stuff |
12:47:06 | FromDiscord | <Hi02Hi> https://nim-lang.org/docs/sequtils.html |
12:47:12 | CodeBitCookie[m] | Ok I can't even think about what nim lacks |
12:47:18 | CodeBitCookie[m] | didn't expect to get here |
12:47:22 | FromDiscord | <madman> i highly recommend Nim in Action book after you get acquainted with the basics |
12:47:26 | CodeBitCookie[m] | how did even get here again? |
12:47:34 | CodeBitCookie[m] | <FromDiscord "<madman> i highly recommend Nim "> yup was thinking about that |
12:48:14 | CodeBitCookie[m] | I went from nixos to blog explaining that he want to use zig a small prgramming language looking at that I went into new languages and from that to nim. |
12:49:02 | FromDiscord | <Hi02Hi> `.map().filter()` creates two sequences, so not very efficent, but through nim's metaprogramming that has been fixed https://github.com/zero-functional/zero-functional |
12:49:40 | CodeBitCookie[m] | I mean I know performance is great but can you disable the gc? |
12:50:11 | FromDiscord | <Hi02Hi> yes, through `--gc:none` |
12:50:21 | FromDiscord | <madman> you can disable it, but i don't recommend it |
12:50:26 | ForumUpdaterBot | New thread by Kcvinu: How to solve type mismatch error ?, see https://forum.nim-lang.org/t/7993 |
12:50:40 | CodeBitCookie[m] | I would call nim a universal language |
12:50:50 | CodeBitCookie[m] | hopfully I can contribute to this community |
12:50:57 | FromDiscord | <madman> https://nim-lang.org/docs/gc.html |
12:51:28 | FromDiscord | <madman> you might wanna have a look at --gc:arc or --gc:orc move semantic optimizations |
12:51:32 | FromDiscord | <Hi02Hi> there is also `--gc:arc` https://www.youtube.com/watch?v=aUJcYTnPWCg |
12:51:42 | CodeBitCookie[m] | So it also has good docs |
12:52:18 | CodeBitCookie[m] | I litterally can't think about anything lacking in nim |
12:52:49 | CodeBitCookie[m] | this is really cool though: |
12:52:49 | CodeBitCookie[m] | https://github.com/zero-functional/zero-functional |
12:52:59 | FromDiscord | <madman> https://github.com/mratsim/weave/tree/master/weave/memory |
12:53:24 | CodeBitCookie[m] | what is that? |
12:53:30 | FromDiscord | <madman> https://github.com/mratsim/weave |
12:53:56 | FromDiscord | <madman> some hardcore stuff :D |
12:54:07 | FromDiscord | <Hi02Hi> high-performance multithreading stuff |
12:54:47 | CodeBitCookie[m] | " In particular Weave displays as low as 3x to 10x less overhead than Intel TBB and GCC OpenMP on overhead-bound benchmarks." Damn |
12:56:09 | FromDiscord | <Hi02Hi> mratsim where you at? |
12:56:19 | * | CodeBitCookie[m] uploaded an image: (49KiB) < https://matrix.org/_matrix/media/r0/download/matrix.org/NPSHtYgMwGVKCbyFEDZpZWXO/image.png > |
12:56:26 | CodeBitCookie[m] | Now this is what I am talking about |
12:56:38 | CodeBitCookie[m] | its even faster than c++ |
12:56:46 | CodeBitCookie[m] | im falling out of my chair |
12:57:08 | CodeBitCookie[m] | I though I would have to use the gift horse metaphor |
12:59:48 | FromDiscord | <Hi02Hi> i guess another problem for nim is that not many have heard of it |
13:00:01 | CodeBitCookie[m] | doesn't matter |
13:00:04 | FromDiscord | <madman> it will grow organically |
13:00:16 | CodeBitCookie[m] | atleast I have heard of it |
13:00:23 | * | Vladar quit (Quit: Leaving) |
13:01:14 | FromDiscord | <Hi02Hi> In reply to @x19 "it will grow organically": true |
13:07:19 | CodeBitCookie[m] | Okay so I definitely WILL use nim Inshallah. but any thoughts on zig |
13:07:51 | * | Vladar joined #nim |
13:08:46 | CodeBitCookie[m] | It is very much younger than nim |
13:11:36 | FromDiscord | <Rika> complete inverse of nim |
13:11:48 | CodeBitCookie[m] | huh? |
13:11:48 | FromDiscord | <Rika> its not bad, just the inverse of nim |
13:11:50 | CodeBitCookie[m] | really? |
13:11:52 | FromDiscord | <Rika> yes |
13:11:55 | CodeBitCookie[m] | how |
13:12:15 | FromDiscord | <Rika> no templates, no macros (in the traditional way), no overloading, no custom operators |
13:12:16 | FromDiscord | <Rika> et |
13:12:17 | FromDiscord | <Rika> c |
13:12:19 | CodeBitCookie[m] | <FromDiscord "<Rika> its not bad, just the inv"> I like how you stated that its not bad |
13:12:26 | FromDiscord | <Rika> braces, keeps c-style as much as possible, etc |
13:12:31 | FromDiscord | <Rika> it really isnt bad |
13:12:32 | FromDiscord | <Hi02Hi> zig wants to keep the lang simple and nim has macros to give power to the dev |
13:12:46 | FromDiscord | <Rika> its just not my thing, i cant say its bad just because its not my thing |
13:13:09 | CodeBitCookie[m] | so zig is not that powerful? |
13:13:15 | FromDiscord | <Rika> well no |
13:13:18 | CodeBitCookie[m] | cz its mostly used in game engines |
13:13:22 | FromDiscord | <Rika> its pretty powerful too i believe |
13:13:26 | FromDiscord | <Rika> just not nim-powerful |
13:13:35 | CodeBitCookie[m] | ahahah |
13:13:40 | FromDiscord | <Hi02Hi> it does have compile time stuff |
13:13:46 | FromDiscord | <Rika> of course nim's approaches have a lot of flaws as well |
13:13:52 | FromDiscord | <Rika> but thats always expected |
13:14:09 | FromDiscord | <Rika> its a preference thing if youre more into nim or zig since theyre pretty much both very good languages |
13:15:00 | FromDiscord | <Hi02Hi> its also lower level than nim in that zig has only manual memory management |
13:15:16 | FromDiscord | <Rika> well no not really |
13:15:37 | FromDiscord | <Rika> "abstraction level" in these cases should be thought of a range |
13:15:40 | FromDiscord | <Rika> since nim is so broad |
13:15:56 | FromDiscord | <Rika> zig is very narrowly aimed for low level |
13:16:09 | FromDiscord | <Rika> nim has capabilities in low level, but not as much as zig |
13:16:20 | CodeBitCookie[m] | becuase one thing in nim I see is universality |
13:16:23 | FromDiscord | <Hi02Hi> In reply to @Rika "nim has capabilities in": thats what i mean by lower level |
13:16:37 | CodeBitCookie[m] | hmmm |
13:16:40 | CodeBitCookie[m] | thats interesting |
13:16:47 | FromDiscord | <Rika> yeah, im just explaining that that can be ambiguously interpreted |
13:16:48 | CodeBitCookie[m] | so different purposes |
13:16:51 | CodeBitCookie[m] | * so different purposes? |
13:16:55 | FromDiscord | <Rika> zig is really nice for low level i believe |
13:16:57 | FromDiscord | <Rika> yeah |
13:16:59 | FromDiscord | <Rika> pretty much |
13:17:12 | CodeBitCookie[m] | game engine = zig anything else = nim? |
13:17:16 | FromDiscord | <Rika> different strokes for different folks i think is one saying |
13:17:20 | CodeBitCookie[m] | nim also = game engine |
13:17:23 | FromDiscord | <Rika> not sure about that imo |
13:17:31 | CodeBitCookie[m] | hmmmm |
13:17:35 | CodeBitCookie[m] | hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm |
13:17:38 | FromDiscord | <Rika> im no game programmer |
13:17:46 | CodeBitCookie[m] | hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm |
13:18:01 | CodeBitCookie[m] | well |
13:18:02 | FromDiscord | <Rika> @ElegantBeef where the fuck are you when you're needed the most lol |
13:18:15 | CodeBitCookie[m] | lol |
13:18:19 | CodeBitCookie[m] | who is elegant bee |
13:18:21 | CodeBitCookie[m] | * who is elegant beef |
13:18:43 | FromDiscord | <Rika> he's some dude i'd say could give a better opinion than me on this |
13:18:52 | CodeBitCookie[m] | lol |
13:18:59 | CodeBitCookie[m] | but still |
13:19:21 | CodeBitCookie[m] | like zig nim nix vim so many things with 3 letters |
13:19:47 | CodeBitCookie[m] | I would suggest putting a profile picture for the #nim on matrix (element) |
13:19:54 | FromDiscord | <Rika> lol |
13:20:02 | FromDiscord | <Rika> the language used to be called nimrod |
13:20:08 | CodeBitCookie[m] | OHHHHHHH |
13:20:17 | CodeBitCookie[m] | thats where I heard it from |
13:20:33 | CodeBitCookie[m] | I heard nimrod quite a long time ago multiple times |
13:20:40 | CodeBitCookie[m] | didn't know what it was |
13:20:41 | CodeBitCookie[m] | lol |
13:20:44 | FromDiscord | <Rika> lol |
13:20:47 | CodeBitCookie[m] | The more you know |
13:21:37 | FromDiscord | <Hi02Hi> i do find zig's `unreachable` interesting |
13:21:53 | CodeBitCookie[m] | what does that mean |
13:22:28 | FromDiscord | <Hi02Hi> "In Debug and ReleaseSafe mode, and when using zig test, unreachable emits a call to panic with the message reached unreachable code.β΅β΅In ReleaseFast mode, the optimizer uses the assumption that unreachable code will never be hit to perform optimizations. However, zig test even in ReleaseFast mode still emits unreachable as calls to panic." |
13:22:46 | FromDiscord | <clyybber> nim is perfectly fine to write a game engine in |
13:22:48 | FromDiscord | <Rika> ? |
13:22:49 | FromDiscord | <clyybber> IMO |
13:23:05 | FromDiscord | <Rika> i dont understand why unreachable code has to be runtime-checked |
13:23:11 | FromDiscord | <Rika> or am i missing something |
13:23:16 | FromDiscord | <clyybber> because you assert it to be unreachable |
13:23:17 | CodeBitCookie[m] | <FromDiscord "<Hi02Hi> "In Debug and ReleaseSa"> yup totally understood every single word in what you wrote... no I didn't |
13:23:20 | FromDiscord | <clyybber> it might not actually be |
13:23:21 | FromDiscord | <Rika> doesnt nim also check for unreachable code |
13:23:23 | FromDiscord | <clyybber> which then is an error |
13:23:29 | FromDiscord | <clyybber> @Rika yeah, this means a different kind |
13:23:34 | FromDiscord | <Rika> why would you want unreachable code |
13:23:39 | FromDiscord | <Rika> this doesnt make sense to me |
13:23:43 | FromDiscord | <clyybber> in zig this is for not-at-compile time determinable unreachable code |
13:23:48 | FromDiscord | <clyybber> so to help the compiler you assert it |
13:23:50 | FromDiscord | <Rika> i see |
13:23:57 | CodeBitCookie[m] | ... |
13:24:16 | FromDiscord | <Rika> so basically its for testing |
13:24:21 | CodeBitCookie[m] | hahahah |
13:24:39 | FromDiscord | <clyybber> @Rika it's for optimization, but in debug it tests that the optimization would be correct |
13:24:52 | FromDiscord | <clyybber> might also be used for different stuff I suppose |
13:25:01 | FromDiscord | <clyybber> but it just gives the compiler additional information |
13:25:02 | CodeBitCookie[m] | So you guys know zig too |
13:25:06 | FromDiscord | <Rika> man i still dont fucking get it lmao |
13:25:07 | FromDiscord | <Hi02Hi> does c use asserts for optimizations like zig does? |
13:25:12 | CodeBitCookie[m] | lmao |
13:25:27 | FromDiscord | <Rika> it is beneficial for a programmer to know multiple languages |
13:26:12 | CodeBitCookie[m] | Well I know many languages but not the niche ones like nim (well now i guess nim isn't niche at all just not popularized) |
13:26:19 | FromDiscord | <clyybber> @Rika basically you give the compiler information that some code is unreachable, maybe because you already checked inputs, etc. Now unreachable in zig is the way to do that, but to be sure that you didn't fuck up where to place your unreachable, it get's tested when in debug mode |
13:26:34 | FromDiscord | <Rika> i see |
13:26:41 | FromDiscord | <Rika> kinda strange |
13:26:51 | FromDiscord | <Rika> but a lot of things are strange at first |
13:27:16 | FromDiscord | <Rika> ~~anti-case insensitivity people in hn~~ |
13:30:35 | FromDiscord | <Hi02Hi> now that you mention it rika, nim considers `varName` the same as `var_name` so people can use libs with different preferences |
13:30:47 | CodeBitCookie[m] | brb |
13:30:50 | FromDiscord | <Rika> yes |
13:30:52 | FromDiscord | <Rika> indeed |
13:31:11 | FromDiscord | <Hi02Hi> however, for better C interop, `VARNAME` isnt the same as `varName` |
13:31:56 | FromDiscord | <Rika> well no, its more of "so that types and variables wont cause an error" |
13:32:04 | FromDiscord | <Rika> var table: Table... |
13:32:09 | FromDiscord | <konsumlamm> it only differentiates the case of the first letter, ye |
13:32:12 | FromDiscord | <Rika> var time: Time... |
13:35:01 | CodeBitCookie[m] | Im back |
13:35:06 | CodeBitCookie[m] | So anyways |
13:35:22 | CodeBitCookie[m] | We were talking about zig vs nim |
13:35:32 | CodeBitCookie[m] | but i guess |
13:35:39 | CodeBitCookie[m] | zig is like C |
13:35:56 | CodeBitCookie[m] | like rust is to c++ |
13:48:34 | FromDiscord | <Rika> i guess? |
13:48:45 | FromDiscord | <Rika> nim isnt really akin to anything though |
13:50:11 | * | sagax quit (Ping timeout: 246 seconds) |
13:53:05 | Gambit[m] | CodeBitCookie are you Muslim ? |
13:56:37 | Gambit[m] | CodeBitCookie are you Muslim ? |
14:04:23 | FromDiscord | <madman> i feel Nim is what C++ was supposed to be, a better C |
14:06:17 | CodeBitCookie[m] | Gambit: Yes |
14:06:18 | CodeBitCookie[m] | lol |
14:06:22 | CodeBitCookie[m] | why? |
14:06:29 | FromDiscord | <madman> nice dude me too |
14:06:37 | CodeBitCookie[m] | really |
14:06:49 | FromDiscord | <madman> al hamdulillah |
14:06:50 | FromDiscord | <madman> yes |
14:09:14 | CodeBitCookie[m] | Yay a good community and now also with muslims |
14:09:25 | FromDiscord | <madman> π |
14:09:29 | CodeBitCookie[m] | Where are you both from |
14:09:35 | FromDiscord | <madman> im from lebanon |
14:09:42 | CodeBitCookie[m] | Im from Pakistan |
14:11:20 | FromDiscord | <madman> pathan? pashtun? |
14:11:54 | FromDiscord | <madman> yeah Nim is a pretty awesome community, lots of great minds here |
14:12:41 | FromDiscord | <madman> are those bot images randomly generated? https://media.discordapp.net/attachments/371759389889003532/843853535216140389/unknown.png |
14:14:52 | * | superbia joined #nim |
14:16:18 | CodeBitCookie[m] | no Im from Karachi |
14:16:54 | FromDiscord | <hotdog> Anyone have opinions on the best/most portable regex library? |
14:17:13 | FromDiscord | <Rika> In reply to @x19 "are those bot images": no |
14:17:20 | FromDiscord | <Rika> In reply to @hotdog "Anyone have opinions on": portable as in? |
14:17:26 | FromDiscord | <Rika> `regex` is pure-nim |
14:17:26 | FromDiscord | <madman> In reply to @hotdog "Anyone have opinions on": whats wrong with `re` |
14:17:28 | FromDiscord | <zetashift> In reply to @hotdog "Anyone have opinions on": That would be the pure Nim one |
14:17:55 | FromDiscord | <madman> In reply to @Rika "no": how are they assigned? |
14:18:38 | CodeBitCookie[m] | pure nim one? |
14:19:54 | FromDiscord | <Rika> In reply to @x19 "how are they assigned?": based on name |
14:20:01 | FromDiscord | <Hi02Hi> "Pure libraries do not depend on any external .dll or lib.so binary" |
14:20:02 | FromDiscord | <hotdog> @zetashift you mean this one? https://github.com/nitely/nim-regex |
14:20:22 | FromDiscord | <Hi02Hi> (edit) ".dll" => "`.dll`" | "lib.so" => "`lib.so`" |
14:21:26 | CodeBitCookie[m] | I guy at the zig community from element says the following: |
14:21:27 | CodeBitCookie[m] | I have used Nim in the past. weak not-recommend; frequently breaks code even after 1.0 releases, indentation-based structure doesn't have great readability for longer code files; myriad of different GC models and different backends makes it hard to maintain a library for all possible use-cases |
14:21:35 | CodeBitCookie[m] | * "I have used Nim in the past. weak not-recommend; frequently breaks code even after 1.0 releases, indentation-based structure doesn't have great readability for longer code files; myriad of different GC models and different backends makes it hard to maintain a library for all possible use-cases" |
14:21:47 | CodeBitCookie[m] | any comments? |
14:21:51 | * | a_chou joined #nim |
14:22:14 | FromDiscord | <Rika> mainly opinion based, and the first point isnt true from my experience |
14:22:51 | FromDiscord | <Rika> the gc-model issue isnt something you'd usually consider in a library |
14:22:56 | FromDiscord | <Rika> neither the backend really |
14:24:17 | FromDiscord | <hotdog> Complaining about the amount of backends is weird. If you make a lib and don't want to support all the backends, just check which backend is used and error out on the ones you don't support |
14:26:28 | FromDiscord | <Rika> i dont understand how the indentation based structure makes longer code files harder to read |
14:26:58 | FromDiscord | <Rika> the braces do not help me identify scopes when i program in c |
14:28:08 | FromDiscord | <Vindaar> In reply to @Rika "the braces do not": oh, but they help emacs to auto indent code I receive from colleagues, so that I can use indentation to judge logic. totally superior π /s |
14:28:28 | CodeBitCookie[m] | I use emacs toooo with evil |
14:28:44 | CodeBitCookie[m] | and all of your points sound more sensible to me |
14:28:48 | FromDiscord | <Rika> the indentation rules of nim make it possible for me to use autoindent as well... i dont get it |
14:29:05 | CodeBitCookie[m] | The same guy also says: |
14:29:07 | CodeBitCookie[m] | "Nim basically fell into the C++ trap of bolting everything onto the language, but even harder." |
14:29:16 | FromDiscord | <Rika> can he elaborate |
14:29:21 | FromDiscord | <Rika> i dont get the issue |
14:29:34 | CodeBitCookie[m] | I asked him what he though about nim |
14:29:38 | FromDiscord | <Rika> you dont usually consider the gc; theyre supposed to be transparent in usage to the library and end programmer |
14:29:51 | CodeBitCookie[m] | he also says: |
14:29:51 | FromDiscord | <Rika> In reply to @CodeBitCookie ""Nim basically fell into": this is very vague is what i mean |
14:29:52 | CodeBitCookie[m] | "(my personal opinion of course, my contact to Nim in the recent years has been restricted to maintaining that one library I have written for it which people are using)" |
14:30:41 | CodeBitCookie[m] | <FromDiscord "<Rika> In reply to @CodeBitCooki"> I asked him what he meant |
14:31:09 | CodeBitCookie[m] | but I guess I already know |
14:31:41 | CodeBitCookie[m] | no i don |
14:31:43 | CodeBitCookie[m] | * no i dont |
14:31:49 | CodeBitCookie[m] | yeah i don't |
14:32:24 | CodeBitCookie[m] | <FromDiscord "<Vindaar> In reply to @Rika "the"> Hey vindaar did you also join the #zig:matrix.org |
14:33:16 | FromDiscord | <Vindaar> In reply to @CodeBitCookie "<FromDiscord "<Vindaar> In reply": was just curious who you were talking to there π |
14:33:37 | CodeBitCookie[m] | Oh no thats not what i meant |
14:33:58 | CodeBitCookie[m] | i say a message saying "vindaar joined the room" |
14:34:28 | CodeBitCookie[m] | well now he says: |
14:34:29 | CodeBitCookie[m] | "one issue is that when a language offers you many different paradigms and patterns, your code will not look like anyone else's, making it harder to collaborate on code. another issue is that you can be surprised by someone using your code in a way that you did not anticipate, and which doesn't work because it requires additional code on your side, like e.g. specializing certain templates in a C++ library, or in Nim |
14:34:30 | CodeBitCookie[m] | compiling to JS or using a different GC model than you tested for." |
14:34:34 | CodeBitCookie[m] | I mean he does have a point |
14:34:42 | CodeBitCookie[m] | or not? |
14:35:50 | CodeBitCookie[m] | @Rika what about the above |
14:35:53 | FromDiscord | <Vindaar> I think this is just something where it's easier to agree to disagree. No use in discussing the merits of two languages that each have quite different design goals. I disagree with their perspective, but I'm not going to start a discussion |
14:36:03 | FromDiscord | <Rika> it is a super rare case that a different gc model wont work with your code |
14:36:45 | CodeBitCookie[m] | "both the JS backend and compile-time evaluation in Nim are particularly problematic because they don't offer the same extent of the language and stdlib that native runtime Nim does. so I do get issues like βit doesn't work on compile timeβ and it would be a rather large change to fix that because I didn't think about it" |
14:36:46 | FromDiscord | <Rika> its not hard to fix an unanticipated backend |
14:36:49 | CodeBitCookie[m] | what does this mean |
14:36:57 | CodeBitCookie[m] | <FromDiscord "<Rika> its not hard to fix an un"> how |
14:37:08 | FromDiscord | <Rika> just error when it's encountered |
14:37:28 | FromDiscord | <Rika> and half the time you dont even need to, because usually it doesnt even break |
14:37:47 | FromDiscord | <Rika> In reply to @CodeBitCookie ""both the JS backend": id say yeah thats reasonable i gues |
14:37:48 | FromDiscord | <Rika> s |
14:37:59 | FromDiscord | <Rika> im not really in the mood to discuss this right now |
14:38:08 | CodeBitCookie[m] | ok |
14:47:35 | * | a_chou quit (Ping timeout: 250 seconds) |
14:53:59 | FromDiscord | <zetashift> I wonder what library he is maintaining that it needs different backends, compiletime eval AND different GC's |
14:54:58 | FromDiscord | <konsumlamm> In reply to @Rika "and half the time": tbf, you find a lot of bugs when testing the existing stdlib tests on all backends |
14:57:17 | FromDiscord | <Rika> well okay |
14:57:20 | FromDiscord | <Rika> you know more about that |
14:57:26 | CodeBitCookie[m] | Hey I talked to him and copy pasted the comments i liked and then he understood |
14:57:28 | FromDiscord | <Rika> not now, something external pissed me off |
14:57:40 | CodeBitCookie[m] | oh sorry rika |
14:57:53 | CodeBitCookie[m] | This guy also uses nix |
14:57:58 | CodeBitCookie[m] | and uses nim |
14:58:03 | CodeBitCookie[m] | quite nicely |
14:58:05 | CodeBitCookie[m] | on his server |
14:58:20 | CodeBitCookie[m] | and also has a nim library which is like a playground for nim |
14:58:27 | CodeBitCookie[m] | on his nixos server |
14:58:33 | CodeBitCookie[m] | so I guess its all good |
14:58:49 | CodeBitCookie[m] | Oh wait |
14:58:58 | CodeBitCookie[m] | I though you were talking about something else |
14:59:01 | CodeBitCookie[m] | @rika |
14:59:12 | CodeBitCookie[m] | sorry lets talk about something else |
14:59:14 | CodeBitCookie[m] | like |
14:59:16 | FromDiscord | <Rika> well just dont expect me to respond right now |
14:59:22 | FromDiscord | <Rika> i'm dealing with stuff |
14:59:29 | CodeBitCookie[m] | yup sure |
14:59:36 | CodeBitCookie[m] | won't @ you either |
15:02:28 | * | a_chou joined #nim |
15:14:34 | * | Gustavo6046 quit (Ping timeout: 245 seconds) |
15:52:50 | * | clyybber joined #nim |
16:09:29 | ForumUpdaterBot | New thread by Demotomohiro: Using generic procedure with mixin can be dangerous?, see https://forum.nim-lang.org/t/7994 |
16:11:05 | * | Gustavo6046 joined #nim |
16:29:45 | * | rockcavera joined #nim |
16:31:20 | * | rockcavera quit (Remote host closed the connection) |
16:31:53 | * | rockcavera joined #nim |
16:43:26 | * | willyboar joined #nim |
16:44:55 | FromDiscord | <zetashift> @treeform do you have any tips on how I would implement line styles? E.g. given a path that consists of lines, how would I make that path either dotted or dashed? |
16:57:14 | FromDiscord | <gibson> My naive use of `compiles` does not work on iterators. Why does `when compiles(myseq.len)` work, but `when compiles(myseq.items)` does not? |
17:00:46 | FromDiscord | <haxscramper> because you can't just call `items` without for loop |
17:01:22 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3n7X |
17:02:34 | FromDiscord | <gibson> @haxscramper I see; thank you! I was just recalling reading somewhere that iterators originally only worked in for loops and were extended to support closures. |
17:04:02 | FromDiscord | <haxscramper> no, that is not correct. There are two types of iterators - inlined and closure ones |
17:04:06 | * | sagax joined #nim |
17:04:30 | FromDiscord | <haxscramper> closure iterator is similar to a procvar and can be passed around, stored etc. Called via `iter()` |
17:04:45 | FromDiscord | <gibson> So closure iterators were added? I was just trying to reconstruct history of development out of curiosity. |
17:05:05 | FromDiscord | <haxscramper> Closure iterators were added because async implementation required them |
17:05:19 | FromDiscord | <haxscramper> I think they were needed to construct some form of state machine |
17:05:56 | FromDiscord | <haxscramper> Inline iterators probably existed since the very start of the language or somewhere around this time |
17:05:57 | * | Vladar quit (Remote host closed the connection) |
17:07:15 | FromDiscord | <gibson> Thanks! Very helpful. |
17:09:07 | Gambit[m] | CodeBitCookie yeah, excuse me I was away. That's awesome ! Eid mubarak brother, May allah take care of you and your family and greet you with success ! |
17:09:47 | * | a_chou quit (Quit: a_chou) |
17:12:49 | * | Vladar joined #nim |
17:33:01 | FromDiscord | <treeform> In reply to @zetashift "<@107140179025735680> do you have": We don't have support for dashed lines right now, this is some thing we will add. If you want to take a stab at implementing it your self it would go into the https://github.com/treeform/pixie/blob/master/src/pixie/paths.nim#L1301 function. |
17:34:19 | FromDiscord | <treeform> I think right one we just adda rect from prev to current point: https://github.com/treeform/pixie/blob/master/src/pixie/paths.nim#L1397 but you would need to make that a for loop and compute the right gaps if you want dashes. |
17:35:32 | FromDiscord | <ElegantBeef> @Vindaar that's exactly it, just a variant object emitter |
17:38:51 | FromDiscord | <ElegantBeef> the `hseqItems` and `hSeqMitems` are both the macros then enable `caseof` inside the for loop for specifying type instead of t he emitted enum |
17:39:26 | * | willyboar quit (Remote host closed the connection) |
17:39:57 | * | willyboar joined #nim |
18:03:23 | FromDiscord | <Gabben> sent a code paste, see https://play.nim-lang.org/#ix=3n8h |
18:08:05 | * | Vladar quit (Quit: Leaving) |
18:08:50 | FromDiscord | <konsumlamm> because that's how `var` works |
18:11:03 | FromDiscord | <Vindaar> In reply to @ElegantBeef "<@!150345911057252352> that's exactly it,": oh neat! Do you plan to polish that? (or maybe it is already?) |
18:12:10 | CodeBitCookie[m] | <Gambit[m] "CodeBitCookie yeah, excuse me I "> Same for you. Thank you. :D |
18:13:56 | FromDiscord | <Vindaar> There's always the risk of people abusing it and wondering why things break / are slow etc., but sometimes for scripting etc. a nice "out of the box" container would be great. Well, one can use `JsonNode` of course, but that doesn't work for non basic types etc. |
18:15:19 | * | willyboar quit () |
18:15:41 | FromDiscord | <Hi02Hi> sent a code paste, see https://play.nim-lang.org/#ix=3n8o |
18:22:22 | FromDiscord | <Gabben> sent a code paste, see https://play.nim-lang.org/#ix=3n8u |
18:26:00 | FromDiscord | <Elperson> why are crypto scam bots in this discord |
18:29:11 | FromDiscord | <Gabben> In reply to @Gabben "I dont get it": It's very easy to understand how var worksβ΅https://play.nim-lang.org/#ix=3n8t |
18:29:34 | FromDiscord | <Kridel> Yep, just got a crypto scam message from one too (hironel#5521) which is in this server |
18:29:36 | FromDiscord | <d4rckh> In reply to @Elperson "why are crypto scam": they are getting banned, if you got a dm, mention the user in #offtopic so a mod can ban the person |
18:43:37 | * | Jesin quit (Quit: Leaving) |
19:03:51 | * | willyboar joined #nim |
19:04:17 | * | Jesin joined #nim |
19:22:27 | FromDiscord | <ElegantBeef> In reply to @Vindaar "oh neat! Do you": Yea still working on making it easy to use and hopefully not garbage performance, it's internally the same as anyone would right so probably should be fine |
19:22:39 | FromDiscord | <ElegantBeef> (edit) "right" => "write" |
19:28:57 | FromDiscord | <ElegantBeef> I am going to add more helpers like `filter` which converts all the internal data into a new collection of the base type, tons of stuff to do |
19:30:49 | FromDiscord | <Hi02Hi> sent a code paste, see https://play.nim-lang.org/#ix=3n8S |
19:33:17 | FromDiscord | <zetashift> In reply to @treeform "We don't have support": Oh man adding gaps in a line seems so easy but I'm looking at the code and I'm getting scared haha |
19:33:51 | * | pbb quit (Read error: Connection reset by peer) |
19:34:26 | * | pbb joined #nim |
19:38:16 | * | x19[m] joined #nim |
19:39:35 | * | x19[m] left #nim (#nim) |
19:42:41 | FromDiscord | <treeform> In reply to @zetashift "Oh man adding gaps": make a simple case and work your way up? |
19:44:32 | FromDiscord | <zetashift> Ah yeah good advice |
19:59:34 | FromDiscord | <Elperson> Whats a good site to learn nim? |
20:00:01 | FromDiscord | <ElegantBeef> There is a few different tutorials listed here https://nim-lang.org/documentation.html |
20:00:39 | superbia | nim in action book is really good resource to start with |
20:08:34 | FromDiscord | <dom96> and you can bother the author on Discord if you have any questions when reading it π |
20:09:07 | superbia | but not when he is cooking garlic chicken |
20:10:22 | FromGitter | <BracketMaster> @FromIRC <superbia> garlic? you lost me |
20:12:23 | superbia | garlic, stuff we use for vampires |
20:12:46 | superbia | works on chicken (as author of the book stated iirc) |
20:27:52 | CodeBitCookie[m] | ? |
20:36:41 | * | narimiran quit (Ping timeout: 240 seconds) |
20:38:06 | superbia | ask dom * |
20:38:25 | * | superbia quit (Quit: WeeChat 3.1) |
20:38:33 | * | krux02 joined #nim |
20:50:51 | FromDiscord | <treeform> In reply to @zetashift "Ah yeah good advice": Stroke operations work by translating stroke to a fill then filling it. Dashes stroke is just a bunch of rects in a line. If you can do that with just fill commands in normal pixie, that would be a start. |
20:51:04 | FromDiscord | <treeform> Then port that algorithm into the stroke to fill function |
21:01:31 | * | willyboar quit (Quit: Konversation terminated!) |
21:14:43 | * | willyboar joined #nim |
21:16:00 | * | clyybber quit (Quit: WeeChat 3.1) |
21:25:46 | * | thomasross joined #nim |
21:28:48 | * | thomasross quit (Max SendQ exceeded) |
21:29:16 | * | thomasross joined #nim |
21:30:51 | * | clyybber joined #nim |
21:35:54 | FromDiscord | <gibson> What's the reason why default keyword arguments cannot be left unspecified when part of the signature with varargs?β΅ex: `print(args:varargs[string,'$'], endl='\n')` |
21:38:55 | ForumUpdaterBot | New post on r/nim by flyx86: Cannot inc string character with --gc:orc, is this a bug?, see https://reddit.com/r/nim/comments/nesmg3/cannot_inc_string_character_with_gcorc_is_this_a/ |
21:41:58 | FromDiscord | <zetashift> In reply to @treeform "Then port that algorithm": alright I'll experiment with this π |
21:42:30 | FromDiscord | <ElegantBeef> @gibson you can it just requires you to write it in an open array so it gets the params, when you do `varArgs[T, '$']` all parmeters are valid so you have to delimit it manually |
21:42:41 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=3n9f example of that |
21:45:33 | FromDiscord | <ElegantBeef> And actually it seems it's capable of handling atleast this case properly |
21:46:58 | FromDiscord | <ElegantBeef> Oh misread the issue yet again |
21:47:04 | FromDiscord | <ElegantBeef> Someone should hire me to just misread stuff, thanks |
21:47:14 | FromDiscord | <gibson> @ElegantBeef ah interesting - thank you very much. So the compiler needs disambiguation. I was obviously trying to make something akin to Python3's print, which somehow gets around the ambiguity problem in some other way. |
21:49:13 | * | tane quit (Quit: Leaving) |
21:50:26 | FromDiscord | <ElegantBeef> To get that behaviour you want you probably just want to do https://play.nim-lang.org/#ix=3n9h |
21:50:50 | FromDiscord | <dom96> superbia: lol what, I don't recall discussing garlic |
21:50:57 | FromDiscord | <ElegantBeef> True vampire |
21:53:19 | FromDiscord | <ElegantBeef> 5 imaginary dollars to whoever can tell me why my macro is constructed right and the repr is right, but the compiler wants to abuse me with it |
21:54:18 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=3n9j |
21:54:36 | FromDiscord | <gibson> @ElegantBeef Yeah I think that's the solution here. You can even overload `echo` in that way to nearly replicate Python3 (except for 'end' being a reserved keyword!) Thanks for shedding some detail on this! |
21:55:07 | FromDiscord | <ElegantBeef> well most keywords can be used but yea no one wants to do \`end\` everytime |
21:59:33 | FromDiscord | <gibson> @ElegantBeef Weird - that's the repr output? What's a single backtick supposed to indicate in nim? |
21:59:49 | FromDiscord | <ElegantBeef> https://nim-lang.org/docs/manual.html#lexical-analysis-stropping |
22:00:46 | FromDiscord | <ElegantBeef> Yea that's before the expansion of the byaddr pragma, but it's identical to the ast written by hand |
22:03:03 | FromDiscord | <ElegantBeef> I'm dumb |
22:03:16 | FromDiscord | <ElegantBeef> I accidently had the macro's return type as `NimNode` instead of untyped |
22:08:23 | * | arecaceae quit (Remote host closed the connection) |
22:08:30 | FromDiscord | <gavr> How to get DrNim, doc says `koch drnim` but how to get koch then? |
22:08:44 | * | arecaceae joined #nim |
22:09:00 | FromDiscord | <Yozzo> Hello all. I am currently learning Nim and ImGui and so far so good. I have managed to create a window with buttons etc but I am struggling with things like the Combobox and Listbox. Does anybody have any examples of how to do them within Nim? |
22:09:09 | FromDiscord | <gavr> (edit) "then?" => "then?β΅Im on Arch" |
22:09:29 | ForumUpdaterBot | New thread by Matthesoundman: Python style in Nim, see https://forum.nim-lang.org/t/7995 |
22:09:56 | FromDiscord | <gavr> just download koch.nim from nim repo and compile? |
22:13:04 | FromDiscord | <gavr> seems like koch.nim need full nim repo to compile it |
22:13:18 | stefantalpalaru | Yes, you need to clone the whole repo. |
22:15:03 | FromDiscord | <gavr> why doesnt drnim or koch come in binary like the others like nimsuggest or grep? |
22:15:30 | FromDiscord | <ElegantBeef> well koch is the build tool for the core nim tools, and drnim i dont think is considered core atm, still in development afaik |
22:16:28 | FromDiscord | <gavr> hmm, okay, this situation is just like manual compile libnimhcr.so and libnimrtl.so for hcr |
22:17:01 | FromDiscord | <gavr> sent a code paste, see https://play.nim-lang.org/#ix=3n9p |
22:17:02 | stefantalpalaru | DrNim is in very early development: https://nim-lang.org/docs/drnim.html |
22:26:27 | * | NimBot joined #nim |
22:57:10 | stefantalpalaru | "asyncdispatch+stackTraceOverride: fix premature garbage collection" - https://github.com/nim-lang/Nim/pull/18039 |
23:47:30 | * | clyybber quit (Quit: WeeChat 3.1) |
23:55:01 | * | willyboar quit (Quit: Konversation terminated!) |