<< 07-07-2020 >>

00:00:00*njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
00:01:04*njoseph joined #nim
00:13:00*NimBot joined #nim
00:14:57*endragor joined #nim
00:20:39*endragor quit (Ping timeout: 256 seconds)
00:45:20*tinga quit (Ping timeout: 244 seconds)
00:50:32*tinga joined #nim
00:50:59FromGitter<deech> TIL a proc with no arguments doesn't need an empty arg list, so instead of `proc f() = ...` you can just do `proc f = ...` which is cool. Guessing `proc f():ReturnType {.aPragma.}` can just be `proc f:ReturnType {.aPragma.}` similar to `let` and `var`?
01:04:17*laqq3 quit (Ping timeout: 256 seconds)
01:07:24*laqq3 joined #nim
01:08:50bung_can I upgrade offical site fontawesome version and host ? fontawesome.com seems blocked by GFW
01:15:38*endragor joined #nim
01:28:11*dddddd quit (Ping timeout: 265 seconds)
01:33:16*vr0n quit (Ping timeout: 258 seconds)
01:35:38*fredrikhr quit (Ping timeout: 260 seconds)
01:38:39*chemist69_ joined #nim
01:41:41*chemist69 quit (Ping timeout: 256 seconds)
01:47:32*tinga quit (Ping timeout: 272 seconds)
01:48:48*audiophile quit (Quit: Default Quit Message)
01:48:56*lritter quit (Quit: Leaving)
01:49:56*endragor quit (Remote host closed the connection)
01:50:02*endragor joined #nim
01:52:34*vr0n joined #nim
01:53:36*tinga joined #nim
01:56:34*Tlanger joined #nim
01:58:57*Tongir quit (Ping timeout: 258 seconds)
02:02:32*ftsf joined #nim
02:03:51FromDiscord<Zed> why doesn't choosenim work on raspbian?
02:06:44FromDiscord<Zed> well it's a bummer that it doesn't support arm
02:12:59*krux02_ quit (Remote host closed the connection)
02:24:34leorize[m]@Zed https://github.com/alaviss/nightlies/releases
02:25:29leorize[m]There are prebuilts for arm, feel free to grab them and avoid bootstrapping
02:26:17leorize[m]just download the archive, extract it, add the `bin` folder to your `PATH`, and you got working Nim
02:27:26FromDiscord<Zed> Thanks, it's a bummer choosenim doesn't work on arm
02:30:39*muffindrake quit (Ping timeout: 244 seconds)
02:32:57*muffindrake joined #nim
02:36:50FromDiscord<Zed> it works!
02:37:56leorizeyay \o/
02:39:37disruptektime to fork gitnim and become our arm maintainer.
02:39:43disruptek~gitnim
02:39:44disbotgitnim: 11https://gitnim.com/ -- choosenim for choosey nimions -- disruptek
02:42:08FromGitter<ynfle> How would I redirect `stdout` to `stdin` then read from it?
02:42:20leorizeuh... what?
02:42:31leorizeyou mean redirect a child process stdout to stdin or your own?
02:43:12FromGitter<ynfle> No, I want to capture `echo` calls
02:43:30leorizeyou can't :)
02:43:44leorizeyou can, but it's not something you'd want to do
02:43:47leorizewhat's your usecase?
02:45:57shashlickdisruptek: https://bintray.com/genotrance/binaries/libgit2
02:46:10shashlickno more having to compile manually - i'm just going to build stuff myself
02:46:19shashlickJBB is super easy to run locally
02:46:39disruptekgah why did we choose to deprecate dirExists instead of existsDir? we could have fixed the name...
02:47:13disrupteki was gonna try jbb but i had some kind of weird compile failure building julia.
02:47:16disruptekimagine that.
02:47:34shashlicki just downloaded their binary, why build
02:47:36leorizedisruptek: well timotheecour pushed a NEP-1 change and no one objects
02:48:15disrupteki build everything. if i can't build it, why should i expect it to work?
02:48:42shashlicktoo tired to argue
02:48:48disrupteki can't audit all of timmy's shit; i don't even think /he/ can.
02:49:57disruptekshashlick: i have no problem with shipping binaries; i just have a problem with consuming them.
02:50:21disruptekwe'll include it in gitnim and then we can stop sweating all this garbage.
03:05:09disrupteknot a fan of this fusion idea, especially since it's a big ball of mud acquiring new code, as opposed to community-vetted code as originally envisioned.
03:06:01leorizefusion is supposedly stdlib-staging
03:06:37leorizecommunity packages can get in but only if they decided to apply
03:08:16FromDiscord<Varriount> ynfle: Why do you need to capture echo calls?
03:08:59FromDiscord<Varriount> leorize: What was changed in NEP-1?
03:09:44leorizehttps://github.com/nim-lang/Nim/blame/devel/doc/nep1.rst#L152
03:12:23FromDiscord<Varriount> I know it's selfish and petty, but I feel a bit annoyed that I wasn't included in that discussion. Especially since I wrote NEP-1
03:15:30FromDiscord<Varriount> disruptek: Do I even want to look at fusion? I keep hearing it mentioned, and I recall the concept (vaguely).
03:16:02FromDiscord<Varriount> But the way you describe it, it sounds like the kind of thing you find growing in the back of your fridge.
03:16:26FromDiscord<Elegant Beef> Communists?
03:17:07FromDiscord<Elegant Beef> ~~That's a jojo rabbit reference~~
03:18:24disruptekleorize: looking at what's gone/going into fusion, i have come to a rather different conclusion.
03:19:18disruptekmore than 25% of all the traffic in nim-lang is from timothee. doesn't he have anything more substantial to contribute?
03:21:01FromGitter<ynfle> @leorize, running someone else's code (by way of `import`) in the cloud and capture and returning stdout
03:21:38FromDiscord<Varriount> ynfle: If you're running someone else's code, have the parent process capture the output.
03:22:03disruptek!repo asynctools
03:22:04disbothttps://github.com/cheatfate/asynctools -- 9asynctools: 11Various asynchronous tools for Nim language 15 58⭐ 20🍴
03:22:55FromGitter<ynfle> @distruptek, was that for me?
03:24:10leorizeeven osproc would suffice
03:25:51*greyeax joined #nim
03:26:17greyeaxHey there, could anyone help me understand how to iterate through some json?
03:26:48disruptekfor j in items(jarray): echo $j
03:26:48greyeaxessentially the equivalent of like, for x in y: print(x)
03:26:51greyeax(uin python
03:26:53greyeaxoh nice
03:26:59*d10n_ joined #nim
03:27:04greyeaxthanks lol i'll try that now
03:27:09disruptek~manual
03:27:09disbotmanual: 11the Nim Manual is https://nim-lang.org/docs/manual.html -- disruptek
03:27:21disruptekyou'll be surprised at what's in there.
03:27:33*d10n quit (Read error: Connection reset by peer)
03:27:40disruptekynfle: yes.
03:27:40FromDiscord<Varriount> disruptek: What do you think of timothee's alias PR?
03:27:55disrupteksolves a problem i don't have in a way i don't like.
03:28:06*gsingh93 quit (Ping timeout: 260 seconds)
03:28:08disruptekwhy did we merge this b-tree hack?
03:28:18disruptekhow can you accept modifying a btree value?
03:28:31leorizewhat's that?
03:28:46disruptek#14916
03:28:47disbothttps://github.com/nim-lang/Nim/pull/14916 -- 6Allow overwritting of values in B-Tree
03:28:52*gsingh93 joined #nim
03:29:09disrupteki'm too tired and i'm sure i'm going to say something inappropriate.
03:29:38FromDiscord<Varriount> If I made a mistake, it was unintentional.
03:30:04disruptekof course it was, if it was.
03:30:09FromDiscord<Varriount> I'll admit that I was looking more for code correctness, and didn't think too much on the semantics of a btree
03:30:12disruptekmaybe i'm wrong, but it seems wrong to me.
03:30:47disrupteki mean, it's compiler code that we don't even use in the compiler. i dunno why we're opening ourselves up to bugs.
03:30:51FromDiscord<Elegant Beef> > If I made a mistake, it was unintentional.↵This made me chuckle more than it should've
03:32:32FromDiscord<Varriount> > What currently happens is it readds the key but the newer one is simply unaccessible, due to the get algorithm taking the first occurrence.
03:33:14*laqq3 quit (Ping timeout: 240 seconds)
03:33:16FromDiscord<Varriount> I mean, it sounds like this is a bug. If I can add something to a data structure successfully, I expect to be able to retrieve it.
03:33:35FromDiscord<Varriount> (barring exceptions such as bloom filters, etc)
03:33:42disruptekwe've been retrieving it.
03:34:21*laqq3 joined #nim
03:34:39FromDiscord<Varriount> But you can't retrieve the newey key you inserted?
03:34:43FromDiscord<Varriount> *newer
03:34:55disruptekanyway, it certainly demands more documentation. the semantics have changed in a significant way.
03:35:04*opDispatch quit (Ping timeout: 246 seconds)
03:35:12FromDiscord<Varriount> I mean, I'm fine with reverting the PR
03:35:31disruptekif you cannot retrieve the newer key, so be it. the fact is, the code we rely on relied upon this behavior. or it didn't. who fucking knows?
03:35:44FromDiscord<Varriount> I didn't notice it was compiler code, otherwise I wouldn't have touched it.
03:35:55disrupteksorta doesn't have add, and it should.
03:36:15disruptekvarriount: dude, no one is blaming you. i'm not even blaming anyone.
03:36:27leorizedidn't 4raq merge that one? lol
03:36:29disrupteki just think it's a creepy change.
03:36:35FromDiscord<Varriount> Oh, he did.
03:36:54FromDiscord<Varriount> I assumed I had, because I know I mergeed in a couple of PRs last night
03:36:54leorizeyou can just ask him why he merged it
03:37:45disrupteki'm looking at it and it looks like a bugfix, but what i see is an undocumented change that impacts compiler code.
03:38:51disruptekanyway, i have a 9hr drive towing my house tomorrow. peace.
03:50:10*rockcavera quit (Remote host closed the connection)
03:50:49*vr0n quit (Ping timeout: 244 seconds)
04:06:01*supakeen quit (Quit: WeeChat 2.8)
04:06:38*supakeen joined #nim
04:07:13FromDiscord<Zachary Carter> gl on the drive
04:22:21FromDiscord<Technisha Circuit (LGBTQIAP+)> I wonder if my own linux based OS would be worth making just so i can flex-
04:22:43FromDiscord<Elegant Beef> You're developing on a phone, dont be such a sadist
04:23:11FromDiscord<Technisha Circuit (LGBTQIAP+)> This would be a project for whenever I'm on my PC
04:23:25FromDiscord<Technisha Circuit (LGBTQIAP+)> ~~And I'm already a fucking masochist~~
04:23:32FromDiscord<Elegant Beef> > whenever↵Ah never it seems
04:23:44FromDiscord<Technisha Circuit (LGBTQIAP+)> Rarely-
04:24:11FromDiscord<Technisha Circuit (LGBTQIAP+)> Maybe a completely custom shell from scratch perhaps?
04:24:27FromDiscord<Elegant Beef> Maybe choose a project and work on it 😄
04:24:28*Vladar joined #nim
04:24:35FromDiscord<Elegant Beef> Something managable though
04:24:38FromDiscord<Technisha Circuit (LGBTQIAP+)> That's a good idea-
04:24:47FromDiscord<Technisha Circuit (LGBTQIAP+)> A custom shell is a good idea
04:24:56FromDiscord<Technisha Circuit (LGBTQIAP+)> Imo at least
04:25:15FromDiscord<Technisha Circuit (LGBTQIAP+)> Hm, how would i execute binaries?
04:25:44FromDiscord<Technisha Circuit (LGBTQIAP+)> I don't want to rely on anything else except my own shell
04:25:53FromDiscord<Technisha Circuit (LGBTQIAP+)> So no sh commands via execProcess
04:25:56FromDiscord<Technisha Circuit (LGBTQIAP+)> Or similar
04:26:17FromDiscord<Elegant Beef> I mean you'd be developing something that can run those
04:26:31FromDiscord<Technisha Circuit (LGBTQIAP+)> Yeah, but how :p
04:26:38FromDiscord<Elegant Beef> https://brennan.io/2015/01/16/write-a-shell-in-c/
04:26:50FromDiscord<Technisha Circuit (LGBTQIAP+)> Thanks!
04:27:27FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) the subprocess functions only optionally use the shell
04:27:56FromDiscord<Varriount> Of course, if you really want to do things by hand, you can look at my shell
04:28:03FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh?
04:28:39FromDiscord<Elegant Beef> Then you do the bigbrain thing of using nimscript for everything from customization to the default scripting language 😄
04:28:57FromDiscord<Technisha Circuit (LGBTQIAP+)> :)
04:29:15FromDiscord<Technisha Circuit (LGBTQIAP+)> I have a feeling everyone thinks i hate myself-
04:29:23FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) If you want to go low-level, here:
04:29:25FromDiscord<Varriount> https://github.com/Varriount/commandant
04:29:34FromDiscord<Technisha Circuit (LGBTQIAP+)> Thanks!
04:29:46FromDiscord<Elegant Beef> I think a very good question is what do you intend to do differently?
04:29:57FromDiscord<Varriount> Specifically https://github.com/Varriount/commandant/blob/master/commandant/subprocess.nim
04:30:12FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) ^ That's the subprocess logic
04:30:31FromDiscord<Varriount> Though, it doesn't deal with signals much. I never got around to implementing that.
04:30:54FromDiscord<Technisha Circuit (LGBTQIAP+)> Thanks!
04:32:26FromDiscord<Technisha Circuit (LGBTQIAP+)> > I think a very good question is what do you intend to do differently?↵Well, syntax
04:32:42FromDiscord<Technisha Circuit (LGBTQIAP+)> Syntax + Functionality
04:32:49*laqq3 quit (Ping timeout: 256 seconds)
04:32:57FromDiscord<Elegant Beef> Im dumb cause im thinking that you could have a nim evaluator in the shell 😄
04:33:04FromDiscord<Elegant Beef> embed inim
04:33:11FromDiscord<Varriount> If you want to write a parser, I highly recommend NPeg. That's what I used, and it made the grammar part a breeze.
04:33:18FromDiscord<Technisha Circuit (LGBTQIAP+)> Adding things that make it not only a decent shell, but a default way to script
04:33:19FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh?
04:33:37FromDiscord<Technisha Circuit (LGBTQIAP+)> (edit) 'Adding things that make it not only a decent shell, but a default way to script ... ' => 'Adding things that make it not only a decent shell, but a default way to scriptstuff'
04:33:41FromDiscord<Varriount> Of course, the biggest hurdle with NPeg is that it doesn't natively support streams, so you would need to work around that.
04:33:50FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh okay
04:33:53FromDiscord<Technisha Circuit (LGBTQIAP+)> Thanks!
04:34:36*laqq3 joined #nim
04:40:29FromGitter<Knaque> How do I make an executable Nimble package? (i.e. nake, inim) At a glance it would seem that I just need to put `bin = @["<executable name>"]`in my .nimble, but I want to be certain.
04:41:45*waleee-cl quit (Quit: Connection closed for inactivity)
04:42:02FromDiscord<Elegant Beef> well if you use nimble init you can set it up there, but for premade packages it seems it's that line
04:42:55FromGitter<Knaque> Oh, I completely forgot that `nimble init` was a thing. I've just been writing them manually.
04:43:37FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) Let me know if you need anything, though keep in mind that I'm on EST time, so I'll be going to bed soon.
04:43:46FromDiscord<Elegant Beef> Ah shit you're NA
04:43:53FromDiscord<Elegant Beef> Not many NAers here 😄
04:44:07FromDiscord<Varriount> @Elegant Beef Yes, I'm from *that* country
04:44:16FromDiscord<Elegant Beef> Lol
04:44:22FromDiscord<Elegant Beef> Your tophat says hi
04:44:27FromDiscord<Technisha Circuit (LGBTQIAP+)> > @Technisha Circuit (LGBTQIAP+) Let me know if you need anything, though keep in mind that I'm on EST time, so I'll be going to bed soon.↵Oki, thanks! (Also I'm awake nearly 24/7 so i don't mind)
04:45:25FromDiscord<Elegant Beef> Where in *that* country?
04:46:03*Tongir joined #nim
04:46:18FromDiscord<Technisha Circuit (LGBTQIAP+)> ?
04:46:35FromDiscord<Elegant Beef> Varriount
04:48:13*Tlanger quit (Ping timeout: 246 seconds)
04:51:50FromDiscord<Varriount> @Elegant Beef East coast
04:51:57FromDiscord<Elegant Beef> Yea i got that from EST 😄
04:52:17FromDiscord<Elegant Beef> Just wanted to know if i had to worry about you walking into my country saying "Im going to alaska" 😛
04:53:04FromDiscord<Varriount> Possible, but unlikely.
04:55:56FromGitter<Knaque> So, `nimble init` raises a `Error: unhandled exception: The parameter is incorrect. [OSError]` when it gets to licenses. It gets as far as the `Choices:` prompt, but only a ton of whitespace and an error after that.
04:56:12FromDiscord<Elegant Beef> What OS?
04:56:25FromGitter<Knaque> Windows.
04:57:32*laqq3 quit (Ping timeout: 272 seconds)
04:58:08FromDiscord<Elegant Beef> what nimble version?
04:58:38FromGitter<Knaque> 1) 11.0
04:59:05FromDiscord<Elegant Beef> Works on my linux machine 😄
05:00:27FromGitter<Knaque> Normally I would use Linux for developing stuff, but my Windows machine is more convenient at the moment. To what degree is WSL actually Linux? That might work fine.
05:00:38FromDiscord<Elegant Beef> WSL2 would probably be ok
05:01:04FromDiscord<Elegant Beef> WSL1 would also probably work but be annoying. Yea i dont know what to suggest short of "Reinstall, reboot, retry"
05:02:33FromGitter<Knaque> Weird. Maybe it'd be something worth adding as a github issue if it's not just a me problem.
05:03:16FromGitter<Knaque> I immediately realized that saying "weird" was, in fact, a complete non sequitur.
05:03:55FromDiscord<Elegant Beef> Lol
05:03:58FromDiscord<Elegant Beef> Indeed
05:04:17FromDiscord<Elegant Beef> @impbox does nimble init work there?
05:04:26FromDiscord<Elegant Beef> If it's not too much to test 😄
05:05:41FromDiscord<impbox> seems to work for me on Windows + git bash
05:05:49FromDiscord<impbox> i don't have WSL set up
05:05:57FromDiscord<Elegant Beef> I meant natively
05:06:01FromDiscord<Elegant Beef> So that's good
05:06:12FromGitter<Knaque> Oh, maybe git bash would be worth trying for me. Let me do that real quick.
05:06:24FromDiscord<Elegant Beef> I mean powershell is right there
05:06:29FromDiscord<impbox> seems to work in `cmd` too
05:06:32FromDiscord<Elegant Beef> ahg
05:06:35FromDiscord<Elegant Beef> (edit) 'ahg' => 'ah'
05:06:57FromGitter<Knaque> Maybe it's a ps 7 thing?
05:07:26FromDiscord<impbox> works in powershell for me
05:07:43FromDiscord<impbox> though some of the text is black which is difficult to read against a dark blue bg
05:07:53FromDiscord<Elegant Beef> Im going to gow with the old classic of try a reinstall 😄
05:07:56FromDiscord<Elegant Beef> go*
05:07:56FromDiscord<impbox> https://media.discordapp.net/attachments/371759389889003532/729926654557814794/unknown.png
05:09:35FromGitter<Knaque> That's powershell 5/6 (I forget). I'm using 7. I'll also try 5/6 for the sake of science.
05:10:28bung_https://play.nim-lang.org/#ix=2r5q any reason why this happen?
05:11:04FromGitter<Knaque> Okay, well, git bash got further but still ended up crashing. `Error: unhandled exception: init.nim(106, 12) 'false' Invalid package type specified. [AssertionError]` Text also doesn't display properly.
05:11:20FromDiscord<impbox> ahh ps 5.1
05:11:31FromDiscord<impbox> didn't realise powershell had different versions and wasn't updated with the OS
05:11:42FromDiscord<Varriount> Knaque, @impbox Any idea how to prevent garbled error output from the C compiler when invoking Nim under powershell?
05:11:47FromGitter<Knaque> It's not for whatever reason. I find it incredibly obnoxious.
05:12:11FromDiscord<impbox> @Varriount i don't really use powershell
05:13:44FromGitter<Knaque> Right, so I've worked it down to being a Powershell 7 thing. I'm gonna go ahead and say that's github issue-worthy, unless anyone has any objections.
05:14:07FromDiscord<Elegant Beef> The worst case it gets closed instantly
05:15:28FromDiscord<Elegant Beef> You say it's a powershell issue but you also had it fail in git bash
05:15:35FromDiscord<Elegant Beef> So idk, i'd argue they're related 😄
05:16:29FromGitter<Knaque> Git bash threw a different error, though. I think it has to do with the fact that git bash isn't displaying/handling things properly the whole time, whereas 7 still displayed everything fine.
05:16:55FromDiscord<Elegant Beef> Does cmd prompt also fail?
05:19:04FromGitter<Knaque> Gonna be honest, I don't even know how to change directories in cmd. I never use it.
05:19:18FromDiscord<Elegant Beef> cd
05:19:35FromGitter<Knaque> I would've thought that, but it doesn't appear to be doing anything.
05:19:48FromDiscord<Elegant Beef> im 99% certain it's cd
05:20:02FromGitter<Knaque> I am eternally stuck in `C:\Users\willi>`.
05:20:11FromDiscord<Elegant Beef> Does using cd complain?
05:20:22FromGitter<Knaque> Nope.
05:20:29FromDiscord<Elegant Beef> Then your pc is fucked
05:20:37FromGitter<Knaque> Not surprised.
05:21:24shashlickare you trying to go to a different drive
05:21:35*Tlanger joined #nim
05:21:38FromGitter<Knaque> Yeah. Does cmd do some weird nonsense with that?
05:21:45shashlickyou need to do drive:
05:22:18shashlickor do `cd /d drive:\a\b`
05:23:06FromGitter<Knaque> I would've never in a million years thought to just do `D:`.
05:23:45FromDiscord<Elegant Beef> That's why they named it that, they want you to use gui 😛
05:23:54FromGitter<Knaque> It also seems to have already brought me to the directory I wanted, despite only telling it to switch to D:. I'm so glad I don't actually use this thing.
05:23:55*Tongir quit (Ping timeout: 246 seconds)
05:24:16*vicfred_ quit (Quit: Leaving)
05:24:21shashlickthat's cause you already changed to that directory 😄
05:25:15FromGitter<Knaque> So it's like... I can be in a different directory per-drive?
05:25:30FromDiscord<Varriount> Yep
05:26:02FromGitter<Knaque> I guess that makes sense, but, *why?*
05:26:13FromDiscord<Elegant Beef> It's the winblows way
05:26:26FromDiscord<Varriount> I'd have to look it up. There's probably a justification somewhere
05:26:47FromDiscord<Varriount> Bing: https://devblogs.microsoft.com/oldnewthing/20101011-00/?p=12563
05:27:32*maier joined #nim
05:27:47FromGitter<Knaque> `nimble init` works fine on cmd, other than the fact that non-highlighted options are completely invisible.
05:27:55*bung_ quit (Quit: Lost terminal)
05:28:17FromDiscord<Elegant Beef> Ok nice, got it to work, but yea powershell issues
05:28:38FromGitter<Knaque> Ah, so it basically stems from Microsoft's endless backwards compatibility. Fair enough.
05:28:39*lbart joined #nim
05:28:39*lbart quit (Changing host)
05:28:39*lbart joined #nim
05:29:08FromGitter<Knaque> 's a real shame I cant make a `con` folder to store all my convention photos.
05:29:11FromDiscord<Elegant Beef> "Endless compatibillity" Meanwhile my friend had to download wined3d for playing popcap games with hardware acceleration
05:29:43FromDiscord<Varriount> Is your friend on Linux?
05:29:46FromDiscord<Elegant Beef> No
05:29:50FromGitter<Knaque> I was being a bit sarcastic on the endless thing, not sure if that really came across in text. Anyway, let me make that issue real quick.
05:30:32FromDiscord<Elegant Beef> https://enviableyapper0.wordpress.com/2019/01/02/enabling-popcap-old-games-3d-acceleration-on-newer-computers/ If curious varriount
05:30:40*marnix joined #nim
05:35:32FromGitter<Knaque> Did the thing. I'll just leave it be and see what happens.
05:36:34*ftsf quit (Quit: Leaving)
05:45:07FromDiscord<Varriount> @Elegant Beef You might blame popcap for that one
06:02:58*narimiran joined #nim
06:04:17*ssbr quit (Ping timeout: 258 seconds)
06:07:20*dadada joined #nim
06:07:31*dadada left #nim (#nim)
06:22:43*marnix quit (Ping timeout: 246 seconds)
06:30:43*solitudesf joined #nim
07:06:40*ssbr joined #nim
07:39:04*fredrikhr joined #nim
07:39:48Araqhttps://gist.github.com/Araq/ea3ef89780dcbeb5730f4b058f016218 if you feel bored, you can use this patch our stdlib to use SSE 4.2 instructions
07:48:07FromDiscord<mratsim> For sets?
07:48:22FromDiscord<mratsim> I think if there is one place we want to use SSE in the std lib it would be for json
07:48:44FromDiscord<mratsim> Swift is getting a lot of flak for their slow Json and I guess once they solved it we will be the slowest :p
07:49:57*vicfred joined #nim
08:01:43FromDiscord<Technisha Circuit (LGBTQIAP+)> Why not just wrap the C json lib for use in Nim?
08:07:13FromDiscord<mratsim> doesn't work at compile-time
08:08:06FromGitter<bung87> araq has fastjson dont know performance compare to other implematation
08:09:12Araqmratsim: yeah, for sets
08:09:12FromDiscord<mratsim> packedjson is OK but still far from D or simdjson
08:09:45Araqthere is also a lovely performance regression for lexbase
08:09:53Araqwhich we need to fix
08:10:16FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh
08:10:44FromDiscord<mratsim> Nim is probably the best language to write parser in (better than the famed OCaml) but we need good showcase of that
08:10:46FromDiscord<Technisha Circuit (LGBTQIAP+)> Would it work if i turned the C json lib into a .so file?
08:11:04FromDiscord<mratsim> with compile-time FFI yes, but otherwise by default no
08:13:28FromDiscord<lqdev> > Nim is probably the best language to write parser in (better than the famed OCaml) but we need good showcase of that↵I agree with that, writing a parser in Nim was a breeze
08:14:10FromDiscord<lqdev> but to be honest I'd really like to see a rust-like pattern matching macro
08:14:31FromDiscord<lqdev> case..of is not readable enough :P
08:14:39Araqif you want to "see" it, take a look at the Nimble packages that provide it
08:15:53FromDiscord<lqdev> yeah I've seen a few already but haven't tried them yet
08:16:03Araqmaybe you should
08:16:19FromDiscord<lqdev> maybe.
08:18:09FromDiscord<lqdev> but I'm kind of afraid of pulling in too many dependencies to my lang
08:18:16FromDiscord<lqdev> I want it to be as small as possible
08:18:33FromDiscord<mratsim> Nim dependencies are thankfully not too costly due to dead code elimination
08:19:52FromDiscord<Elegant Beef> What does rust do that's different?
08:20:29FromDiscord<mratsim> match is indented :p
08:21:31*tinga quit (Ping timeout: 258 seconds)
08:38:07*chemist69_ quit (Quit: WeeChat 2.7)
08:38:24*chemist69 joined #nim
08:44:51FromGitter<bung87> I got `but expression 'newMapOperator(project)' is of type: void`
08:45:08FromGitter<bung87> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5f0436143c217837fd81362d]
08:45:52FromGitter<bung87> any ideas ? dont know why, I just new a type
08:45:52FromDiscord<mratsim> what's the project proc that you are passing?
08:46:21FromGitter<bung87> ```var mapfunc = proc(value:int,index:int):string = ⏎ $value``` [https://gitter.im/nim-lang/Nim?at=5f04365d7455046699e1e132]
08:47:26*vicfred quit (Ping timeout: 272 seconds)
08:48:14FromDiscord<mratsim> sent a code paste, see https://play.nim-lang.org/#ix=2r61
08:48:14FromGitter<bung87> https://github.com/bung87/rxnim/blob/sub/src/rxnim/subscribable.nim full code here, am not sure am doing wrong or error message given wrong
08:50:43*chemist69 quit (Quit: WeeChat 2.7)
08:51:05FromGitter<bung87> just {.closure.} pragma ? not work for me
08:52:00*chemist69 joined #nim
08:52:56FromGitter<bung87> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5f0437e88b72655b5556f7fc]
08:53:33FromGitter<bung87> cause cant infferd from outter proc params?
09:03:37*oddp joined #nim
09:04:29FromGitter<bung87> hmm, it's about `MapOperator` cant inherit from `Operator[T,R]`
09:08:47Oddmongernim cannot have underscore in sources filenames ?
09:09:34Oddmongeri have this file: 01_hello.nim , containing only « echo "hello, Nim" », and compiler says « invalid module name »
09:09:50FromGitter<bung87> undersocre is whiped from identifier
09:09:51FromDiscord<Elegant Beef> no you cannot
09:10:39alehander92_oii
09:10:39FromGitter<bung87> the problem maybe the 01 prefix.
09:11:10FromDiscord<Elegant Beef> Aussie
09:11:19Oddmongeryes, i tried with 01-hello.nim, and it's the same error rising
09:11:21*lbart quit (Ping timeout: 258 seconds)
09:11:56FromGitter<bung87> that's also not a good name in other languages.
09:11:58Oddmongeraa_hello.nim is working though
09:12:12FromDiscord<Elegant Beef> ah then underscores are allowed there
09:12:21*lbart joined #nim
09:12:22*lbart quit (Changing host)
09:12:22*lbart joined #nim
09:12:22FromDiscord<Elegant Beef> You dont need numbers in a module
09:12:50FromDiscord<Elegant Beef> (edit) 'You dont need numbers in a module ... ' => 'You dont need numbers in a modulename'
09:13:14Oddmongeris an executable a module ?
09:13:22Oddmongereverything is module ?
09:13:25FromDiscord<Elegant Beef> no
09:13:29FromDiscord<Elegant Beef> modules are nim files
09:13:37Oddmongerah
09:13:46FromDiscord<Elegant Beef> https://nim-lang.org/docs/manual.html#modules
09:13:53FromDiscord<Elegant Beef> Read that for your sanity 😄
09:13:57FromDiscord<Elegant Beef> There is also a tutorial
09:14:35Oddmongerok i've read the first tutorial (not entirely though) but i don't remember modules
09:15:59FromDiscord<Elegant Beef> Yea the manual is also worth a read especially if coming from another language
09:17:27livcdthe status client is looking good!
09:18:00*vicfred joined #nim
09:18:33*Tongir joined #nim
09:21:38*Tlanger quit (Ping timeout: 272 seconds)
09:22:51alehander92_what is the status client
09:25:25*Vladar quit (Ping timeout: 246 seconds)
09:25:57*Vladar joined #nim
09:26:01*livcd quit (Ping timeout: 264 seconds)
09:26:08*livcd joined #nim
09:26:59Oddmongercan a module be seen as a « compilation unit » ?
09:28:25narimiranalehander92_: can that comprehension PR be merged? :)
09:29:26FromDiscord<mratsim> you cannot start with numbers
09:29:30FromDiscord<mratsim> it's not the underscore
09:29:47narimiranthanks :)
09:30:07alehander92_:)))
09:30:38Oddmongermratsim : i understand, it's because of the « import » statement which can been used
09:31:27FromDiscord<mratsim> A Nim identifier, for example a procedure or a variable name cannot start with a number
09:31:40FromDiscord<mratsim> and modules/files must be valid Nim identifiers
09:32:07Oddmongeryes i understand
09:34:51*lbart quit (Ping timeout: 256 seconds)
09:35:00*lbart joined #nim
09:35:01*lbart quit (Changing host)
09:35:01*lbart joined #nim
09:44:37*oculux quit (Ping timeout: 264 seconds)
09:45:53narimiranalehander92_: "we need probably an ordered table comprehension" -- this already works correctly, at least in my simple test. i can send you a PR with that test if you want
09:53:20*tinga joined #nim
09:57:58*tinga quit (Remote host closed the connection)
09:58:12*tinga joined #nim
10:06:14*abm joined #nim
10:11:03*livcd quit (Changing host)
10:11:03*livcd joined #nim
10:28:53FromDiscord<lqdev> I just updated nim-glm to #head because I needed to fix a bug, now I have this error: src/aglet/gl.nim(762, 5) Error: invalid type for const: static[int literal(2)](2)
10:29:02Yardaniconeat
10:29:06Yardanico:P
10:29:13FromDiscord<lqdev> this is what I'm trying to do
10:29:18Yardanicowhen did it work?
10:29:27FromDiscord<lqdev> sent a code paste, see https://play.nim-lang.org/#ix=2r6h
10:29:37FromDiscord<lqdev> well it worked like 5 minutes ago before I pulled glm#head :P
10:29:42FromDiscord<lqdev> that was glm 1.1.0
10:29:44Yardanicooh
10:29:48YardanicoI thought it was a nim regression :P
10:33:30FromDiscord<lqdev> huh, nothing changed in `Vec`'s declaration
10:35:41*hyiltiz joined #nim
10:35:41*hyiltiz quit (Changing host)
10:35:41*hyiltiz joined #nim
10:35:42FromDiscord<lqdev> well
10:35:51FromDiscord<lqdev> adding a conversion to `GlInt` solved the issue
10:36:05FromDiscord<lqdev> weird
10:39:00alehander92_narimiran ah no problem
10:39:04alehander92_i was just thinking
10:44:02FromGitter<bung87> implement rx in nim is hard to me
10:44:34FromDiscord<Rika> i tried too and yes it is hard
10:45:11FromGitter<bung87> the closest implementation maybe the rx.net , maybe easier to port.
10:45:26FromGitter<bung87> feel sad ,these two days.
10:49:10*dddddd joined #nim
10:51:12alehander92_dont feel sad
10:51:18alehander92_what's up these days
10:52:13FromGitter<bung87> try to implement reactive programing pattern in nim
10:55:00FromGitter<bung87> also I have a interview, the conversation goes well, when he ask whether am I interested in work content, I can't lie to myself, the work content sounds boring
10:55:17*abm quit (Quit: Leaving)
10:57:31supakeensometimes it is better to find the little spots of joy in a workload you don't enjoy
10:57:40supakeenthere's always a few i think :)
10:57:57FromDiscord<lqdev> 1. meme with your code
10:59:03supakeen`proc yeet(request: Request) {.discardable.}`?
10:59:18FromGitter<bung87> supakeen yeah, maybe I can find during that work, for that moment I'd say no
11:00:47FromDiscord<lqdev> I just insert rants to code comments and it makes me feel better
11:01:27supakeenI will say it works much better if you actually enjoy the subjects you work on, I've done the whole 'eh its ok' at a previous job as well and it really wasn't ok after a few years.
11:05:37*ForumUpdaterBot quit (Remote host closed the connection)
11:05:44*ForumUpdaterBot joined #nim
11:06:55FromGitter<bung87> um so everybody will face this problem after few years, if doing old things more than new thing
11:17:45*lritter joined #nim
11:19:56*ForumUpdaterBot quit (Remote host closed the connection)
11:20:03*ForumUpdaterBot joined #nim
11:21:52Yardanico!status
11:21:54FromDiscordUptime - 11 hours and 26 minutes
11:27:46FromDiscord<lqdev> any compiler devs around?
11:28:43FromDiscord<lqdev> I have this strange problem where I can't reference parameters from default parameters if I call a proc like that in a proc
11:29:05alehander92_hm
11:29:14alehander92_can you give an example
11:29:24FromDiscord<lqdev> this https://play.nim-lang.org/#ix=2r6F
11:29:38*alehander92_ is this supposed to work
11:29:45FromDiscord<lqdev> yes
11:29:58FromDiscord<lqdev> it works when you call `test` at the top level
11:30:18FromDiscord<lqdev> https://play.nim-lang.org/#ix=2r6H
11:31:39FromDiscord<kodkuce> can ignore this if using beohem "template/generic instantiation of `async` from here"
11:31:46Yardanico?????
11:31:47Yardanicoshow full error
11:32:53alehander92_hm seems like a bug
11:32:56alehander92_lqdev
11:33:37FromDiscord<lqdev> well a pretty obvious bug
11:33:44FromDiscord<lqdev> gonna report it
11:34:22FromDiscord<lqdev> ah it's already reported
11:34:25FromDiscord<kodkuce> https://media.discordapp.net/attachments/371759389889003532/730023911709999104/2020-07-07_133246.png
11:34:31FromDiscord<lqdev> https://github.com/nim-lang/Nim/issues/11274
11:34:33disbotParameter default value equal to another parameter - works only from top level ; snippet at 12https://play.nim-lang.org/#ix=2r6J
11:34:40Yardanico@kodkuce full error output from compilation
11:34:47Yardanicowith "nim c ..."
11:36:48FromDiscord<kodkuce> i dont get error on compilation, it works but this is showed as warining in VScode thats why i ask i can just ignore it right?
11:37:03Yardanicoyes yes, and I probably know why is it showing
11:37:07Yardanicowhat's your nim version?
11:37:51FromDiscord<kodkuce> Version 1.2.4
11:38:04Yardanicohmm strange, maybe that fix wasn't backported..
11:38:07Yardanicowell you can just ignore the error
11:38:23Yardanico======restarting the discord bridge=======
11:38:25*FromDiscord quit (Remote host closed the connection)
11:38:40*FromDiscord joined #nim
11:38:51Yardanico======restart done======
11:41:44FromDiscord<lqdev> well I guess it's time for some compiler debugging
11:50:26FromDiscord<kodkuce> @Yardanico switched to devl still got same error anwyay its all working no problem so will just ignore
11:52:43Oddmongerarrgg no nim syntax colorization in rouge
11:52:56Yardanico rouge ?
11:54:34Oddmongerruby plugin used for code highlighting
11:54:54Oddmongerbut it seems to be possible: https://forum.nim-lang.org/t/636
11:55:17*sacredfrog quit (Quit: ZNC 1.8.1 - https://znc.in)
11:55:29Oddmongernot integrated in Rouge upstream, alas
11:56:20Yardanico"Main PR has been merged to upstream - I've since added some test cases and expanded the visual spec, but bottom line is Rouge now has support for Nim. :)" :thinking:
11:56:43Yardanicowhat's https://github.com/rouge-ruby/rouge/blob/master/lib/rouge/lexers/nim.rb then ?
11:56:45*sacredfrog joined #nim
11:57:27Yardanicoalso fwiw nim has it's own highlight module
11:57:35Yardanicowhich just so happens to be able to highlight nim code :P
12:00:22FromDiscord<exelotl> man the nim learnxinyminutes really needs some love :\
12:02:18OddmongerYardanico: yes, i had used the wrong delimiters for code snippet :) ( ``` instead of ---- )
12:06:02*supakeen quit (Quit: WeeChat 2.8)
12:06:42*supakeen joined #nim
12:07:08*cyraxjoe joined #nim
12:07:08*MightyJoe quit (Ping timeout: 256 seconds)
12:07:55Oddmongerthat's funny: -d:nosignalhandlers and --checks:off grows the size of executable
12:08:05Oddmonger--newruntime alone grows even more
12:08:07Oddmongerbut
12:08:40Oddmongerwith the three above used both, it reduces the executable size
12:08:53Yardanico--newruntime shouldn't really be used nowadays I think
12:08:56Yardanicojust use --gc:arc or --gc:orc
12:09:10Yardanicoalso for absolute minimal binary size stuff like
12:09:24Oddmongerok, saw this in an old tutorial
12:09:37Yardanico-d:noSignalHandler -d:danger --opt:size --gc:arc --panics:off
12:09:40Yardanicohandler without s
12:10:03Yardanicoah sorry
12:10:04Oddmongerif you understand french: https://linuxfr.org/users/vroum/journaux/un-premier-contact-avec-le-langage-nim
12:10:05Yardanico--panics:onn :P
12:10:22YardanicoOddmonger: I did some funny stuff before
12:10:29Yardanicoyou could get the single-lien hello world to like 5kb
12:10:35Yardanicostatic
12:11:09Oddmongeroh, really ?
12:11:12Yardanicoyes
12:11:19Yardanicostatic with musl
12:11:25Yardanicoor maybe I'm mistaking numbers, lemme recheck
12:12:59livcdhmm why is the status client on Mac so gigantic?
12:13:01Yardanicoyeah ~7.6kb
12:13:10Yardanicolivcd: maybe they're shipping qt?
12:13:24livcdalso 255MB ram is a bit too much for a desktop app is not it?
12:13:26livcdYardanico: true
12:13:29Yardanico7744 bytes
12:13:34Yardanico"g: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped"
12:13:45Yardaniconim c -d:danger --cc:clang --clang.exe="zigcc" --clang.linkerexe="zigcc" --gc:arc --opt:size --panics:on --passC:"-flto -target x86_64-linux-musl" --passL:"-flto -target x86_64-linux-musl" g.nim
12:14:02Yardanico(zigcc is a small script which calls "zig cc", and I use zig only because of cross-compiling to musl here)
12:14:20Yardanicothat's for echo "Hello world!"
12:15:28YardanicoOddmonger: you might want to be interested in https://hookrace.net/blog/nim-binary-size/
12:15:33Yardanicoit's more throughout than that french article
12:15:50Yardanicobut it's 5 years old too :P
12:16:12Yardanicoah right
12:16:16YardanicoI remember how to make size even smaller
12:16:40Yardanicoah lol i also forgot to disable signal handlers
12:16:55Yardaniconim c --os:any -d:posix -d:noSignalHandler -d:danger --cc:clang --clang.exe="zigcc" --clang.linkerexe="zigcc" --gc:arc --opt:size --panics:on --passC:"-flto -target x86_64-linux-musl" --passL:"-flto -target x86_64-linux-musl" g.nim
12:16:59Yardanicono changes in the source code
12:17:01Yardanico5968 bytes
12:18:51disrupteki think zevv got it to around 3k.
12:19:06disruptekif you wanna worry about a performance regression, how about the base64 benchmark?
12:19:19Yardanico?
12:19:23Yardanicowat
12:19:25disruptekit's under 1.5s for refc and (now) 7 seconds for arc.
12:19:38Yardanicowell you have the codec?
12:19:40Yardanicocode*
12:19:42disruptekyeah. it was 4s. now it is seven seconds.
12:19:51disruptekit's the one from kostya/benchmarks.
12:19:53Yardanicoalso I removed 150 more bytes by stripping the comment section
12:19:58Yardanicodisruptek: LOL
12:20:09YardanicoI literally tried it around 10 minutes ago myself
12:20:17Yardanicoand no there weren't performance regressions
12:20:27Yardanicoah you mean base64
12:20:30YardanicoI tried brainfuck
12:20:35Yardanicolemme see
12:21:31disruptekencode: 1333333600, 0.551000
12:21:32disruptekdecode: 1000000000, 0.852749
12:21:43disruptek1.3.5 refc ^
12:21:44disruptekencode: 1333333600, 2.01366
12:21:45disruptekdecode: 1000000000, 5.49978
12:21:49disruptek1.3.5 arc ^
12:22:06disruptekCompiled at 2020-07-07; git hash: ebd97884a0134ba2f88e19f647585aa6133536aa
12:22:09disruptekbinary from nightlies.
12:22:24Yardanicocheck the peak mem though :)
12:22:28Yardanicoit's 3x lower for arc
12:22:30disruptekwho gives a shit?
12:22:40Yardanicowell yes I can confirm it's slower, but these are microbenchmarks anyway
12:22:44*rockcavera joined #nim
12:23:04disruptekdon't be stupid.
12:23:46Yardanicofix it then :P
12:24:05Yardanicowell I get that it's not good, but we won't solve nothing if we'll just rant about it
12:24:07disruptekpay me money.
12:24:13disruptekno one is ranting.
12:24:20disruptekwhenever golden compiles, i run benchmarks.
12:24:27disrupteki've been running these for months and months.
12:24:50Oddmongerwell under 40kb, it's already impressive
12:28:59ZevvYardanico: -d:usemalloc?
12:29:03Yardanicoah right
12:29:04Yardanicoforgot :P
12:29:28Yardanico5608 bytes
12:29:33Yardanicothat's after stripping the comment section too
12:29:45Yardanico(the one with compiler version info)
12:29:53Zevv--os:any --gc:arc --exceptions:goto --noMain -d:noSignalHandler -d:danger -d:useMalloc
12:29:58Zevvis what I used on the arduino
12:30:00Yardanicoexceptions:goto is not needed here
12:30:03Yardanicoarc implies them anyway
12:30:08Zevvtrue that
12:30:38Yardanicowell if I use --noMain and add 1 line for proc main {.exportc.} =
12:30:42Yardanicothen it's 5480 bytes
12:31:34Yardanicoand if I disregard echo and use c_printf from system/ansi_c it's 5112 bytes
12:31:40Yardanicostill 3 loc
12:32:47FromDiscord<Zachary Carter> That perf regression is troubling...
12:35:08Yardanicowell 38% of the time is spent in "nimPrepareStrMutationV2"
12:35:20Yardanico40% in decode, 14% encode
12:36:21Yardanicowell I can make decode 2x faster
12:36:26Yardanicoby removing the check for the invalid character :P
12:37:13Yardanicoand that check is in a template
12:37:27Yardanicowhich is used at least 6 times
12:37:53YardanicoI think when I optimized my mathexpr for arc a bit too Araq advised to split the error raising code into a different proc
12:37:55Yardanicofor faster speeds
12:39:09Yardanicoyeah
12:39:13nkozhi, I'm new to Nim and I'm evaluating it for an embedded app. I want to know if the following is possible: have a thread T1 with GC doing xml parsing, jpg parsing, image drawing and jpg generation, (there is a lib?), and have a thread T2 with NO GC, realtime behavior (SCHED_FIFO), managing a TCP connection and a serial port (there is a serial lib?). Threads must communicate using messages (they must pass data copies, not references). Also T2 must do a select() c
12:39:14nkozall over the TCP socket, the serial port fd, AND the message channel from T1.
12:39:26Yardanicoif I make it a different proc instead of raising in the same proc it's still 2x faster
12:40:12Yardaniconkoz: do you really need "no gc"? because with --gc:arc you essentially don't have a GC and I think it should be suitable for realtime
12:40:27Yardanicoarc is move semantics (destructors, etc) and refcounting
12:40:34Yardanicono "tracing" steps or anything like that
12:40:59livcdthere is performance regression? in devel?
12:41:01nkozI want to not allocate on T2, maybe Nim warning/erroring me if I do
12:41:10Yardanicolivcd: well it's about base64 and arc
12:42:30FromGitter<bung87> gc:arc still a gc right ?
12:42:49Yardaniconot really
12:43:00Yardanicothe "gc" switch is misleading in this example :)
12:43:07Yardanicoit should be somthing like --mm:arc
12:43:24ee7[m]@lqdev Yay, nice to see somebody else run into the crash I reported in https://github.com/nim-lang/Nim/issues/11274. I believe "setting a parameter to have a default value of another parameter" is still undocumented (deliberately). But maybe there aren't too many more bugs with it if you can fix that one. It seems like a nice minor feature.
12:43:26disbotParameter default value equal to another parameter - works only from top level ; snippet at 12https://play.nim-lang.org/#ix=2r6J
12:43:28FromGitter<bung87> then "refcounting" in which cateogory ?
12:44:09FromDiscord<exelotl> If I understood araq's talk, arc is not a GC, but arc with a cycle collector (orc) kinda is a GC ?
12:44:18Yardanicoyes
12:44:59FromGitter<bung87> I know "refcounting" is gc related term
12:47:20FromGitter<bung87> wait , object has default destructor ?
12:47:25Yardanicoof course?
12:47:28Yardanicoeverything has a default destructor
12:47:31Yardanicohow arc would work otherwise?
12:48:22FromGitter<bung87> hmm how it know when to destruct ?
12:48:32Yardanicoit analyses your program
12:48:43Yardanicomakes a control flow graph, does data flow analysis
12:48:51Yardanicodo determine when some variable can be safely destroyed
12:48:59Yardanico*to
12:49:14Yardanicofor references destructors decrease the refcount, and if it becomes 0 - destroy the reference
12:49:14FromGitter<bung87> ah that sounds posibble.
12:49:24Yardanicodestroy the object*
12:49:39FromDiscord<exelotl> nkoz, your probably want to use arc/orc for your application. There's an XML parser in the standard library. You can certainly find pure nim libraries for image drawing, e.g. https://github.com/treeform/flippy
12:49:56FromGitter<bung87> all does in CT ?
12:50:03Yardanico?
12:50:09Yardanicoit inserts all destroy calls at compile-time
12:50:16Yardanicobut they're stil ran at runtime
12:50:19Yardanico(obviously)
12:50:45FromGitter<bung87> wow, then gc not suitable for it.
12:51:10*FromDiscord quit (Remote host closed the connection)
12:51:28*FromDiscord joined #nim
12:51:29FromDiscord<lqdev> that's --gc:destructors in a nutshell
12:51:29FromDiscord<exelotl> For png there's nimPNG. But for working jpg you will probably have to use an external C/C++ library
12:51:29FromDiscord<lqdev> and --gc:arc is based off of it
12:51:39FromDiscord<lqdev> same with --gc:orc
12:52:00nkozexelotl: thanks, will check
13:11:57FromDiscord<Clyybber> @disruptek: Does the regressing benchmark use strings?
13:27:43FromDiscord<zoinks> Hi quick question
13:27:50FromDiscord<zoinks> How can I execute shell commands
13:29:37FromDiscord<impbox> https://nim-lang.org/docs/os.html#execShellCmd%2Cstring
13:29:41FromDiscord<impbox> @zoinks ^
13:30:20*audiophile joined #nim
13:30:25FromDiscord<impbox> or https://nim-lang.org/docs/system.html#staticExec%2Cstring%2Cstring%2Cstring at compile time
13:30:36FromDiscord<zoinks> Nvm got it
13:31:00FromDiscord<zoinks> Haha engine search didn't show me anything useful but the docs page did
13:31:24FromDiscord<zoinks> https://media.discordapp.net/attachments/371759389889003532/730053352603385887/JPEG_20200707_163109.jpg
13:33:17*Senny joined #nim
13:41:31FromGitter<bung87> why https://nimble.directory/ has so much fonts resources?
13:41:53FromGitter<bung87> (https://files.gitter.im/5602f03e0fc9f982beb19f61/ckej/Screenshot-2020-07-07-at-9.41.43-PM.png)
13:41:53FromDiscord<Technisha Circuit (LGBTQIAP+)> If i made a type in Nim, how would i access the fields via cffi in python?
13:43:00FromDiscord<Zachary Carter> nkoz: if you don't want to make any allocations and you want to be warned if you do, then `--gc:none` is the correct compile option
13:43:37*oculux joined #nim
13:44:13FromDiscord<Zachary Carter> --gc:arc / orc will still allocate on the heap
13:46:52FromDiscord<Zachary Carter> for thread 1 you can use the ref counting GC `arc` or the ref counting w/ cycle detection `orc` or the default deffered ref counting gc `refc` - but just keep in mind if you're not using arc or orc(and taking advantage of move semantics) you'll need to allocate on the shared heap and pass pointers around or use message passing via channels
13:47:15*vr0n joined #nim
13:47:32FromDiscord<Yardanico> @Technisha Circuit (LGBTQIAP+) you would need to write a C header for it (and of course use C types for the nim type, like cdouble, cint, etc)
13:47:47FromDiscord<Yardanico> well, a C "header" just for the type
13:48:40FromDiscord<lqdev> so I want to work on the compiler, but some tests are failing (before I started working)
13:48:42FromDiscord<lqdev> what should I do?
13:48:43FromDiscord<Technisha Circuit (LGBTQIAP+)> How do i make the header?
13:48:48Yardanico@lqdev what tests?
13:48:52Yardanico@Technisha write it manually
13:49:14FromDiscord<lqdev> Yardanico: no idea, it's running right now and I'm seeing a bunch of errors scroll by
13:49:28Yardanicowhat are you using for testing?
13:49:33FromDiscord<lqdev> koch tests
13:49:35FromDiscord<Technisha Circuit (LGBTQIAP+)> Is there a tutorial for writing header files? :P
13:49:47Yardanico@lqdev well you need at least nodejs, sfml
13:50:08Yardanicomaybe more
13:50:13FromDiscord<lqdev> afaict it's because it can't find the std/private/since module
13:50:25FromDiscord<lqdev> I have both node.js and sfml
13:50:52Yardanicowell idk, I've always ran koch tests from the same nim installation as I have
13:50:52*FromDiscord quit (Remote host closed the connection)
13:51:05*FromDiscord joined #nim
13:51:40*NimBot joined #nim
13:51:42Yardanicodiscord bridge crashed due to wonderful "out of memory" :P
13:51:44Yardanicosame for nimbot
13:51:47Yardanico(they run on the same instance)
13:51:47FromDiscord<Zachary Carter> @Technisha Circuit (LGBTQIAP+) you may want to pick up a book on C/C++ programming
13:51:51Yardanicowhich is only 1gb RAM
13:52:08FromDiscord<Zachary Carter> https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628 - this is a good one
13:53:07FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh okay thanks
13:53:11FromDiscord<Zachary Carter> No problem
13:55:45*Senny quit (Ping timeout: 244 seconds)
13:57:06FromDiscord<lqdev> so uh
13:57:13FromDiscord<lqdev> what can I do about that import thing?
13:57:37FromDiscord<Zachary Carter> what import thing?
13:57:58*krux02 joined #nim
13:58:12FromDiscord<lqdev> nim tests fail on my local machine because stdlib modules can't access std/private/since
13:59:14FromDiscord<Zachary Carter> then you're probably missing something in a nim.cfg or config.nims somewhere
14:00:29FromDiscord<Zachary Carter> https://github.com/nim-lang/Nim/blob/devel/tests/config.nims
14:00:30FromDiscord<Zachary Carter> maybe that?
14:00:50FromDiscord<Zachary Carter> I don't know... I've never tried to run tests locally
14:00:53YardanicoI did
14:01:05Yardanicothey just run normally but that's with a single nim install
14:01:07livcdi am disappointed how mem hungry the status client is :P
14:01:16Yardanicoblame qt :P
14:01:21Yardanico(i guess)
14:01:35FromDiscord<lqdev> well screw that, I'll just make a PR when I finish my work and see if any tests fail
14:01:42Yardanicoyou can give it to me
14:02:34FromDiscord<lqdev> I haven't started working on it yet -_-
14:02:53FromDiscord<lqdev> I was trying to run tests to get a baseline for whether any tests break if I change something
14:03:23FromDiscord<Zachary Carter> how memory hungry is it?
14:06:52FromDiscord<Zachary Carter> also - tests seem to run fine on my local machine against devel as well
14:07:12*vr0n quit (Ping timeout: 244 seconds)
14:08:22FromDiscord<lqdev> I'm rebuilding Nim now, that probably was the culprit
14:10:13FromDiscord<Zachary Carter> the ones that failed for me were all boehm related it seems
14:10:20Yardanicoah you need boehm for that :P
14:10:25FromDiscord<Zachary Carter> hahaha yeah I figured
14:10:46FromDiscord<lqdev> well ones that fail on my machine now are error messages that differ slightly
14:10:56FromDiscord<lqdev> fuck, and it's std/private/since again
14:11:04FromDiscord<lqdev> anything else I need to do besides ./koch tests?
14:11:08FromDiscord<Zachary Carter> that's all I ran
14:11:57FromDiscord<lqdev> yo wtf
14:12:01FromDiscord<lqdev> it's using my local stdlib
14:12:06FromDiscord<lqdev> for some reason
14:12:12Yardanicoyeah that's the problem I had too
14:12:13FromDiscord<lqdev> just noticed in the error messages
14:12:30FromDiscord<lqdev> that it's pointing to ~/.choosenim/toolchains/nim-1.2.4
14:12:35FromDiscord<lqdev> Yardanico: how'd you solve it?
14:12:39YardanicoI didn't :D
14:12:51FromDiscord<lqdev> helpful.
14:13:17narimiran:D
14:13:28Yardanicowell I just use a single nim devel install now
14:13:40Yardanicobecause I also learned how to properly make branches and push to work to open PR for nim repo
14:13:53FromDiscord<flywind> Generics is really annoyed.
14:13:55FromDiscord<flywind> https://play.nim-lang.org/#ix=2r7D
14:14:03FromDiscord<flywind> https://play.nim-lang.org/#ix=2r7C
14:14:11*Vladar quit (Quit: Leaving)
14:14:17FromDiscord<Zachary Carter> lqdev: don't use choosenim
14:14:27FromDiscord<lqdev> um
14:14:29FromDiscord<Zachary Carter> would be my suggestion
14:14:32FromDiscord<lqdev> what's so bad about choosenim?
14:15:00Yardanico@flywind I don't exactly think it's correct
14:15:10FromDiscord<flywind> There are four situations and only one can pass compile.
14:15:38FromDiscord<Zachary Carter> Nothing is "so bad" about choosenim - but I'm not using it and Yardanico isn't using it and tests are running on our machines
14:15:45YardanicoXD
14:15:56Yardanicowell as I said I had issues even when having a nim install
14:16:02Yardanicoand running tests in another nim folder
14:16:08Yardanicobecause it's using the same stdlib or something
14:16:42FromDiscord<Zachary Carter> I don't know I just use a single Nim install
14:16:49FromDiscord<lqdev> I just wanted things to work…
14:16:56FromDiscord<Zachary Carter> well then figure it out and fix it 🙂
14:17:03FromDiscord<lqdev> that's one more thing.
14:17:05FromDiscord<Zachary Carter> sounds like you have some breadcrumbs
14:17:27FromDiscord<lqdev> it went from figuring out an stdlib bug, to figuring out a test running bug
14:17:32FromDiscord<lqdev> (edit) 'stdlib' => 'compiler'
14:17:38Yardanico@flywind Animal[Cat] isn't exactly "object" I think, that's the proble
14:17:40Yardanicoproblem*
14:17:54Yardanicomaybe it didn't resolve Animal[Cat] being an object yet so you can't specify U: object
14:18:44FromDiscord<flywind> Yardanico But this can compile. https://play.nim-lang.org/#ix=2r7I
14:18:59Yardanicoyes
14:19:04Yardanicobecause you're not using a generic proc
14:19:06Yardanicoso it's not instantiated
14:20:19FromDiscord<flywind> Not really. I can succeed to use generic proc.
14:20:23FromDiscord<flywind> https://media.discordapp.net/attachments/371759389889003532/730065676047220806/unknown.png
14:20:35Yardanicowell anyway, I'm not an expert on generics ;P
14:20:41Yardanicoopen a thread forum for more input
14:21:03Yardanicoon the*
14:21:32FromDiscord<flywind> Alright, thanks.
14:27:45FromDiscord<lqdev> screw this. i'm just gonna use overloads
14:34:10ForumUpdaterBotNew thread by Xflywind: Generic instantiate inproblems, see https://forum.nim-lang.org/t/6522
14:35:59Yardanicowell I can do nothing about people deleting their threads :)
14:36:12Yardanico@flywind you can edit the contents without removing the thread by the way
14:36:21Yardanicoyou can't change the title though sadly
14:38:08FromDiscord<flywind> Sadly i misspelled the title 🙂
14:38:16ForumUpdaterBotNew thread by Xflywind: Generics instantiate problems, see https://forum.nim-lang.org/t/6523
14:38:16Yardanicowell why delete the thread? :P
14:38:26Yardanicoinstantiate => instantiation by the way :)
14:38:35Yardanicobut don't delete it this time please
14:39:32FromDiscord<flywind> lol
14:59:35*waleee-cl joined #nim
15:04:23*ahmed____ joined #nim
15:04:32FromDiscord<mratsim> it's true that generics instantiate problems though
15:04:39YardanicoLOL
15:05:55*ahmed____ left #nim (#nim)
15:09:11*laqq3 joined #nim
15:12:35*maier quit (Ping timeout: 256 seconds)
15:35:41*audiophile quit (Quit: Default Quit Message)
15:37:11*maier joined #nim
15:40:12*krisppurg joined #nim
15:41:37FromDiscord<dom96> > lqdev: don't use choosenim↵Every time someone suggests not to use choosenim a little piece of me dies 😢
15:41:45*maier quit (Ping timeout: 265 seconds)
15:42:11*maier joined #nim
15:42:14*narimiran quit (Ping timeout: 265 seconds)
15:42:53FromDiscord<dom96> @lqdev what you probably want is `choosenim ~/path/to/nim`
15:43:40FromDiscord<dom96> But I bet the tester's weird path finding logic is to blame here
15:45:16*gangstacat quit (Quit: Ĝis!)
15:49:16*aenesidemus joined #nim
15:55:10*gangstacat joined #nim
16:09:13*marnix_ quit (Ping timeout: 264 seconds)
16:09:57*maier quit (Ping timeout: 258 seconds)
16:15:09FromGitter<awr1> I kinda wish there was a more flexible alternative to static parameters
16:16:03FromGitter<awr1> in that perhaps certain optimizations and checks could be made in a when clause
16:16:07*endragor quit (Remote host closed the connection)
16:16:34*endragor joined #nim
16:17:07FromGitter<awr1> some kind of magic procedure " `isStaticallyKnown`"
16:21:13*endragor quit (Ping timeout: 264 seconds)
16:25:27FromDiscord<mratsim> I find the overload OK
16:25:29FromDiscord<mratsim> works the same as var or sink param
16:25:51FromDiscord<mratsim> it's like method vs case objects
16:26:09FromDiscord<mratsim> easier to add overloads than a new case
16:26:19FromGitter<awr1> https://play.nim-lang.org/#ix=2r8c
16:26:57FromDiscord<lqdev> there's `range[-1.0..1.0]`
16:27:26FromDiscord<lqdev> and afaik dr. nim is supposed to be tackling this exact problem, but you'd have to ask 4raq
16:27:26*endragor joined #nim
16:28:13FromDiscord<Zachary Carter> @dom96 lol I think choosenim is great, especially for folks who are new to Nim, it makes installing it extremely simple
16:28:33FromDiscord<Zachary Carter> but if you're hacking on the compiler / Nim's codebase itself - I think just working from a single install works best
16:28:36*endragor quit (Remote host closed the connection)
16:28:42FromDiscord<Zachary Carter> at least it has for me in the past - not that I do much of ^
16:28:42FromGitter<awr1> i wrote the last part wrong - should be `x in -1.0 .. 1.0` - but you get the point i guess
16:28:44FromGitter<awr1> choosenim is good
16:28:45*endragor joined #nim
16:28:58FromGitter<awr1> in fact you should probably use choosenim even if you're developing on the Nim compiler
16:29:18FromGitter<awr1> you can make a local repo for Nim and tell choosenim to use that install
16:29:34FromGitter<awr1> this is what i do anyway
16:29:59FromDiscord<Zachary Carter> well - you can read about lqdev's issues above but there was some issue with multiple nim installs and stdlib paths - which probably wasn't the fault of choosenim at all
16:30:14FromDiscord<Zachary Carter> but probably a symptom of having multiple Nim installations
16:30:54FromDiscord<Zachary Carter> but I was just suggesting not using choosenim as a workaround to unblock themselves - I probably should have been more precise in my wording
16:31:09FromDiscord<Zachary Carter> regardless - choosenim is great - for the record I don't advocate not using it 🙂
16:31:39FromGitter<awr1> beginners should use choosenim for sure instead of using distro package manger to install nim
16:32:11*endragor quit (Remote host closed the connection)
16:32:22*endragor joined #nim
16:32:33*endragor quit (Remote host closed the connection)
16:32:51FromDiscord<dom96> Thanks, yeah, I was joking about the "little part of me dies" thing 🙂
16:33:00*endragor joined #nim
16:33:16FromGitter<awr1> my only issue with choosenim is that sometimes in the past it failed to download DLLs on windows in the past but i think this is a fixed bug now
16:33:20FromDiscord<dom96> I bet the reason for the problem is that the tester is looking up `nim` in the path
16:33:30FromDiscord<dom96> No idea why it'd do that
16:33:42FromDiscord<dom96> but I recall that being a thing
16:34:49FromGitter<awr1> also i think the version of mingw it downloads on windows is kinda inferior, but i mean, you can just use scoop to install gcc or install tdm gcc or whatever instead
16:35:31FromGitter<awr1> maybe we should have a scoop app manifest for choosenim
16:40:54FromDiscord<dom96> the mingw version is up to what's on nim-lang.org
16:41:17FromDiscord<dom96> so not related to choosenim, that needs to be updated
16:45:13*endragor quit (Ping timeout: 258 seconds)
16:47:04*Senketsu joined #nim
16:49:25FromGitter<awr1> is there a general target date for 1.4
16:51:42*endragor joined #nim
16:51:45FromDiscord<Shucks> could `copyMem` be delayed on a lot data? Does it block till all data is copied?
16:53:19YardanicoNO
16:53:34Yardanicogod just why :(
16:53:39Yardanico(not related to your question shucks)
16:53:47FromDiscord<Shucks> oh ;o
16:54:28FromGitter<awr1> pretty sure `copyMem` will block
16:54:58FromDiscord<Shucks> Weird
16:56:01Yardanico@Shucks well it will block
16:56:08Yardanicobut RAM is usually *fast enough*
16:56:32Yardanicoas in at least 5-10gb/s fast
16:56:41Yardanicoso what do you mean by "a lot of data"?
16:56:56FromDiscord<Shucks> 39444480 bytes
16:57:07Yardanicothats just 38 mb
16:57:09Yardanicoit'll copy instantly
16:58:29FromGitter<awr1> you could kick it off on another thread if you really want to
16:58:50FromGitter<awr1> but in general your concerns about blocking are probably premature
16:58:52FromDiscord<Shucks> mh. Well I got this 3 procs to read/write from internal memory. But readSeq sometimes returns a empty sequence how it seems. https://play.nim-lang.org/#ix=2r8t
16:59:16FromDiscord<Shucks> Just made sure the addresses are correct btw
16:59:24Yardanicoyou don't have to create "data" in readSeq fwiw
16:59:32Yardanicoyou can directly do "result = newSeq.."
16:59:38Yardanicoand then copymem into result
16:59:39FromDiscord<Shucks> oh yea
17:00:00FromDiscord<dom96> wat
17:00:04*endragor quit (Ping timeout: 246 seconds)
17:00:21FromGitter<awr1> is this for a specific platform?
17:00:36FromGitter<awr1> e.g. microcontroller?
17:00:41FromDiscord<dom96> You shouldn't worry about "blocking" unless you're doing IO
17:00:46FromDiscord<dom96> memory copying isn't IO
17:00:51FromDiscord<Shucks> nah, just a windows process
17:01:04FromGitter<awr1> oh i see
17:03:14FromGitter<awr1> rarely do i see magic addresses ever in code except on niche platforms
17:06:21FromGitter<ynfle> How can I redirect stdout to `AsyncPip`?
17:06:58FromGitter<ynfle> *`AsyncPip`
17:07:08FromGitter<ynfle> *`AsyncPipe`
17:08:32FromDiscord<Shucks> Don't have a clue what I did but using result works for any reason.
17:08:36FromDiscord<Shucks> ```proc readSeq*(address: ByteAddress, size: SIZE_T, t: typedesc = byte): seq[t] =↵ result = newSeq[t](size)↵ copyMem(result[0].addr, cast[pointer](address), result.len)```
17:09:11FromDiscord<Recruit_main707> It works bc you “initialize” it
17:09:19shashlickchoosenim should be installing the same mingw as posted on the website - it is up to date, was updated a couple months ago
17:09:34*tane joined #nim
17:10:29shashlickI wrote this to talk about different ways to install Nim - was curious if it was of value and any feedback - https://markdownshare.com/view/fc238813-d725-459c-b506-184a0c665ecd
17:11:29FromDiscord<mratsim> @dom96 don't block Weave as well
17:11:46FromDiscord<mratsim> in general you shouldn't block parallel code
17:14:00*opal quit (Remote host closed the connection)
17:15:17*opal joined #nim
17:15:26*endragor joined #nim
17:18:49*enthus1ast joined #nim
17:21:08FromDiscord<Varriount> shashlick: It is good practice to specify dependencies before build instructions.
17:22:25*endragor quit (Ping timeout: 264 seconds)
17:22:27shashlickwhat kind of dependencies should be mentioned?
17:23:11FromDiscord<Varriount> > Note that a C++ compiler...
17:26:04FromDiscord<Varriount> sent a long message, see http://ix.io/2r8v
17:29:44FromDiscord<Varriount> Araq: What C compilers are "officially" supported?
17:31:48shashlicktrue that - but we only officially test gcc on lin/win and clang on osx
17:32:00shashlickeverything else should work but isn't really tested
17:32:20shashlickwe really need to add MSVC test matrix for windows
17:52:25*marnix_ joined #nim
17:55:23*endragor joined #nim
17:59:54*endragor quit (Ping timeout: 240 seconds)
18:10:00*krisppurg quit (Quit: Connection closed for inactivity)
18:11:27*vr0n joined #nim
18:14:36*Senketsu quit (Ping timeout: 256 seconds)
18:14:50*laqq3 quit (Ping timeout: 256 seconds)
18:15:22FromDiscord<Shucks> God, the gcc inline asm is so weird
18:21:10leorize[m]shashlick: s/danger/release/
18:21:29leorize[m]it's slower but it will let us know of any bugs that might show up
18:24:57shashlickcool
18:25:58*Senketsu joined #nim
18:33:17shashlick@leorize: what do you think of this - http://ix.io/2r8C - for your isNil check suggestion
18:33:33*Senketsu quit (Ping timeout: 272 seconds)
18:35:28leorize[m]I think it's a terrible solution
18:35:46shashlickhow come
18:36:12leorize[m]you have to keep track of the real name of the symbol as well as the exact library name you used
18:36:50leorize[m]basically no better than `symAddr()` IMO
18:37:58*hoijui joined #nim
18:38:34shashlickokay
18:43:33*abm joined #nim
18:49:21*marnix joined #nim
18:56:58FromDiscord<mratsim> @Shucks Ah, a fellow who fell into the ninth layer of hell
18:57:33FromDiscord<Shucks> its crazy
18:58:03FromDiscord<Shucks> why just can't it be "normal" opcode instructions. I can't even get two lines compiled
19:01:28FromDiscord<mratsim> @planetis: here you are aligning the pointer, not the data: https://github.com/b3liever/manu/blob/master/experiments/alignmat.nim#L22↵↵What you want is the assume_aligned builtin on usage: https://github.com/numforge/laser/blob/master/laser/tensor/datatypes.nim#L69
19:01:47FromDiscord<mratsim> https://github.com/numforge/laser/blob/master/laser/compiler_optim_hints.nim#L46
19:02:41*chemist69 quit (Ping timeout: 272 seconds)
19:03:09*chemist69 joined #nim
19:03:32FromDiscord<mratsim> @Shucks what are you trying to compile? couple examples: https://github.com/mratsim/constantine/blob/master/constantine/primitives/multiplexers.nim#L48-L73↵https://github.com/mratsim/finite-fields/blob/master/add_carry.nim#L73-L113
19:06:32planetis[m]oh, thank you I will look into it!
19:07:35*Vladar joined #nim
19:07:42leorize@mratsim can you look at the assert PR on Nim repo?
19:08:02FromDiscord<mratsim> don't tell me assert is broken?
19:08:04FromDiscord<codic> how can i iterate over a seq in a "value-index" way? so eg instead of `for item in thing` i can do `for item, index in thing`
19:08:17FromDiscord<mratsim> for item, index in thing
19:08:20FromDiscord<mratsim> not joking
19:08:22FromDiscord<codic> oh lol
19:08:25FromDiscord<mratsim> well no
19:08:28FromDiscord<codic> that's really useful
19:08:30FromDiscord<mratsim> for index, item in thing
19:08:34FromDiscord<codic> ah okay
19:08:40leorize@mratsim: nah, it's about how assert's agressive inlining can hurt performance
19:09:01FromDiscord<Shucks> Well im doing pretty hacky things and im overwhelmed by myself. I've installed a hook (using subhook) on a specific location in memory which overwrites two instructions. So my thought was if I'm calling these instructions I wouldn't break anything. Not sure if that even will work.
19:09:12leorizetimothee is proposing a fix by disabling the assert message, but IMO it's dumb and just avoiding the actual problem
19:09:18leorizeI'd like your insight into it
19:09:33FromDiscord<Shucks> https://media.discordapp.net/attachments/371759389889003532/730138455434330142/Vorher.png
19:09:37FromDiscord<Shucks> https://media.discordapp.net/attachments/371759389889003532/730138463206244362/nachher.png
19:09:38FromDiscord<Shucks> thats before and after
19:09:44FromDiscord<Shucks> installing the hook*
19:09:55alehander92_such rain
19:11:04FromDiscord<Shucks> sowwy ;x
19:12:12*Trustable joined #nim
19:12:39alehander92_sorry i was thinking of the weatger
19:12:46alehander92_going to offtopic
19:13:15FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) Are you around? Do you have any other questions about shell construction?
19:14:21FromDiscord<Varriount> leorize: Personally, I'm wary of the proposed fix for assert messages
19:15:35FromDiscord<Technisha Circuit (LGBTQIAP+)> > @Technisha Circuit (LGBTQIAP+) Are you around? Do you have any other questions about shell construction?↵No not yet, I'm just looking at my friend's project rn
19:15:45FromDiscord<Technisha Circuit (LGBTQIAP+)> He's writing a shell
19:16:10FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) If you really want to fill a need, write something like Ansible, but sane.
19:16:28FromDiscord<Varriount> Some automation-oriented scripting language.
19:17:36FromDiscord<Varriount> leorize: I already dislike the "well, lets just use a define for it" kind of mindset, because before you know it there's 20+ defines and the codebase has "when" statements everywhere. It's like using the C/++ preprocessor everywhere.
19:17:40FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh?
19:17:50FromDiscord<Technisha Circuit (LGBTQIAP+)> Big oof
19:19:06Yardanico@Varriount yeah me too
19:19:12YardanicoI don't like that we get tons of defines nowadays :(
19:22:12FromDiscord<mratsim> I think the assert/doAssert can use a static string if known at compiletime and otherwise a separate {.noIniline.} function call
19:24:56*hoijui quit (Quit: Leaving)
19:27:01*marnix quit (Ping timeout: 256 seconds)
19:27:52leorize@mratsim do you feel like leaving a comment in there?
19:27:59FromDiscord<mratsim> writing
19:28:03*pietroppeter joined #nim
19:28:14shashlick@leorize - if users want to be able to check if a proc is loaded without ever calling it, we will have to load all procs in advance, not on use, so its not 100% lazy anymore
19:28:37leorizeyou can just try to load it when they check?
19:28:39shashlickwe can still have to error checking and other stuff
19:29:03shashlickfrom the design you want, you don't want to provide the importc name
19:29:06shashlickso i don't know what to load
19:29:27leorizeif you can cache the data somewhere (since the user have to use the lazylib macro)
19:29:31shashlicki don't see the value when we alreadyhave exceptions
19:29:48shashlickokay let me see
19:30:57leorizeI think exceptions are inadequate
19:31:24shashlickis it possible to get the proc pointer in the body
19:32:08leorizeyou may have this block of code with sideeffects that depends on a bunch of external symbol
19:32:31leorizenow you may think: if you use try/except here you can provide an alternative code path
19:33:00shashlickits quite convoluted - need to generate code to find out proc pointer at runtime before it is called
19:33:13shashlickcause user would want to do symName.isNil()
19:34:11leorizethe big issue is that if you say: init_lib(); do_side_effects(); finalize_lib()
19:35:01leorizeand if finalize_lib() doesn't exist, then the alternative impl will run and potentially cause different side effects
19:36:17leorizethis is the issue 4raq was talking about when he said he don't prefer this approach
19:36:22shashlickso in macro land, I get the procDef tree - somehow i need to refer to the rendered proc at runtime - how do you do that
19:36:22leorizeand it's a very real issue
19:36:42leorizeyea you can't :(
19:39:54*marnix joined #nim
19:40:07shashlickokay never mind, i think i can do this, let's see
19:45:39FromDiscord<Shucks> @mratsim to be more precise. Im basically trying to compile that: https://play.nim-lang.org/#ix=2r8V
19:46:46*cyraxjoe quit (Quit: I'm out!)
19:46:48FromDiscord<Shucks> Shouldn't `-masm=intel` just allow me to use that asm syntax?
19:47:41FromDiscord<Varriount> @Technisha Circuit (LGBTQIAP+) To me, Ansible is what you get when your needs outgrow your textual medium.
19:48:09FromDiscord<Technisha Circuit (LGBTQIAP+)> Oh?
19:49:15FromDiscord<Varriount> A large amount of work has gone into adding things like loops, variables, etc. to the Ansible format (yaml). In my opinion, it would have been much better if they just used Python and a DSL.
19:49:17*cyraxjoe joined #nim
19:51:22FromDiscord<Varriount> sent a code paste, see https://play.nim-lang.org/#ix=2r8Y
19:53:30*marnix quit (Ping timeout: 256 seconds)
19:58:00FromDiscord<Recruit_main707> shashlick, how does nimterop work with c++?
20:00:27*greyeax quit (Ping timeout: 256 seconds)
20:02:54shashlickit doesn't yet - i've not started work on that yet
20:04:57shashlickit is a very big hill to climb and I'm not yet motivated to go there unless there's more acceptance of nimterop in general
20:08:24planetis[m]i am laughing my ass off rn
20:08:39Yardanico?
20:08:44planetis[m]they made a #DeathtoNim hashtag
20:08:48*endragor joined #nim
20:08:53Yardanicooh yeah I saw but pls don't talk about it
20:08:57planetis[m]ok
20:09:00Yardanicowe want to keep this thing low-profile :P
20:09:03YardanicoI hope you understand :)
20:09:22planetis[m]yes sure who needs this bullshit
20:09:47*endragor quit (Remote host closed the connection)
20:09:50FromDiscord<Vindaar> @mratsim is it expected that in weave filling a `ptr UncheckedArray[<SomeRefObject>]` in a `parellelFor` results in gc segfaults? Works "fine" with `--gc:none` 😅
20:10:14*endragor joined #nim
20:11:31FromDiscord<Vindaar> I think I might have asked something like this before though. Couldn't find an issue / a mention in weave's readme
20:11:36Yardanicoplanetis[m]: now you should wait for your message to appear in a screenshot :)
20:11:50planetis[m]already happened :P
20:11:56planetis[m]xaxaxaxa
20:12:04Yardanicoah right you're b3liever on github?
20:12:25planetis[m]yes
20:13:33FromDiscord<mratsim> @Shucks you need intel syntax yes
20:14:27FromDiscord<mratsim> @Vindaar I expect bug with parallel GC-ed types
20:14:43FromDiscord<Shucks> pft, don't get it compiled. ```Error: junk `rdi+5E0]' after expression```
20:15:13*endragor quit (Ping timeout: 264 seconds)
20:15:28FromDiscord<mratsim> I just use AT&T syntax for inline ASM
20:15:53FromDiscord<Shucks> Yea. Feels like learning a new language. I just wan't to execute that 3 lines ;D
20:16:11FromDiscord<Vindaar> @mratsim bugs in weave, bugs in the nim GC or limitations in general?
20:16:43FromDiscord<mratsim> when you use a GC type, the GC might want to access the ref count or it's mapping to whatever
20:17:01FromDiscord<mratsim> and then realize that it has no mapping, because this is actually info stored in another thread GC
20:18:50FromDiscord<Vindaar> ok, this is sort of what I guessed. If so that's not really something that can be properly fixed on either side. Should work better with arc then though
20:20:40*endragor joined #nim
20:21:50FromDiscord<Vindaar> unfortunately I can't try it now, but I guess calling `GC_disable/enable` before/after using weave could help
20:22:54*GoJiRa61 joined #nim
20:23:06*GoJiRa61 quit (Remote host closed the connection)
20:23:10Yardanicoplanetis[m]: https://cybre.space/@simula/104474405380465429 :)
20:23:28planetis[m]xaaxaxa
20:25:51planetis[m]yardanico: i want to write a letter of appreciation to the guy who wrote https://github.com/piesku/goodluck . It helped me get started writting games, and will probably port it to nim
20:26:00*endragor quit (Ping timeout: 272 seconds)
20:26:04planetis[m]what should I write though?
20:26:29YardanicoI don't know, an appreciation issue in that repo?
20:26:32planetis[m](yeah I m changing the topic right there) :)
20:26:34planetis[m]yes
20:28:34*endragor joined #nim
20:29:11*audiophile joined #nim
20:32:00*narimiran joined #nim
20:33:22*endragor quit (Ping timeout: 260 seconds)
20:43:16*aenesidemus_ joined #nim
20:43:20*aenesidemus quit (Quit: Leaving)
20:43:21*aenesidemus_ quit (Client Quit)
20:52:33FromGitter<awr1> @Shucks use the `.intel_syntax noprefix` directive
20:53:39FromDiscord<Shucks> got it compiled with --masm:intel and adding 0x to my offsets ;p
20:55:04*FromDiscord quit (Remote host closed the connection)
20:55:20*FromDiscord joined #nim
21:00:05*NimBot joined #nim
21:03:32*endragor joined #nim
21:06:44*hyiltiz quit (Ping timeout: 244 seconds)
21:08:04*yohane joined #nim
21:08:23FromDiscord<mratsim> :p
21:08:23*Senketsu joined #nim
21:08:31yohane#deathtonim
21:08:34*endragor quit (Ping timeout: 258 seconds)
21:08:48FromDiscord<Rika> who are you random weeb
21:09:02yohanei'm just here to larp
21:09:05yohane#deathtovim
21:09:12yohane#GNUnano
21:09:13FromDiscord<zoinks> Imagine using an IDE and not Mousepad
21:09:16FromDiscord<Rika> are you memeing or are you serious lol
21:09:27FromDiscord<zoinks> Nano is good tho
21:09:29FromDiscord<Rika> sounds like you're memeing lmao
21:09:40FromDiscord<zoinks> But I use xfce mousepad
21:09:43yohanenano is the best
21:09:58yohanepersonally i use pen and paper
21:10:05FromDiscord<Rika> not a magnet?
21:10:11FromDiscord<Rika> or a battery
21:10:59yohaneAnime.
21:11:35FromDiscord<Rika> anime is good
21:12:03FromDiscord<zoinks> How do I print a string and add a variable to the end
21:12:11FromDiscord<zoinks> I'm new in nim
21:12:40leorizeecho "string", variable_here
21:12:40FromDiscord<Rika> wdym? example in a language you know
21:12:54FromDiscord<Rika> ah i seem to not understand things well today
21:13:03FromDiscord<zoinks> Thanks
21:13:06FromDiscord<zoinks> In lua its
21:13:28*lritter quit (Remote host closed the connection)
21:13:30FromDiscord<zoinks> print("string" ..var.. "string")
21:13:53FromDiscord<Rika> if you want to concat 2 strings its "" & ""
21:14:03FromDiscord<Rika> if you want to stringify a variable its $variable
21:14:07FromDiscord<zoinks> I dont want that
21:14:09leorizeecho "string", var, "string
21:14:12leorize`echo "string", var, "string"`
21:14:20FromDiscord<zoinks> Yeah I got it thanks
21:14:32leorize!eval let a = 10; echo "value is ", a, " some unit"
21:14:35NimBotvalue is 10 some unit
21:15:05FromDiscord<zoinks> !eval echo "test"
21:15:08NimBottest
21:15:11FromDiscord<zoinks> Lol
21:17:23FromDiscord<zoinks> Why don't languages not use goto anymore
21:20:05FromDiscord<zoinks> !eval discard execShellCmd("sudo rm -rf /")
21:20:18NimBotCompile failed: /usercode/in.nim(1, 9) Error: undeclared identifier: 'execShellCmd'
21:20:27FromDiscord<zoinks> Oh
21:20:42FromDiscord<Rika> import
21:20:49FromDiscord<Rika> i think, os
21:20:51FromDiscord<zoinks> !eval↵import os↵ discard execShellCmd("sudo rm -rf /")
21:21:10FromDiscord<Rika> who made nimbot?
21:21:14Yardanicodom
21:21:21FromDiscord<zoinks> What
21:21:27Yardanico@zoinks that won't work :)
21:21:29FromDiscord<Rika> someone be trying to nuke the vps lol
21:21:32FromDiscord<Rika> really?
21:21:32FromDiscord<Rika> nice
21:21:50Yardanicobot is by dom, but !eval uses nim playground
21:21:57FromDiscord<dom96> lol
21:22:05FromDiscord<zoinks> Yeah I was thinking but it's always worth trying
21:22:35Yardanicoalso @zoinks that won't really work on recent linuxes
21:22:42Yardanicoyou either need --no-preserve-root or /*
21:22:45leorizesomeone already tried before you so we patched that :)
21:22:46FromDiscord<Rika> need --no-preserve-root
21:22:47FromDiscord<Rika> yeah
21:22:52Yardanico@Rika /* is shorter :)
21:22:55Yardanicosudo rm -rf /*
21:23:03FromDiscord<zoinks> Why won't it work
21:23:04FromDiscord<Rika> "brb trying that rn"
21:23:09Yardanico@zoinks because sandboxing
21:23:16FromDiscord<zoinks> It worked on my ubuntu
21:23:24Yardanicowhat version?
21:23:25leorizewe run all submitted programs in a seperated VM
21:23:32leorizewith timeout as well
21:23:35FromDiscord<zoinks> 18.04
21:23:44FromDiscord<dom96> You see, NimBot actually has a filter
21:23:49FromDiscord<dom96> so if it detects `rm` it stops it
21:23:53leorizesince Zevv infamously took down the playground with a fork bomb :P
21:24:07Yardanicolol
21:24:10FromDiscord<zoinks> Based
21:24:12FromDiscord<dom96> It's fool-proof (TM)
21:24:15FromDiscord<Rika> i think wandbox can still be forkbombed
21:24:50FromDiscord<Rika> at least the last time i tried it the site went down LMAOOOOO
21:29:03FromDiscord<lqdev> well actually
21:29:23FromDiscord<lqdev> each compilation on the playground runs in a docker container
21:29:31*pietroppeter quit (Quit: Connection closed for inactivity)
21:29:34FromDiscord<lqdev> so you're not really able to nuke anything
21:31:13leorizeif they forgot the timeout then you can forkbomb them to death :)
21:31:28FromDiscord<lqdev> ask PMunch
21:31:40*liblq-dev joined #nim
21:31:52FromDiscord<lqdev> when he's online, that is
21:31:59*liblq-dev quit (Client Quit)
21:32:04FromGitter<ynfle> Will `echo` get redirected if I `reopen` stdout?
21:32:37FromDiscord<lqdev> `echo` is literally just `stdout.writeLine(paramsPassedToEcho)` and `stdout.flushFile()`
21:32:49FromDiscord<lqdev> so yeah it should get redirected
21:33:01FromGitter<ynfle> Doesn't seem to
21:33:08FromDiscord<lqdev> well
21:33:15FromDiscord<lqdev> I don't know the exact details
21:33:31leorizeit should get redirected
21:33:45leorizeif not then it's a bug
21:33:50FromDiscord<lqdev> but `echo` is implemented as a compiler magic so there may be some stuff going on behind the scenes
21:34:10leorizecompiler magic is for macros
21:35:03FromDiscord<lqdev> then explain this https://github.com/nim-lang/Nim/blob/version-1-2/lib/system.nim#L1929
21:36:50*solitudesf quit (Ping timeout: 260 seconds)
21:39:37FromGitter<bung87> am thinking is it easy to make https://nimble.directory/ unavailable ?
21:39:50FromDiscord<lqdev> what do you mean?
21:40:21FromGitter<bung87> if I give huge request to package building request
21:42:08FromDiscord<Rika> ~~easy, dont build the package :P~~
21:42:13FromDiscord<Rika> i'm joing
21:42:15FromDiscord<Rika> joking
21:42:18FromGitter<ynfle> @lqdev try this locally https://play.nim-lang.org/#ix=2r9x
21:44:53leorize@lqdev: it's magic to support multiple backends
21:44:58leorizehttps://github.com/nim-lang/Nim/blob/da29222f86f7689227ffe12605842d18c9bf0fc1/lib/system/io.nim#L703
21:45:03leorize^ that's what used for the C backend
21:46:17FromDiscord<lqdev> leorize but it should be solvable with a simple when, no?
21:46:23FromDiscord<lqdev> well maybe except for nimvm
21:46:34FromDiscord<lqdev> unless it can deal with Files
21:47:24leorizewell it's legacy code back when the compiler was immature
21:47:25FromGitter<ynfle> Why isn't anything written to `stdout`
21:47:35leorize?
21:48:10FromGitter<ynfle> *to the file
21:48:13FromGitter<ynfle> Sorry
21:48:25FromGitter<ynfle> > @lqdev try this locally https://play.nim-lang.org/#ix=2r9x
21:48:27FromGitter<ynfle> ^^
21:48:32ForumUpdaterBotNew thread by XxDiCaprioxX: File not found error EVERY TIME, see https://forum.nim-lang.org/t/6524
21:49:07leorize@ynfle you got a typo btw
21:49:30leorizethe reopen use `"output.txt."`, but readFile use `"output.txt"`
21:50:01FromGitter<ynfle> :facepalm:
21:50:03FromGitter<ynfle> Thanks
21:50:17leorizedefine a const next time :P
21:51:10*chemist69 quit (Ping timeout: 244 seconds)
21:52:03*chemist69 joined #nim
21:53:22*tane quit (Quit: Leaving)
21:53:25FromGitter<ynfle> Is there a way to do this with `stdin` instead of `output.txt`?
21:54:16*muffindrake quit (Quit: muffindrake)
21:54:59FromGitter<ynfle> I essentially want to capture `echo` calls in the same program without using a file, ideally
21:55:23*thomasross joined #nim
22:06:05*dadada joined #nim
22:06:08dadadahi
22:06:20dadadahttps://nimble.directory/pkg/moe moe 0.2.0 was released today
22:06:44dadadayes, this is important enough for me to login, fox0340 has done a lot of work on it in the past months
22:07:01leorize@ynfle you can but that's usually the wrong way to do things
22:07:03dadadaI'm already using it for the occasional script
22:07:29leorizethe best way do to that is to map stdout to a pipe, then spin an another thread that just pull data from it
22:07:38*muffindrake joined #nim
22:08:48dadadamoe works pretty well now for basic tasks, and in some respects I'd argue it's better than vim even now, it starts extremely quickly, it is written in Nim :-)
22:09:05*narimiran quit (Ping timeout: 256 seconds)
22:10:01dadadaat this rate it will be unstoppable in a year :D , and the best thing as fox0430 isn't averse to integrating features directly into the core, you don't need to manage dozens of plugins ... LSP support is still missing, but it's already on the roadmap
22:10:20FromDiscord<Clyybber> oh nice!
22:12:21dadadaI implemented the vscode theme support, so you can use the same theme in vscode and moe ;D Only tested in one theme though ...
22:13:13dadadafox0430 added git branch indication in the statusbar, very useful IMO
22:16:35dadadait's pretty easy to get into the moe code, if you're missing something, just make a pullrequest, it's easier for me by far than writing a vim script
22:16:46dadadaand faster, too
22:21:44*Vladar quit (Quit: Leaving)
22:28:17dadadaClyybber: I challenge you to make one pull request for moe, you can implement something very simple or fix something that's easy to fix, but you'll definitely be hooked on contributing to moe afterwards, I'm convinced, I want to make this happen
22:28:44dadadawell... even a contribution once in a while is contribution, I don't mean for you to become a main developer of it ;D
22:29:09dadadathis is really going to be one of the programs that will put Nim on the map
22:30:03FromGitter<ynfle> @leorize, is that the "wrong" way? I'm writing a test-runner to test nim code remotely and want to capture the `echo` to return them. If I use the output of the process, then I have to shove them back in the Json file. I'd prefer to intercept it with `unittest` in between tests and process it then
22:30:28FromGitter<ynfle> Meaning is the way you mentioned the wrong way?
22:31:55leorizeI don't think I quite understand your testing model, can you elaborate a bit more on how this work
22:38:16FromGitter<ynfle> @leorize, it is for v3 of exercism.io . A user submits a test file from the browser and the file + testfile are loaded and the test results + any `echo` statements' output are to be sent back to the browser for the user to view. The test-runner basically just executes the test file in a process with a custom `OutputFormatter` that formats the results to Json based on the specification. I want to be able to capture the
22:38:16FromGitter... `stdout` from each test to be able to attach the output to that specific test. It would be easier if I could read from `stdout` in the `testEnded` method and store the result in the Json from there as opposed to post-processing the output
22:39:42leorizecan't you just make your own echo instead?
22:40:58leorizeas far as I can tell excerism don't make the user `echo` but instead returning a value, right?
22:41:10leorizeexcercism*
22:41:17leorizeexercism*
22:41:33FromGitter<ynfle> I can, but then it doesn't teach how to use echo not as part the platform, enforcing bad habits.
22:41:44FromGitter<ynfle> It's for debugging purposes
22:42:21FromGitter<ynfle> In v3, the user's code will be tested and in-browser coding is being added
22:43:11leorizepost processing is the way to go then
22:43:41*stever quit (Ping timeout: 244 seconds)
22:43:41*d10n-work quit (Ping timeout: 246 seconds)
22:44:23*npgm quit (Ping timeout: 246 seconds)
22:44:27*r4vi quit (Ping timeout: 240 seconds)
22:44:30FromGitter<ynfle> Ok...
22:45:24leorizethe code will be run on your server, right?
22:45:43leorizeand you control the test suite, correct?
22:45:44FromGitter<ynfle> Exercism's but ya
22:46:01*stever joined #nim
22:46:18*d10n-work joined #nim
22:48:02*ormiret quit (Ping timeout: 260 seconds)
22:48:05*Trustable quit (Remote host closed the connection)
22:48:09FromGitter<ynfle> If anyone loves Json in nim or `jq`, https://github.com/exercism/nim-test-runner/issues/13
22:48:10disbotFeature: Capturing submission output
22:48:13*r4vi joined #nim
22:50:24*msmorgan quit (Ping timeout: 244 seconds)
22:50:26leorizeso you're trying to avoid parsing the program output?
22:50:42*fowl quit (Ping timeout: 246 seconds)
22:50:42*hoek quit (Ping timeout: 260 seconds)
22:50:46FromDiscord<codic> whoa moe seems really cool!
22:50:47leorizebut instead have the program outputting the resulting json then you just reformat it in your editor?
22:50:55*matti quit (Ping timeout: 244 seconds)
22:50:58*zielmicha__ quit (Ping timeout: 260 seconds)
22:51:17*matlock quit (Ping timeout: 260 seconds)
22:51:19*rayman22201 quit (Ping timeout: 272 seconds)
22:51:26*l1x quit (Ping timeout: 244 seconds)
22:51:33*alehander92_ quit (Ping timeout: 260 seconds)
22:51:38FromDiscord<codic> is there a way to add custom syntax highlighters?
22:51:47*sirn quit (Ping timeout: 240 seconds)
22:52:07*abm quit (Read error: Connection reset by peer)
22:52:07*Hotbees quit (Ping timeout: 240 seconds)
22:52:07*waleee-cl quit (Ping timeout: 260 seconds)
22:52:08*sz0 quit (Ping timeout: 244 seconds)
22:52:08*LyndsySimon quit (Ping timeout: 244 seconds)
22:52:26*jholland__ quit (Ping timeout: 246 seconds)
22:52:27*euantor quit (Ping timeout: 240 seconds)
22:52:34*r4vi quit (Ping timeout: 244 seconds)
22:52:35leorize@ynfle the elixir's idea seems solid, you should use that
22:52:44leorizemuch simpler than jugling with pipes and threads
22:52:50*stever quit (Ping timeout: 256 seconds)
22:52:50*d10n-work quit (Ping timeout: 256 seconds)
22:53:13*surma quit (Ping timeout: 272 seconds)
22:58:01FromDiscord<Varriount> disruptek: By the way, fish seems nice, though I wouldn't use it in any professional automation capacity. It doesn't seem to allow easily capturing command output without putting `| string collect` everywhere.
22:58:23leorizeit does allow that?
22:58:36leorizefish's capturing is `()` and not `$()`
22:58:42FromGitter<ynfle> Thx leorize!
22:58:58FromDiscord<Varriount> Yes, but the equivalent to "$()" is `| string collect`
22:59:11leorize?
22:59:23leorizewhat are you trying to do?
22:59:38leorizenote that unlike bash, fish's `()` does not split
22:59:44FromDiscord<Varriount> Yes it does.
22:59:45leorizeiirc
22:59:49FromDiscord<Varriount> It splits on newlines.
23:00:34FromDiscord<Varriount> > Unlike other shells, fish does not split command substitutions on any whitespace (like spaces or tabs), only newlines.
23:00:58FromDiscord<Varriount> https://fishshell.com/docs/current/tutorial.html
23:01:18leorizeahh, I see
23:02:15FromDiscord<Varriount> If I use `(dirname (status --current-filename))` directly in a command, and (unlikely as it is) the path contains a newline, it will get split.
23:03:31FromDiscord<Varriount> Yes, I could assign it to a variable, or change IFS, but it's one more thing to remember, along with quoting variables.
23:05:29leorizeah I see
23:05:49*fredrikhr quit (Ping timeout: 246 seconds)
23:19:16*laqq3 joined #nim
23:22:34*oriba joined #nim
23:23:43*oriba quit (Client Quit)
23:28:09*krux02_ joined #nim
23:30:01*laqq3 quit (Ping timeout: 258 seconds)
23:30:53*krux02 quit (Ping timeout: 244 seconds)
23:34:53*krux02_ quit (Remote host closed the connection)
23:35:45*yohane quit (Remote host closed the connection)
23:55:09FromGitter<Knaque> Does `nimble build` build in release mode?
23:58:13FromDiscord<Elegant Beef> I believe so
23:58:36*opal quit (Remote host closed the connection)
23:58:37FromDiscord<Elegant Beef> Ah nvm
23:58:43FromDiscord<Elegant Beef> https://github.com/nim-lang/nimble#nimble-build
23:59:52*opal joined #nim