<< 17-05-2021 >>

00:18:03*NimBot joined #nim
00:35:38FromDiscord<zetashift> sent a code paste, see https://play.nim-lang.org/#ix=3n3n
00:36:09FromDiscord<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:36stefantalpalaruFAIL: tests/stdlib/tchannels_pthread.nim c (22329.54 sec)
02:45:57stefantalpalaruJust had to manually kill this one, on devel, after forgetting about it for a while.
02:50:28ForumUpdaterBotNew 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:12ForumUpdaterBotNew 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:02ForumUpdaterBotNew 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:17ronnyhi, 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:41FromGitter<bung87> there's https://github.com/OpenSystemsLab/struct.nim choose byte order by you
08:50:32FromDiscord<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:47ronnystruct.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:06FromDiscord<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:55FromGitter<bung87> @ronny how about https://github.com/bung87/buffer
10:59:02ronnyExactly the same issues
10:59:34ronnyI 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:09ForumUpdaterBotNew 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:20CodeBitCookie[m]Hello I am interested in this language
11:58:02FromDiscord<Rika> hi
12:00:37FromDiscord<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:12FromDiscord<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:38FromDiscord<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:54FromDiscord<Zachary Carter> (edit) "n umber" => "number"
12:04:15FromDiscord<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:25FromDiscord<madman> (edit) "mine" => "mind"
12:05:09FromDiscord<Zachary Carter> I think `'f32` is much cleaner than `float32 0.0`
12:05:23FromDiscord<madman> but it doesnt align :(
12:05:23FromDiscord<Zachary Carter> but to each their own πŸ™‚
12:05:34FromDiscord<madman> when u go to a new line
12:05:36FromDiscord<Zachary Carter> well you can always append it to every element in the array
12:05:43FromDiscord<madman> no thanks :D
12:05:45FromDiscord<Zachary Carter> πŸ™‚
12:06:12CodeBitCookie[m]hey rika
12:06:28FromDiscord<Rika> got anything to discuss or anything
12:06:33CodeBitCookie[m]Yes
12:06:41CodeBitCookie[m]I am a game programmer
12:06:55CodeBitCookie[m]/ app developer (desktop)
12:07:17CodeBitCookie[m]I know nim is good for basically anything c is good for
12:07:35CodeBitCookie[m]but is nim a good candidate for my genre
12:07:56FromDiscord<Zachary Carter> what is your genre?
12:07:57FromDiscord<Rika> plenty of game programmers use nim yeah
12:08:21CodeBitCookie[m]Hey zachary.
12:08:22CodeBitCookie[m]Also
12:08:26FromDiscord<Zachary Carter> Hi
12:08:47CodeBitCookie[m]Can any of you point me to some games nim has made?
12:08:53CodeBitCookie[m]sorry i mean
12:08:59CodeBitCookie[m]games made by nim
12:09:03FromDiscord<Rika> made in nim
12:09:10CodeBitCookie[m]yup
12:09:20FromDiscord<Zachary Carter> Check out @impbox [ftsf] 's github repo
12:09:53FromDiscord<Zachary Carter> https://github.com/ftsf/nico#games-made-using-nico
12:10:00FromDiscord<Zachary Carter> There are a few
12:10:01CodeBitCookie[m]damnnn
12:10:39CodeBitCookie[m]Literally everything
12:10:47CodeBitCookie[m]in the nico game framework
12:10:57CodeBitCookie[m]thats nice
12:11:08CodeBitCookie[m]Any entry level stuff for me to get started on nim
12:11:10FromDiscord<Zachary Carter> Well if you want to develop 2d pixel art games sure
12:11:18FromDiscord<Zachary Carter> The manual and tutorial are good places to start
12:11:45FromDiscord<Zachary Carter> https://narimiran.github.io/nim-basics/ is also nice
12:11:49CodeBitCookie[m]Oh yeah one more thing is SDL is supported so base level stuff like opengl and vulkan is also supported right?
12:12:02CodeBitCookie[m]good support
12:12:14FromDiscord<Zachary Carter> There are multiple bindings for SDL2
12:12:40FromDiscord<Zachary Carter> There are also bindings for OpenGL and Vulkan
12:12:48CodeBitCookie[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:04CodeBitCookie[m]I know you said it for entry level stuff
12:13:05CodeBitCookie[m]but
12:13:13CodeBitCookie[m]?
12:13:19FromDiscord<madman> you want low level opengl directx vulkan metal?
12:13:21FromDiscord<Zachary Carter> I mean yes theoretically you could build your own 3d game engine using Nim
12:13:29FromDiscord<Zachary Carter> I wouldn't recommend it - but if you want to, you can
12:13:42CodeBitCookie[m]Why would you not recommend it?
12:14:07FromDiscord<Zachary Carter> Because developing your own game engine is a road to nowhere
12:14:25CodeBitCookie[m]That is a topic for another time
12:14:27FromDiscord<Zachary Carter> sure
12:14:35FromDiscord<Zachary Carter> It'd be about as difficult as writing one in C
12:14:49FromDiscord<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:02CodeBitCookie[m]hmm yes
12:15:13FromDiscord<Zachary Carter> but expect to bring your own solutions to a lot of problem's you'll encounter
12:15:33CodeBitCookie[m]I have actually built game engines in different languages beofre
12:15:39CodeBitCookie[m] * I have actually built game engines in different languages before
12:15:46FromDiscord<Rika> what languages?
12:15:54CodeBitCookie[m]java, c++ etc
12:15:56FromDiscord<Rika> are you used to a language with a really small ecosystem?
12:16:01CodeBitCookie[m]no
12:16:01FromDiscord<Zachary Carter> https://github.com/zacharycarter/zengine
12:16:09FromDiscord<Zachary Carter> https://github.com/fragworks/frag
12:16:11FromDiscord<Rika> then that will pose an issue
12:16:12FromDiscord<Zachary Carter> both of my projects
12:16:34FromDiscord<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:51FromDiscord<Zachary Carter> hopefully you have more success / ambition than I did when I worked on these πŸ™‚
12:16:51CodeBitCookie[m]damn wasn't expecting that
12:17:11CodeBitCookie[m]These are amazing projects
12:17:18CodeBitCookie[m]Good job man
12:17:22FromDiscord<Zachary Carter> Thanks
12:17:52CodeBitCookie[m]So I mean how was it?
12:18:01CodeBitCookie[m]like how did building them go?
12:19:29FromDiscord<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:00CodeBitCookie[m]wow
12:20:07CodeBitCookie[m]I understand
12:20:16FromDiscord<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:54FromDiscord<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:06CodeBitCookie[m]I can relate on a smaller level with you
12:21:26FromDiscord<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:28FromDiscord<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:01CodeBitCookie[m]So you were like an OG
12:22:06FromDiscord<madman> ZEngine looks awesome dude
12:22:16FromDiscord<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:18FromDiscord<Zachary Carter> Thanks
12:22:28FromDiscord<zetashift> Zachary IS an OG πŸ˜› he has done great stuff
12:22:44CodeBitCookie[m]Yeah man
12:22:47FromDiscord<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:00FromDiscord<Zachary Carter> I don't really contribute, I just consume πŸ™‚
12:23:05CodeBitCookie[m]Oof
12:23:10CodeBitCookie[m]4 years
12:23:34CodeBitCookie[m]nim was made in 2008
12:23:57FromDiscord<Zachary Carter> Yeah and it's changed quite a bit since then
12:24:04FromDiscord<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:06FromDiscord<Zachary Carter> Originally it was implemented in Object Pascal I think
12:24:12FromDiscord<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:34CodeBitCookie[m]Thanks madman.
12:25:55CodeBitCookie[m]Well Zachary Carter Have you ever seen nim used in production
12:26:00CodeBitCookie[m]Im guessing not
12:26:10FromDiscord<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:11FromDiscord<Zachary Carter> There are a few games that were built using Nim that made it to production
12:26:29FromDiscord<Zachary Carter> Including the ones that @zetashift linked in the Godot repo
12:26:30CodeBitCookie[m]but its worth a shot
12:26:44FromDiscord<Zachary Carter> another one was one Yuri worked on, let me try to find a link
12:26:59FromDiscord<madman> Rod?
12:27:19CodeBitCookie[m]Wow madman did you make Knim
12:27:34FromDiscord<madman> yes
12:27:45*clyybber quit (Quit: WeeChat 3.1)
12:28:08CodeBitCookie[m]Thats pretty cool
12:28:12FromDiscord<madman> its just bindings to Kinc
12:28:37FromDiscord<madman> i still need to add dx12 vulkan and metal, but im doing dx11 and opengl for now
12:28:51CodeBitCookie[m]yes
12:28:53FromDiscord<Zachary Carter> https://yglukhov.github.io/Making-ReelValley-Overview/
12:28:59FromDiscord<Zachary Carter> I think that was made using Rod
12:29:06CodeBitCookie[m]Do any of you know Nix or NixOS
12:29:34FromDiscord<zetashift> I use Nix
12:29:53CodeBitCookie[m]yeahhhhhh
12:30:17FromDiscord<madman> i tried Rod, its pretty damn cool, even has an editor
12:30:18CodeBitCookie[m]Do you know how I could implement this with nix flakes
12:30:26CodeBitCookie[m]<FromDiscord "<madman> i tried Rod, its pretty"> woah
12:30:40CodeBitCookie[m]Nim is a really cool community
12:31:00CodeBitCookie[m]I was in a state of Aw when I say jester and all of the web stuff with nim
12:31:48CodeBitCookie[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:19CodeBitCookie[m]But I really don't feel like learning another programming language
12:32:26CodeBitCookie[m]But I really want to
12:33:24CodeBitCookie[m]Wait a GUI in Nim
12:33:27CodeBitCookie[m]yessss
12:33:51FromDiscord<madman> if you like python and c++, Nim is pretty intuitive to pick up
12:33:51CodeBitCookie[m]I hate the gui support with other programming languages like c++ c and java
12:33:58FromDiscord<VinKer> sent a code paste, see https://play.nim-lang.org/#ix=3n6d
12:34:33CodeBitCookie[m]Yo this is so cool
12:34:46CodeBitCookie[m]but before getting into nix
12:35:00CodeBitCookie[m]can anyone tell me the disadvantages. Cz every language has some
12:35:18CodeBitCookie[m]I would still most probably get on nim
12:35:27CodeBitCookie[m]but I want to go in expecting something
12:35:49CodeBitCookie[m]Vinker Thanks for the link
12:35:59CodeBitCookie[m]thats pretty cool too
12:36:05CodeBitCookie[m]is the playground also made in nim?
12:36:47FromDiscord<impbox [ftsf]> Not great at cyclic dependencies is probably the main disadvantage I've come across with nim.
12:37:03FromDiscord<impbox [ftsf]> But nim is awesome for making games, give Nico a try, there are some examples to check out
12:37:16FromDiscord<impbox [ftsf]> And a video from last nimconf
12:37:23FromDiscord<madman> In reply to @impbox "Not great at cyclic": @impbox [ftsf] does orc solve that
12:37:32CodeBitCookie[m]I mean the dependencies problem is handeled by nix and nixos so thats not a problem
12:37:38FromDiscord<madman> (edit) "does" => "doesn't"
12:37:48FromDiscord<impbox [ftsf]> https://youtu.be/czLI5XJFxYA
12:38:29FromDiscord<impbox [ftsf]> Cyclic dependencies in includes/types not in reference counting.
12:38:38FromDiscord<madman> i see
12:38:56FromDiscord<impbox [ftsf]> You can deal with it, but it's less friendly than some other languages in that respect
12:39:09FromDiscord<madman> by includes you mean `import`s
12:39:16FromDiscord<madman> ?
12:39:18CodeBitCookie[m]Well Other than the cyclic dependencies any other problem
12:40:34FromDiscord<impbox [ftsf]> In reply to @x19 "?": Yes
12:41:37FromDiscord<madman> cool, thx
12:42:25FromDiscord<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:42CodeBitCookie[m]Yayyyy
12:42:45CodeBitCookie[m]It's nim time
12:43:03CodeBitCookie[m]I feel cozy here
12:43:14CodeBitCookie[m]and welcomed
12:43:18CodeBitCookie[m](I hope)
12:43:20CodeBitCookie[m]lol
12:43:33FromDiscord<madman> as an added bonus, you can always jump down and dirty into pointers with nim too, no restrictions
12:43:56FromDiscord<madman> :-)
12:44:23CodeBitCookie[m]Oh really that was the only thing I was just thinking about
12:44:28FromDiscord<impbox [ftsf]> There's also a gamedev channel
12:44:35CodeBitCookie[m]So I can switch between like python and c++?
12:44:42FromDiscord<impbox [ftsf]> And using c libraries is fairly easy
12:45:02FromDiscord<madman> yea you can use Nim as a high level language or as a low level language
12:45:19CodeBitCookie[m]I'm phsyced
12:45:28FromDiscord<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:30FromDiscord<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:52CodeBitCookie[m]:D
12:45:54CodeBitCookie[m]One more thing I know this is a lot to ask for but
12:46:00CodeBitCookie[m]functional programming?
12:46:13FromDiscord<madman> yes
12:46:21CodeBitCookie[m]I love haskell
12:46:29CodeBitCookie[m]madman: really?
12:46:35FromDiscord<madman> you can use `func` instead of `proc` to make sure the function has no side effects
12:46:41FromDiscord<Hi02Hi> there is `func`/`proc {.noSideEffect.}` made specially for that
12:46:46CodeBitCookie[m]and
12:46:54FromDiscord<impbox [ftsf]> And map and stuff
12:47:06FromDiscord<Hi02Hi> https://nim-lang.org/docs/sequtils.html
12:47:12CodeBitCookie[m]Ok I can't even think about what nim lacks
12:47:18CodeBitCookie[m]didn't expect to get here
12:47:22FromDiscord<madman> i highly recommend Nim in Action book after you get acquainted with the basics
12:47:26CodeBitCookie[m]how did even get here again?
12:47:34CodeBitCookie[m]<FromDiscord "<madman> i highly recommend Nim "> yup was thinking about that
12:48:14CodeBitCookie[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:02FromDiscord<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:40CodeBitCookie[m]I mean I know performance is great but can you disable the gc?
12:50:11FromDiscord<Hi02Hi> yes, through `--gc:none`
12:50:21FromDiscord<madman> you can disable it, but i don't recommend it
12:50:26ForumUpdaterBotNew thread by Kcvinu: How to solve type mismatch error ?, see https://forum.nim-lang.org/t/7993
12:50:40CodeBitCookie[m]I would call nim a universal language
12:50:50CodeBitCookie[m]hopfully I can contribute to this community
12:50:57FromDiscord<madman> https://nim-lang.org/docs/gc.html
12:51:28FromDiscord<madman> you might wanna have a look at --gc:arc or --gc:orc move semantic optimizations
12:51:32FromDiscord<Hi02Hi> there is also `--gc:arc` https://www.youtube.com/watch?v=aUJcYTnPWCg
12:51:42CodeBitCookie[m]So it also has good docs
12:52:18CodeBitCookie[m]I litterally can't think about anything lacking in nim
12:52:49CodeBitCookie[m]this is really cool though:
12:52:49CodeBitCookie[m]https://github.com/zero-functional/zero-functional
12:52:59FromDiscord<madman> https://github.com/mratsim/weave/tree/master/weave/memory
12:53:24CodeBitCookie[m]what is that?
12:53:30FromDiscord<madman> https://github.com/mratsim/weave
12:53:56FromDiscord<madman> some hardcore stuff :D
12:54:07FromDiscord<Hi02Hi> high-performance multithreading stuff
12:54:47CodeBitCookie[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:09FromDiscord<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:26CodeBitCookie[m]Now this is what I am talking about
12:56:38CodeBitCookie[m]its even faster than c++
12:56:46CodeBitCookie[m]im falling out of my chair
12:57:08CodeBitCookie[m]I though I would have to use the gift horse metaphor
12:59:48FromDiscord<Hi02Hi> i guess another problem for nim is that not many have heard of it
13:00:01CodeBitCookie[m]doesn't matter
13:00:04FromDiscord<madman> it will grow organically
13:00:16CodeBitCookie[m]atleast I have heard of it
13:00:23*Vladar quit (Quit: Leaving)
13:01:14FromDiscord<Hi02Hi> In reply to @x19 "it will grow organically": true
13:07:19CodeBitCookie[m]Okay so I definitely WILL use nim Inshallah. but any thoughts on zig
13:07:51*Vladar joined #nim
13:08:46CodeBitCookie[m]It is very much younger than nim
13:11:36FromDiscord<Rika> complete inverse of nim
13:11:48CodeBitCookie[m]huh?
13:11:48FromDiscord<Rika> its not bad, just the inverse of nim
13:11:50CodeBitCookie[m]really?
13:11:52FromDiscord<Rika> yes
13:11:55CodeBitCookie[m]how
13:12:15FromDiscord<Rika> no templates, no macros (in the traditional way), no overloading, no custom operators
13:12:16FromDiscord<Rika> et
13:12:17FromDiscord<Rika> c
13:12:19CodeBitCookie[m]<FromDiscord "<Rika> its not bad, just the inv"> I like how you stated that its not bad
13:12:26FromDiscord<Rika> braces, keeps c-style as much as possible, etc
13:12:31FromDiscord<Rika> it really isnt bad
13:12:32FromDiscord<Hi02Hi> zig wants to keep the lang simple and nim has macros to give power to the dev
13:12:46FromDiscord<Rika> its just not my thing, i cant say its bad just because its not my thing
13:13:09CodeBitCookie[m]so zig is not that powerful?
13:13:15FromDiscord<Rika> well no
13:13:18CodeBitCookie[m]cz its mostly used in game engines
13:13:22FromDiscord<Rika> its pretty powerful too i believe
13:13:26FromDiscord<Rika> just not nim-powerful
13:13:35CodeBitCookie[m]ahahah
13:13:40FromDiscord<Hi02Hi> it does have compile time stuff
13:13:46FromDiscord<Rika> of course nim's approaches have a lot of flaws as well
13:13:52FromDiscord<Rika> but thats always expected
13:14:09FromDiscord<Rika> its a preference thing if youre more into nim or zig since theyre pretty much both very good languages
13:15:00FromDiscord<Hi02Hi> its also lower level than nim in that zig has only manual memory management
13:15:16FromDiscord<Rika> well no not really
13:15:37FromDiscord<Rika> "abstraction level" in these cases should be thought of a range
13:15:40FromDiscord<Rika> since nim is so broad
13:15:56FromDiscord<Rika> zig is very narrowly aimed for low level
13:16:09FromDiscord<Rika> nim has capabilities in low level, but not as much as zig
13:16:20CodeBitCookie[m]becuase one thing in nim I see is universality
13:16:23FromDiscord<Hi02Hi> In reply to @Rika "nim has capabilities in": thats what i mean by lower level
13:16:37CodeBitCookie[m]hmmm
13:16:40CodeBitCookie[m]thats interesting
13:16:47FromDiscord<Rika> yeah, im just explaining that that can be ambiguously interpreted
13:16:48CodeBitCookie[m]so different purposes
13:16:51CodeBitCookie[m] * so different purposes?
13:16:55FromDiscord<Rika> zig is really nice for low level i believe
13:16:57FromDiscord<Rika> yeah
13:16:59FromDiscord<Rika> pretty much
13:17:12CodeBitCookie[m]game engine = zig anything else = nim?
13:17:16FromDiscord<Rika> different strokes for different folks i think is one saying
13:17:20CodeBitCookie[m]nim also = game engine
13:17:23FromDiscord<Rika> not sure about that imo
13:17:31CodeBitCookie[m]hmmmm
13:17:35CodeBitCookie[m]hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
13:17:38FromDiscord<Rika> im no game programmer
13:17:46CodeBitCookie[m]hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
13:18:01CodeBitCookie[m]well
13:18:02FromDiscord<Rika> @ElegantBeef where the fuck are you when you're needed the most lol
13:18:15CodeBitCookie[m]lol
13:18:19CodeBitCookie[m]who is elegant bee
13:18:21CodeBitCookie[m] * who is elegant beef
13:18:43FromDiscord<Rika> he's some dude i'd say could give a better opinion than me on this
13:18:52CodeBitCookie[m]lol
13:18:59CodeBitCookie[m]but still
13:19:21CodeBitCookie[m]like zig nim nix vim so many things with 3 letters
13:19:47CodeBitCookie[m]I would suggest putting a profile picture for the #nim on matrix (element)
13:19:54FromDiscord<Rika> lol
13:20:02FromDiscord<Rika> the language used to be called nimrod
13:20:08CodeBitCookie[m]OHHHHHHH
13:20:17CodeBitCookie[m]thats where I heard it from
13:20:33CodeBitCookie[m]I heard nimrod quite a long time ago multiple times
13:20:40CodeBitCookie[m]didn't know what it was
13:20:41CodeBitCookie[m]lol
13:20:44FromDiscord<Rika> lol
13:20:47CodeBitCookie[m]The more you know
13:21:37FromDiscord<Hi02Hi> i do find zig's `unreachable` interesting
13:21:53CodeBitCookie[m]what does that mean
13:22:28FromDiscord<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:46FromDiscord<clyybber> nim is perfectly fine to write a game engine in
13:22:48FromDiscord<Rika> ?
13:22:49FromDiscord<clyybber> IMO
13:23:05FromDiscord<Rika> i dont understand why unreachable code has to be runtime-checked
13:23:11FromDiscord<Rika> or am i missing something
13:23:16FromDiscord<clyybber> because you assert it to be unreachable
13:23:17CodeBitCookie[m]<FromDiscord "<Hi02Hi> "In Debug and ReleaseSa"> yup totally understood every single word in what you wrote... no I didn't
13:23:20FromDiscord<clyybber> it might not actually be
13:23:21FromDiscord<Rika> doesnt nim also check for unreachable code
13:23:23FromDiscord<clyybber> which then is an error
13:23:29FromDiscord<clyybber> @Rika yeah, this means a different kind
13:23:34FromDiscord<Rika> why would you want unreachable code
13:23:39FromDiscord<Rika> this doesnt make sense to me
13:23:43FromDiscord<clyybber> in zig this is for not-at-compile time determinable unreachable code
13:23:48FromDiscord<clyybber> so to help the compiler you assert it
13:23:50FromDiscord<Rika> i see
13:23:57CodeBitCookie[m]...
13:24:16FromDiscord<Rika> so basically its for testing
13:24:21CodeBitCookie[m]hahahah
13:24:39FromDiscord<clyybber> @Rika it's for optimization, but in debug it tests that the optimization would be correct
13:24:52FromDiscord<clyybber> might also be used for different stuff I suppose
13:25:01FromDiscord<clyybber> but it just gives the compiler additional information
13:25:02CodeBitCookie[m]So you guys know zig too
13:25:06FromDiscord<Rika> man i still dont fucking get it lmao
13:25:07FromDiscord<Hi02Hi> does c use asserts for optimizations like zig does?
13:25:12CodeBitCookie[m]lmao
13:25:27FromDiscord<Rika> it is beneficial for a programmer to know multiple languages
13:26:12CodeBitCookie[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:19FromDiscord<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:34FromDiscord<Rika> i see
13:26:41FromDiscord<Rika> kinda strange
13:26:51FromDiscord<Rika> but a lot of things are strange at first
13:27:16FromDiscord<Rika> ~~anti-case insensitivity people in hn~~
13:30:35FromDiscord<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:47CodeBitCookie[m]brb
13:30:50FromDiscord<Rika> yes
13:30:52FromDiscord<Rika> indeed
13:31:11FromDiscord<Hi02Hi> however, for better C interop, `VARNAME` isnt the same as `varName`
13:31:56FromDiscord<Rika> well no, its more of "so that types and variables wont cause an error"
13:32:04FromDiscord<Rika> var table: Table...
13:32:09FromDiscord<konsumlamm> it only differentiates the case of the first letter, ye
13:32:12FromDiscord<Rika> var time: Time...
13:35:01CodeBitCookie[m]Im back
13:35:06CodeBitCookie[m]So anyways
13:35:22CodeBitCookie[m]We were talking about zig vs nim
13:35:32CodeBitCookie[m]but i guess
13:35:39CodeBitCookie[m]zig is like C
13:35:56CodeBitCookie[m]like rust is to c++
13:48:34FromDiscord<Rika> i guess?
13:48:45FromDiscord<Rika> nim isnt really akin to anything though
13:50:11*sagax quit (Ping timeout: 246 seconds)
13:53:05Gambit[m]CodeBitCookie are you Muslim ?
13:56:37Gambit[m]CodeBitCookie are you Muslim ?
14:04:23FromDiscord<madman> i feel Nim is what C++ was supposed to be, a better C
14:06:17CodeBitCookie[m]Gambit: Yes
14:06:18CodeBitCookie[m]lol
14:06:22CodeBitCookie[m]why?
14:06:29FromDiscord<madman> nice dude me too
14:06:37CodeBitCookie[m]really
14:06:49FromDiscord<madman> al hamdulillah
14:06:50FromDiscord<madman> yes
14:09:14CodeBitCookie[m]Yay a good community and now also with muslims
14:09:25FromDiscord<madman> 😎
14:09:29CodeBitCookie[m]Where are you both from
14:09:35FromDiscord<madman> im from lebanon
14:09:42CodeBitCookie[m]Im from Pakistan
14:11:20FromDiscord<madman> pathan? pashtun?
14:11:54FromDiscord<madman> yeah Nim is a pretty awesome community, lots of great minds here
14:12:41FromDiscord<madman> are those bot images randomly generated? https://media.discordapp.net/attachments/371759389889003532/843853535216140389/unknown.png
14:14:52*superbia joined #nim
14:16:18CodeBitCookie[m]no Im from Karachi
14:16:54FromDiscord<hotdog> Anyone have opinions on the best/most portable regex library?
14:17:13FromDiscord<Rika> In reply to @x19 "are those bot images": no
14:17:20FromDiscord<Rika> In reply to @hotdog "Anyone have opinions on": portable as in?
14:17:26FromDiscord<Rika> `regex` is pure-nim
14:17:26FromDiscord<madman> In reply to @hotdog "Anyone have opinions on": whats wrong with `re`
14:17:28FromDiscord<zetashift> In reply to @hotdog "Anyone have opinions on": That would be the pure Nim one
14:17:55FromDiscord<madman> In reply to @Rika "no": how are they assigned?
14:18:38CodeBitCookie[m]pure nim one?
14:19:54FromDiscord<Rika> In reply to @x19 "how are they assigned?": based on name
14:20:01FromDiscord<Hi02Hi> "Pure libraries do not depend on any external .dll or lib.so binary"
14:20:02FromDiscord<hotdog> @zetashift you mean this one? https://github.com/nitely/nim-regex
14:20:22FromDiscord<Hi02Hi> (edit) ".dll" => "`.dll`" | "lib.so" => "`lib.so`"
14:21:26CodeBitCookie[m]I guy at the zig community from element says the following:
14:21:27CodeBitCookie[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:35CodeBitCookie[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:47CodeBitCookie[m]any comments?
14:21:51*a_chou joined #nim
14:22:14FromDiscord<Rika> mainly opinion based, and the first point isnt true from my experience
14:22:51FromDiscord<Rika> the gc-model issue isnt something you'd usually consider in a library
14:22:56FromDiscord<Rika> neither the backend really
14:24:17FromDiscord<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:28FromDiscord<Rika> i dont understand how the indentation based structure makes longer code files harder to read
14:26:58FromDiscord<Rika> the braces do not help me identify scopes when i program in c
14:28:08FromDiscord<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:28CodeBitCookie[m]I use emacs toooo with evil
14:28:44CodeBitCookie[m]and all of your points sound more sensible to me
14:28:48FromDiscord<Rika> the indentation rules of nim make it possible for me to use autoindent as well... i dont get it
14:29:05CodeBitCookie[m]The same guy also says:
14:29:07CodeBitCookie[m]"Nim basically fell into the C++ trap of bolting everything onto the language, but even harder."
14:29:16FromDiscord<Rika> can he elaborate
14:29:21FromDiscord<Rika> i dont get the issue
14:29:34CodeBitCookie[m]I asked him what he though about nim
14:29:38FromDiscord<Rika> you dont usually consider the gc; theyre supposed to be transparent in usage to the library and end programmer
14:29:51CodeBitCookie[m]he also says:
14:29:51FromDiscord<Rika> In reply to @CodeBitCookie ""Nim basically fell into": this is very vague is what i mean
14:29:52CodeBitCookie[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:41CodeBitCookie[m]<FromDiscord "<Rika> In reply to @CodeBitCooki"> I asked him what he meant
14:31:09CodeBitCookie[m]but I guess I already know
14:31:41CodeBitCookie[m]no i don
14:31:43CodeBitCookie[m] * no i dont
14:31:49CodeBitCookie[m]yeah i don't
14:32:24CodeBitCookie[m]<FromDiscord "<Vindaar> In reply to @Rika "the"> Hey vindaar did you also join the #zig:matrix.org
14:33:16FromDiscord<Vindaar> In reply to @CodeBitCookie "<FromDiscord "<Vindaar> In reply": was just curious who you were talking to there πŸ™ƒ
14:33:37CodeBitCookie[m]Oh no thats not what i meant
14:33:58CodeBitCookie[m]i say a message saying "vindaar joined the room"
14:34:28CodeBitCookie[m]well now he says:
14:34:29CodeBitCookie[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:30CodeBitCookie[m]compiling to JS or using a different GC model than you tested for."
14:34:34CodeBitCookie[m]I mean he does have a point
14:34:42CodeBitCookie[m]or not?
14:35:50CodeBitCookie[m]@Rika what about the above
14:35:53FromDiscord<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:03FromDiscord<Rika> it is a super rare case that a different gc model wont work with your code
14:36:45CodeBitCookie[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:46FromDiscord<Rika> its not hard to fix an unanticipated backend
14:36:49CodeBitCookie[m]what does this mean
14:36:57CodeBitCookie[m]<FromDiscord "<Rika> its not hard to fix an un"> how
14:37:08FromDiscord<Rika> just error when it's encountered
14:37:28FromDiscord<Rika> and half the time you dont even need to, because usually it doesnt even break
14:37:47FromDiscord<Rika> In reply to @CodeBitCookie ""both the JS backend": id say yeah thats reasonable i gues
14:37:48FromDiscord<Rika> s
14:37:59FromDiscord<Rika> im not really in the mood to discuss this right now
14:38:08CodeBitCookie[m]ok
14:47:35*a_chou quit (Ping timeout: 250 seconds)
14:53:59FromDiscord<zetashift> I wonder what library he is maintaining that it needs different backends, compiletime eval AND different GC's
14:54:58FromDiscord<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:17FromDiscord<Rika> well okay
14:57:20FromDiscord<Rika> you know more about that
14:57:26CodeBitCookie[m]Hey I talked to him and copy pasted the comments i liked and then he understood
14:57:28FromDiscord<Rika> not now, something external pissed me off
14:57:40CodeBitCookie[m]oh sorry rika
14:57:53CodeBitCookie[m]This guy also uses nix
14:57:58CodeBitCookie[m]and uses nim
14:58:03CodeBitCookie[m]quite nicely
14:58:05CodeBitCookie[m]on his server
14:58:20CodeBitCookie[m]and also has a nim library which is like a playground for nim
14:58:27CodeBitCookie[m]on his nixos server
14:58:33CodeBitCookie[m]so I guess its all good
14:58:49CodeBitCookie[m]Oh wait
14:58:58CodeBitCookie[m]I though you were talking about something else
14:59:01CodeBitCookie[m]@rika
14:59:12CodeBitCookie[m]sorry lets talk about something else
14:59:14CodeBitCookie[m]like
14:59:16FromDiscord<Rika> well just dont expect me to respond right now
14:59:22FromDiscord<Rika> i'm dealing with stuff
14:59:29CodeBitCookie[m]yup sure
14:59:36CodeBitCookie[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:29ForumUpdaterBotNew 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:55FromDiscord<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:14FromDiscord<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:46FromDiscord<haxscramper> because you can't just call `items` without for loop
17:01:22FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=3n7X
17:02:34FromDiscord<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:02FromDiscord<haxscramper> no, that is not correct. There are two types of iterators - inlined and closure ones
17:04:06*sagax joined #nim
17:04:30FromDiscord<haxscramper> closure iterator is similar to a procvar and can be passed around, stored etc. Called via `iter()`
17:04:45FromDiscord<gibson> So closure iterators were added? I was just trying to reconstruct history of development out of curiosity.
17:05:05FromDiscord<haxscramper> Closure iterators were added because async implementation required them
17:05:19FromDiscord<haxscramper> I think they were needed to construct some form of state machine
17:05:56FromDiscord<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:15FromDiscord<gibson> Thanks! Very helpful.
17:09:07Gambit[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:01FromDiscord<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:19FromDiscord<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:32FromDiscord<ElegantBeef> @Vindaar that's exactly it, just a variant object emitter
17:38:51FromDiscord<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:23FromDiscord<Gabben> sent a code paste, see https://play.nim-lang.org/#ix=3n8h
18:08:05*Vladar quit (Quit: Leaving)
18:08:50FromDiscord<konsumlamm> because that's how `var` works
18:11:03FromDiscord<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:10CodeBitCookie[m]<Gambit[m] "CodeBitCookie yeah, excuse me I "> Same for you. Thank you. :D
18:13:56FromDiscord<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:41FromDiscord<Hi02Hi> sent a code paste, see https://play.nim-lang.org/#ix=3n8o
18:22:22FromDiscord<Gabben> sent a code paste, see https://play.nim-lang.org/#ix=3n8u
18:26:00FromDiscord<Elperson> why are crypto scam bots in this discord
18:29:11FromDiscord<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:34FromDiscord<Kridel> Yep, just got a crypto scam message from one too (hironel#5521) which is in this server
18:29:36FromDiscord<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:27FromDiscord<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:39FromDiscord<ElegantBeef> (edit) "right" => "write"
19:28:57FromDiscord<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:49FromDiscord<Hi02Hi> sent a code paste, see https://play.nim-lang.org/#ix=3n8S
19:33:17FromDiscord<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:41FromDiscord<treeform> In reply to @zetashift "Oh man adding gaps": make a simple case and work your way up?
19:44:32FromDiscord<zetashift> Ah yeah good advice
19:59:34FromDiscord<Elperson> Whats a good site to learn nim?
20:00:01FromDiscord<ElegantBeef> There is a few different tutorials listed here https://nim-lang.org/documentation.html
20:00:39superbianim in action book is really good resource to start with
20:08:34FromDiscord<dom96> and you can bother the author on Discord if you have any questions when reading it πŸ˜„
20:09:07superbiabut not when he is cooking garlic chicken
20:10:22FromGitter<BracketMaster> @FromIRC <superbia> garlic? you lost me
20:12:23superbiagarlic, stuff we use for vampires
20:12:46superbiaworks on chicken (as author of the book stated iirc)
20:27:52CodeBitCookie[m]?
20:36:41*narimiran quit (Ping timeout: 240 seconds)
20:38:06superbiaask dom *
20:38:25*superbia quit (Quit: WeeChat 3.1)
20:38:33*krux02 joined #nim
20:50:51FromDiscord<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:04FromDiscord<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:54FromDiscord<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:55ForumUpdaterBotNew 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:58FromDiscord<zetashift> In reply to @treeform "Then port that algorithm": alright I'll experiment with this πŸ˜„
21:42:30FromDiscord<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:41FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=3n9f example of that
21:45:33FromDiscord<ElegantBeef> And actually it seems it's capable of handling atleast this case properly
21:46:58FromDiscord<ElegantBeef> Oh misread the issue yet again
21:47:04FromDiscord<ElegantBeef> Someone should hire me to just misread stuff, thanks
21:47:14FromDiscord<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:26FromDiscord<ElegantBeef> To get that behaviour you want you probably just want to do https://play.nim-lang.org/#ix=3n9h
21:50:50FromDiscord<dom96> superbia: lol what, I don't recall discussing garlic
21:50:57FromDiscord<ElegantBeef> True vampire
21:53:19FromDiscord<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:18FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=3n9j
21:54:36FromDiscord<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:07FromDiscord<ElegantBeef> well most keywords can be used but yea no one wants to do \`end\` everytime
21:59:33FromDiscord<gibson> @ElegantBeef Weird - that's the repr output? What's a single backtick supposed to indicate in nim?
21:59:49FromDiscord<ElegantBeef> https://nim-lang.org/docs/manual.html#lexical-analysis-stropping
22:00:46FromDiscord<ElegantBeef> Yea that's before the expansion of the byaddr pragma, but it's identical to the ast written by hand
22:03:03FromDiscord<ElegantBeef> I'm dumb
22:03:16FromDiscord<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:30FromDiscord<gavr> How to get DrNim, doc says `koch drnim` but how to get koch then?
22:08:44*arecaceae joined #nim
22:09:00FromDiscord<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:09FromDiscord<gavr> (edit) "then?" => "then?↡Im on Arch"
22:09:29ForumUpdaterBotNew thread by Matthesoundman: Python style in Nim, see https://forum.nim-lang.org/t/7995
22:09:56FromDiscord<gavr> just download koch.nim from nim repo and compile?
22:13:04FromDiscord<gavr> seems like koch.nim need full nim repo to compile it
22:13:18stefantalpalaruYes, you need to clone the whole repo.
22:15:03FromDiscord<gavr> why doesnt drnim or koch come in binary like the others like nimsuggest or grep?
22:15:30FromDiscord<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:28FromDiscord<gavr> hmm, okay, this situation is just like manual compile libnimhcr.so and libnimrtl.so for hcr
22:17:01FromDiscord<gavr> sent a code paste, see https://play.nim-lang.org/#ix=3n9p
22:17:02stefantalpalaruDrNim is in very early development: https://nim-lang.org/docs/drnim.html
22:26:27*NimBot joined #nim
22:57:10stefantalpalaru"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!)