<< 05-02-2021 >>

00:00:40*stefantalpalaru joined #nim
00:11:51*muffindrake quit (Quit: muffindrake)
00:58:01*jess is now known as jesspacito
00:58:29*actuallybatman joined #nim
01:12:12*abm joined #nim
01:17:45*njoseph quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
01:18:08*njoseph joined #nim
01:20:38*stefantalpalaru quit (Changing host)
01:20:38*stefantalpalaru joined #nim
01:36:24FromDiscord<iWonderAboutTuatara> hey guys
01:36:38Prestigesup
01:36:52FromDiscord<iWonderAboutTuatara> I wrote a custom [i, j] thing to access entries in a seq[seq[T]]
01:37:04FromDiscord<iWonderAboutTuatara> at the moment it just returns the value, which means I can't set using it
01:37:08FromDiscord<iWonderAboutTuatara> is there a way around this?
01:37:11FromDiscord<iWonderAboutTuatara> hey
01:37:20FromDiscord<ElegantBeef> make a `[]` that returns a `var T`
01:37:24FromDiscord<iWonderAboutTuatara> you can do that?
01:37:31FromDiscord<ElegantBeef> Yes
01:37:39FromDiscord<iWonderAboutTuatara> wow I never realized
01:37:50FromDiscord<ElegantBeef> Doesnt nim support `[i, j]` by default?
01:37:58FromDiscord<iWonderAboutTuatara> does it?
01:38:19FromDiscord<iWonderAboutTuatara> doesn't look like
01:38:31FromDiscord<ElegantBeef> Might just be on nim nodes
01:38:55FromDiscord<iWonderAboutTuatara> I get the expression has no address error now
01:39:15FromDiscord<ElegantBeef> You need the `var` and non var versions
01:39:41FromDiscord<iWonderAboutTuatara> I need both?
01:39:54FromDiscord<ElegantBeef> Yes they change proc signature
01:40:03FromDiscord<iWonderAboutTuatara> new error
01:40:10FromDiscord<iWonderAboutTuatara> overloaded `[]` leads to ambiguous calls
01:41:50FromDiscord<ElegantBeef> https://play.nim-lang.org/#ix=2OnA
01:41:52FromDiscord<ElegantBeef> What are you doing?
01:51:39*Tanger joined #nim
01:59:55FromDiscord<ElegantBeef> @iWonderAboutTuatara uhhh how's it going? πŸ˜„
02:08:59*zedeus joined #nim
02:27:40ForumUpdaterBotNew thread by Halloleo: How to set a string parameter of a procedure by default to nil?, see https://forum.nim-lang.org/t/7474
03:10:06FromDiscord<iWonderAboutTuatara> Internet died
03:11:06FromDiscord<iWonderAboutTuatara> I just realized I can make this a lot easier by just making a template
03:13:47FromDiscord<ElegantBeef> Easier?
03:14:38FromDiscord<iWonderAboutTuatara> nope nevermind
03:14:46FromDiscord<iWonderAboutTuatara> still isn't working for whatever reason
03:14:53FromDiscord<ElegantBeef> The hell are you trying? πŸ˜„
03:15:02FromDiscord<iWonderAboutTuatara> mostly simple stuff lmao
03:15:14FromDiscord<iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2OnU
03:15:20FromDiscord<iWonderAboutTuatara> I get type mismatch when trying to call this
03:16:08FromDiscord<ElegantBeef> Got full code i can see?
03:16:22FromDiscord<iWonderAboutTuatara> uhh it's like 200 lines
03:16:34FromDiscord<iWonderAboutTuatara> but here's the relvant bit
03:16:42FromDiscord<iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2OnW
03:16:43FromDiscord<ElegantBeef> Well the vector declaration and use case
03:17:34FromDiscord<iWonderAboutTuatara> oh the vector one is working fine
03:17:41FromDiscord<iWonderAboutTuatara> but I haven't tried to set from it
03:17:56FromDiscord<ElegantBeef> Setting wont work since you dont have `[]`
03:17:57FromDiscord<ElegantBeef> (edit) "`[]`" => "`[]=`"
03:18:08FromDiscord<iWonderAboutTuatara> oh I need the =?
03:18:11FromDiscord<iWonderAboutTuatara> sent a code paste, see https://paste.rs/WsQ
03:18:13FromDiscord<ElegantBeef> Yes you need a setter πŸ˜„
03:19:28FromDiscord<iWonderAboutTuatara> lmao I didn't realize that was the issue
03:19:37FromDiscord<iWonderAboutTuatara> spent too long on that lmao
03:19:42FromDiscord<ElegantBeef> My example had it
03:19:52FromDiscord<iWonderAboutTuatara> My brain skimmed over it
03:20:17FromDiscord<iWonderAboutTuatara> I guess this is why you check docs for the original function that you're overloading lol
03:23:22*abm quit (Read error: Connection reset by peer)
03:38:00FromDiscord<iWonderAboutTuatara> this is still super strange
03:38:08FromDiscord<iWonderAboutTuatara> the bottom line gives an error
03:38:11FromDiscord<iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2Oo1
03:38:18FromDiscord<iWonderAboutTuatara> but the result[j, i] = WALL line doesn't
03:38:39FromDiscord<iWonderAboutTuatara> oh it's because I'm stupid
03:38:40FromDiscord<iWonderAboutTuatara> lmao
04:48:37*spiderstew_ quit (Ping timeout: 258 seconds)
04:51:11*spiderstew joined #nim
05:26:17*narimiran joined #nim
05:41:54*waleee-cl quit (Quit: Connection closed for inactivity)
05:59:02*Gustavo6046 quit (Ping timeout: 260 seconds)
06:02:32*Gustavo6046 joined #nim
06:16:50*Tlangir joined #nim
06:19:00*Tanger quit (Ping timeout: 246 seconds)
07:00:12ForumUpdaterBotNew thread by Treeform: Is using gcsafe with --gc:arc correct here with producer/consumer?, see https://forum.nim-lang.org/t/7475
07:14:06*xet7 quit (Remote host closed the connection)
07:30:44*maier joined #nim
07:44:12*PMunch joined #nim
07:53:32*fredrikhr joined #nim
07:58:08*vesper11 joined #nim
08:07:41*maier quit (Quit: Lost terminal)
08:30:00*vesper11 quit (K-Lined)
09:00:06*lytedev[m] quit (Quit: Idle for 30+ days)
09:10:47planetis[m]@Araq due to vdom diffing, do I need to keep the parent namespace of VNode in a field? See https://github.com/pragmagic/karax/pull/179/files#diff-f94ab69910a6345443dab02da51d2942c1fe53d8c56a8854dde932b7f7516828R182 Thanks
09:35:29*haxscramper joined #nim
09:45:26planetis[m]ah f nodeName returns uppercase due to legacy
09:49:22FromGitter<HJarausch_gitlab> I try to write a template which casts any object into a char array of the same size - for binary IO and computing a checksum. ⏎ The following works ⏎ ⏎ ```cast[ptr array[L,char]](addr Obj)[]``` ⏎ ... [https://gitter.im/nim-lang/Nim?at=601d14a224cd6b60d81dc316]
09:49:35planetis[m]but there is localName as well...
09:50:21FromGitter<haxscramper> @HJarausch_gitlab in what way `sizeof()` does not work exactly?
09:52:29FromGitter<HJarausch_gitlab> ```code paste, see link``` ⏎ ⏎ gives ⏎ ⏎ type mismatch: got 'array[0..5, char]' for 'castptr array[sizeof(RHd), char (addr RHd)[]' but expected 'array[0..-1, char]' [https://gitter.im/nim-lang/Nim?at=601d155d32e01b4f7177ec21]
09:53:16FromGitter<haxscramper> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=601d158c55359c58bf235342]
09:54:07FromGitter<haxscramper> Templates mostly should return `untyped` - though it looks like that regular `proc` could be sufficient in this case
09:54:56FromGitter<haxscramper> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=601d15f032e01b4f7177ee2b]
09:58:45FromGitter<HJarausch_gitlab> @haxscramper ⏎ Many thanks - It works. ⏎ ⏎ I haven't fully understood the implications of ``typed`` versus ``untyped``. Where can learn more about this? ⏎ ... [https://gitter.im/nim-lang/Nim?at=601d16d5ae4b9b27c19f5786]
10:00:09*Artur_Heidelberg joined #nim
10:02:57PMunchHJarausch_gitlab, untyped vs. typed is basically what stage you get the AST at
10:04:00PMunchuntyped is done right after the syntax parsing step. Now Nim has parsed the whole thing into a syntax tree and the code is syntactically correct. Everything looks like it could be valid Nim code (which doesn't say much given how flexible Nims syntax is).
10:06:35PMunchtyped is done after the next step. Nim looks through the syntax tree and checks types, procedure signatures, etc. and makes sure that all the code is semantically correct. I.e `1 + "hello"` is syntactically correct because + has two arguments. But it isn't semantically correct because there is no `+` function that takes an int and a string, and no automatic conversion between the two (unless of course you have made one).
10:08:15PMunchSo in a DSL for example you typically use `untyped` because you want to take something that isn't Nim code and turn it into something that is. But for something where you pass an identifier and want to build some Nim code that is based on the type of that identifier you would need `typed`
10:08:54PMunchIn general `typed` is used less than `untyped` and rarely for blocks of code.
10:09:07PMunch@HJarausch ^
10:10:51PMunch@HJarausch_gitlab ^
10:11:16PMunchApparently FromGitter doesn't do the neat nick conversion that FromDiscord does
10:11:25FromGitter<timotheecour> `completeStruct` was introduced in https://github.com/nim-lang/Nim/pull/13926 but the documentation wasn’t merged yet, see https://github.com/nim-lang/Nim/pull/14228/files#diff-a3ec74f120eb5ec238c5db08f21d4148e2bbda1a01f53845d38e99c0c2fea6b9R6411
10:15:11FromGitter<HJarausch_gitlab> @timotheecour So, what a ``completeStruct`` pragma help me (and at what position)?
10:16:36FromGitter<HJarausch_gitlab> @PMunch Many thanks for you explanations.
10:16:49PMunchNo worries
10:17:43FromGitter<timotheecour> `const s = T.sizeof` for importc type T requires T to be `{.completeStruct.}`, see links i gave
10:21:21FromGitter<HJarausch_gitlab> @timotheecour So, what a completeStruct pragma help me (and at what position)? ⏎ @PMunch Many thanks for you explanations. ⏎  ⏎ From IRC (bridge bot) @FromIRC 11:16 ⏎ <PMunch> No worries@timotheecour [https://gitter.im/nim-lang/Nim?at=601d1c210eed905f1893b037]
10:22:16FromGitter<HJarausch_gitlab> @timotheecour Thanks! I'll try to understand your links.
10:37:30*Vladar joined #nim
10:53:21*jesspacito is now known as jess
10:56:10PMunchWeird bug trying to use Nico on devel: http://ix.io/2Opj
10:59:45planetis[m]karax uses className to set the classes, but its getting deprecated https://developer.mozilla.org/en-US/docs/Web/API/SVGElement in favor of classList
11:01:14planetis[m]nah that's what react uses too
11:04:51*opal quit (Remote host closed the connection)
11:05:17*opal joined #nim
11:06:13*Artur_Heidelberg quit (Quit: Ping timeout (120 seconds))
11:18:47*aeverr_ left #nim ("Konversation terminated!")
11:59:05ForumUpdaterBotNew thread by Tubbs: How to set filepermissions, see https://forum.nim-lang.org/t/7476
12:01:52*Artur_Heidelberg joined #nim
12:13:38*opal quit (Remote host closed the connection)
12:14:02*opal joined #nim
12:15:49FromDiscord<mratsim> @Araq is there interest in replacing the TLSF allocator by mimalloc btw?↡↡The lock for allocShared/createShared is quite annoying. I also expect that when Nim async/threading are more shaped, "producer->consumer" workflow will be more prevalent. This means that memory allocated in the producer thread will be released in the consumer thread and that is the worst case scenarios for allocators. Only Mimalloc and snmalloc thought about th
12:25:12*Artur_Heidelberg quit (Quit: Connection closed)
12:32:46*abm joined #nim
12:40:55*liblq-dev joined #nim
12:56:45FromGitter<Araq> yes but
12:59:31FromGitter<Araq> the old GCs need fast `isAllocatedPtr` checks
12:59:43FromGitter<Araq> that only a custom memory manager does provide
13:00:19FromGitter<Araq> but you can base it on mimalloc or tlsf or anything else
13:52:15*abm quit (Quit: Leaving)
13:52:54FromDiscord<konsumlamm> what is `nim run` supposed to do? i would have expected it to do the same as `nim r`, but it gives me `Error: 'run' command not available; rebuild with -d:tinyc`
13:55:09FromDiscord<Rika> doesnt say anything in nim --fullhelp
13:58:14PMunchIt seem like it compiles and run with tcc
13:58:32PMunchI'm guessing it was intended to be used as a script-ish target
13:58:35FromDiscord<konsumlamm> weird it's not documented anywhere
13:58:51FromDiscord<dk> I'm getting a stack overflow on this suspicious part of `karax.vdom`. Is this code supposed to work? https://media.discordapp.net/attachments/371759389889003532/807248877136248922/unknown.png
13:58:55FromDiscord<konsumlamm> kinda like `nim secret` perhaps?
13:59:19FromDiscord<konsumlamm> looks like infinite recursion
14:00:01FromDiscord<dk> Yeah, that's why I'm asking
14:00:04PMunchhttps://github.com/nim-lang/Nim/commit/f530bbd6315f21469d7479991186e88302608726
14:00:07FromDiscord<dk> Looks too dumb to be true
14:00:17*Q-Master quit (Read error: Connection reset by peer)
14:00:25*Q-Master joined #nim
14:00:34FromDiscord<konsumlamm> why shouldn't it be true?
14:00:44PMunchIt's pretty old :P
14:01:42PMunchAha, so it compiles it in memory and runs it: https://github.com/nim-lang/Nim/commit/f530bbd6315f21469d7479991186e88302608726#diff-908d906f4c5eeac5f71d8c386b462c3fe8b8466a889dd3c1170a94dea1c4d179R39
14:02:26FromDiscord<konsumlamm> hmm, so it was in the help message originally...
14:02:53FromDiscord<Clyybber> @dk Not sure if this should be legal even. Sinice kstring is not a distinct
14:03:06*krux02 quit (Remote host closed the connection)
14:03:08PMunchYeah, I doubt it's very well maintained, so it was probably axed from the documentation
14:03:29PMunchI remember there was a TCC repl though
14:03:37FromDiscord<Clyybber> @konsumlamm tinyc used to be in the main repo, but it was extracted to a seperate one
14:03:42FromDiscord<Clyybber> maintained by timothee afaik
15:17:43FromDiscord<acek7> How are you all
15:30:17Prestigehello acek7
15:30:42*PMunch quit (Quit: leaving)
15:46:19FromDiscord<Clyybber> hello
15:49:10*xet7 joined #nim
15:50:26*Vladar quit (Quit: Leaving)
15:56:00FromDiscord<Ardek> I am therefore i exist
15:59:50*Gustavo6046 quit (Ping timeout: 258 seconds)
16:00:12FromDiscord<juan_carlos> No Nim talk at Fosdem ?.
16:00:29PrestigePMunch was supposed to do a talk iirc
16:06:20*xet7 quit (Remote host closed the connection)
16:07:42*xet7 joined #nim
16:07:52*xet7 quit (Remote host closed the connection)
16:14:28*tane joined #nim
16:15:55*waleee-cl joined #nim
16:32:32*superbia joined #nim
16:45:11saemSup, @Clyybber
16:45:20FromDiscord<Clyybber> sup saem
16:45:43saemStruggling to start my work day.
16:46:03saemCatching up a bit in the chat here
16:46:55saemGotta Jazz myself up for the weekend, because it's going to take a lot of energy to get through the tests describing the whole overload resolution stuff.
16:49:59*Vladar joined #nim
16:50:58saemYou got any nim plans?
16:54:24FromDiscord<zetashift> You alright saem? With the sleeping stuff and finding energy stuff, makes me think you need a vacation or something
16:59:09FromDiscord<Clyybber> saem: Working on the arc analysis
16:59:50*Kaivo quit (Quit: WeeChat 3.0)
17:08:02*a_chou joined #nim
17:10:09saem@zetashift: you asking is one of the kindest things, thanks. I'm not too be honest. Working on Nim is a bit double edged, when I do something the dopamine hit is great. The toil leading up to it is not great some times. A fair bit of it is high stress job and really the pandemic. Also very much missing the gym, man I love weights. No possibility of those in an apartment sadly, so getting by with bands, but it's pretty sad.
17:10:55FromGitter<HJarausch_gitlab> Is there something to denote repetitions in an array like ⏎ ⏎ ```const Codes:array[5,string] = ["a","","","","e"]``` [https://gitter.im/nim-lang/Nim?at=601d7c1f9fa6765ef8fe4055]
17:11:07saemClyybber: I stumbled across some of that, but I'm trying to stay ignorant to keep focused. It's unfortunately interesting.
17:11:28FromDiscord<Clyybber> heh it is :D
17:13:25saemI think I need to stare at tests maybe some more, wondering if there is a battery that describe the language spec as tests.
17:13:45FromGitter<haxscramper> @HJarausch_gitlab No, there is no array splicing built-in
17:14:48FromGitter<haxscramper> Though you can do something like `["a"] & [" "] * 3 & ["e"]` and overload `*` to make repetitions of an array
17:18:23FromGitter<HJarausch_gitlab> @haxscramper Thanks. Is the operator ``&`` for arrays built in? (which module)
17:18:29FromDiscord<zetashift> @saem I get it, that's a lot of things at the same time. I miss the the lifting weights too actually added some nice routine to daily life and after working out that endorphin rush was sweet. I hope things get better all around
17:19:53saemzetashift: seriously, I'm so looking forward to pervasive vaccines and getting ahead of this. It's a journey.
17:20:36saemBut yeah, would love to deadlift, squat in a cage, snatch, clean and jerk...
17:21:36FromGitter<haxscramper> @HJarausch_gitlab it is not built-in, but you can do something like https://play.nim-lang.org/#ix=2Oru
17:21:56FromGitter<haxscramper> But I don't exactly remember how to implement `*` operator, there is only a start of implementation here
17:22:33FromGitter<haxscramper> I.e. I don't know how to deal with `Error: type expected` error for this static/generic combination again
17:23:09FromDiscord<zetashift> Snatches, clean and jerks always looked a bit too risky for my fragile bones. But I very much enjoyed deadlifting and squatting
17:23:23*Gustavo6046 joined #nim
17:23:35*Gustavo6046 quit (Remote host closed the connection)
17:24:11*Gustavo6046 joined #nim
17:25:17FromGitter<HJarausch_gitlab> @haxscramper Thanks for the puzzle!
17:44:26FromDiscord<carpal> on apt the maximum version of nim is `1.2.6`, how can I get the latest (`1.4.2`)? https://media.discordapp.net/attachments/371759389889003532/807305647044558848/unknown.png
17:44:39FromDiscord<Avatarfighter> choosenim is the preferred installation method
17:44:48FromDiscord<Avatarfighter> https://nim-lang.org/install_unix.html
17:45:45leorizecarpal: if you have backports enabled you should get the latest nim
17:45:52leorizethat is if ubuntu follows debian backports
17:46:09FromDiscord<carpal> mh
17:46:17FromDiscord<carpal> so should I install nim by hands?
17:46:44FromDiscord<haxscramper> `curl https://nim-lang.org/choosenim/init.sh -sSf | sh`
17:47:07FromDiscord<haxscramper> Though I think THIS is what should be show on top of the page
17:47:25FromDiscord<haxscramper> And not this "download tarball" BS that is 10x more confusing than it needs tobe
17:47:49leorizeI would never say piping curl to sh is a good idea :P
17:48:03FromDiscord<haxscramper> yeah yeah
17:48:20FromDiscord<carpal> ok, shouldn't better fix this? or load the latest version on apt packages?
17:48:39FromDiscord<haxscramper> I'd recommend using choosenim
17:48:58FromDiscord<haxscramper> Because then you can also download new nim versions, choose current ones etc.
17:49:18*vicfred quit (Quit: Leaving)
17:49:20FromDiscord<haxscramper> `choosenim update stable` / `choosenim update devel`, `choosenim select` etc
17:50:26FromDiscord<haxscramper> leorize: I mean, I know there are some security implications, but at the same time there are also 'beginner-friendliness' implications
17:50:26FromDiscord<carpal> done, but nothing changes
17:50:28FromDiscord<dom96> I wonder if there is a better way to install choosenim that is just as convenient
17:50:46FromDiscord<dom96> happy to update the docs if there is πŸ™‚
17:52:13FromDiscord<Recruit_main707> the reason why i dont choosenim is because it didnt support 64bit version of nim, and that was a no by me
17:52:19FromDiscord<Recruit_main707> dont use
17:52:44FromDiscord<dom96> Pretty sure it's supported now
17:53:15FromDiscord<Recruit_main707> yeah i think so
17:53:52FromDiscord<Recruit_main707> but i am used to doing it manually
17:53:58FromDiscord<haxscramper> Did you add `~/.nimble/bin` to path?
17:54:14*vicfred joined #nim
17:54:28FromDiscord<haxscramper> And most likely system-wide installation might interfere if you have wrong ordering too
18:01:30FromDiscord<carpal> no, the installer is the worst I ever tried lol
18:01:46FromDiscord<carpal> at the end I made the installation by hands
18:03:19FromDiscord<dom96> choosenim aims to be the simplest way to install Nim, so if you have ideas on how to make the installation easier please let us know
18:04:56FromDiscord<carpal> yes, curl bla bla ...
18:05:04FromDiscord<carpal> but nothing changed lol
18:05:24FromDiscord<Rika> did nothing print or what
18:06:14FromDiscord<carpal> print something correct, but neither nim, nimble nor choosenim are callable from shell
18:06:41FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2OrC
18:06:58FromDiscord<haxscramper> It is not callable from shell by default, as it not installed globally
18:07:07FromDiscord<carpal> why not a file named `installer` that moves all you need in bin and sets the needed paths?
18:07:43FromDiscord<haxscramper> Because shell script can't affect external environment variables? We could edit `~/.bashrc` and tell you to reload though
18:08:08FromDiscord<haxscramper> But it might break people's configurations in some way that is even worse
18:09:46FromDiscord<haxscramper> Though more colors wouldn't hurt as well as something like "you can call installed nimble via`~/.nimble/bin/nim`, or add `~/.nimble/bin/` t your `PATH`"
18:15:53*liblq-dev quit (Ping timeout: 265 seconds)
18:17:22*liblq-dev joined #nim
18:21:36*abm joined #nim
18:21:45*fredrikhr quit (Ping timeout: 240 seconds)
18:21:50*superbia quit (Quit: WeeChat 3.0)
18:23:00*superbia joined #nim
18:26:45FromDiscord<carpal> yes, despite this the installation process is so boring
18:27:17FromDiscord<carpal> using imgui, someone knonws why this error occurs https://media.discordapp.net/attachments/371759389889003532/807316426562076672/unknown.png
18:27:22FromDiscord<carpal> (edit) "occurs" => "occurs?"
18:27:25FromDiscord<Rika> why would it be any less boring
18:27:35FromDiscord<carpal> (edit) "using imgui, ... someoneknonw" added "does" | "knonws" => "knonw"
18:27:41FromDiscord<jken> @carpal yes! I ran into this with imgui. 1 sec
18:27:57FromDiscord<jken> I did this, https://github.com/jarredkenny/nimgine/blob/master/config.nims
18:27:58ForumUpdaterBotNew thread by Calebstewart: Using nim libraries, see https://forum.nim-lang.org/t/7478
18:28:10FromDiscord<jken> and dropped cimgui.so in my project
18:28:48FromDiscord<jken> (edit) "dropped" => "placed. (dropped is a misleading word)"
18:29:14FromDiscord<carpal> why a phase so ambiguous?
18:29:38FromDiscord<Rika> the phrase is not ambiguous to a native, but okauy
18:29:39FromDiscord<Rika> okay
18:29:53FromDiscord<Rika> why would the installation process be not boring?
18:34:09FromDiscord<carpal> I was meaning that your phrase hadn't a sence
18:34:11FromDiscord<carpal> (edit) "I was meaning that your phrase hadn't a sence ... " added "lol"
18:35:15FromDiscord<carpal> that's in the current context a phrase like that can't help anybody
18:35:42FromDiscord<carpal> doesn't work anyway
18:39:51FromDiscord<Rika> i believe you're not understanding properly, my sentence makes perfect sense if you are able to see the context
18:45:48FromDiscord<jken> sure it does.
19:09:11FromDiscord<Zachary Carter> I am so confused
19:09:36*Kaivo joined #nim
19:09:46FromDiscord<Zachary Carter> what installation process isn't boring?
19:10:06FromDiscord<Zachary Carter> do you want it to include some mini game you can play while you're installing the software?
19:13:23FromDiscord<carpal> okay, I was trying to install the compiler, but it was a bit confusing, so I asked for help and you thounght that your could be helpful
19:19:46*junland quit (Quit: %ZNC Disconnected%)
19:20:10FromDiscord<carpal> this is the worst imho, for example, with rust just to download a file, run it customize the installation and stop. with nim you have to manage binaries, libraries, nimble path, all manually, I couldn't understand if I have to run `install.sh /bin/`, move the dir into the `/bin/`, set path `~/.nimble/`, `/bin/nim/bin/`
19:20:33*junland joined #nim
19:20:45FromDiscord<Zachary Carter> maybe just use choosenim?
19:20:45FromDiscord<carpal> omg, why not a single fuc file which sets all paths, moves all files etc...
19:21:19FromDiscord<Zachary Carter> don't most people use rustup?
19:21:44FromDiscord<carpal> yes, so I have to download another program lol?
19:21:56FromDiscord<Rika> i cannot understand you honestly, you're being confusing
19:22:04FromDiscord<Zachary Carter> No, you just download choosenim...
19:22:11FromDiscord<Zachary Carter> Just like you would download rustup
19:22:28FromDiscord<Zachary Carter> I have no idea what you're trying to do though really - I assume you're just trying to install Nim
19:22:45FromDiscord<carpal> ye
19:23:25FromDiscord<carpal> I'm sorry
19:26:35FromDiscord<haxscramper> Because moving files to somewhere like `/bin` requires `sudo` access - I'm pretty sure this is even less wanted
19:37:03*gangstacat quit (Ping timeout: 272 seconds)
19:41:46FromDiscord<carpal> yes, the same operation has to be done even on windows, where sudo applications are able to do anything
19:45:23*gangstacat joined #nim
19:56:54FromDiscord<Zachary Carter> I just can't
20:01:58leorizefwiw while most rust users use rustup, rustup is packaged by most Linux distributions
20:02:35leorizemost people just go `apt-get install rustup` and they get `rustup`, `rust`, `cargo` in their PATH
20:05:32FromDiscord<JSGRANT> "most people just go apt-get install rustup and they get rustup, rust, cargo in their PATH" they do? I assumed most probably just go to the site and grab the oneliner.
20:06:40leorizenot too sure, but I do know that distributions package rustup
20:07:38FromDiscord<JSGRANT> I know Arch does; But that's all I'm are of on the top of my head. With your example I'm going to assume Ubuntu (and/or Debian) might as-well
20:08:57FromDiscord<JSGRANT> Most def ship cargo though; And as-long as your okay with being snapshotted to a specific version for the release-cycle it's not a huge deal (or you do the eqv of backports lol)
20:09:34leorizerustup is rust cheatcode for that rule :P
20:09:51FromDiscord<jken> FWIW Fedora provides rust but not rust up
20:10:21Jjp137and Debian doesn't provide rustup actually (open bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955208)
20:11:08FromDiscord<Ardek> void provides both rustup and choosenim 8)
20:13:36FromDiscord<JSGRANT> @JSGRANT Yeah that's what I was getting at, rustc and cargo is enough for 'most people' in a release-cycle I'd think. I assume (?) people aren't stuck on nightly as much anymore
20:13:47FromDiscord<JSGRANT> Loooool @jken
20:14:18FromDiscord<JSGRANT> saw that j and n and just assumed it was right
20:20:25*krux02 joined #nim
20:25:55FromDiscord<edubart> oh noticed you shared my project, I made it for my own language, but I've seen someone using in other programming languages too, maybe could be useful in Nim ecosystem too, dunno how is the state of stackful asymmetric coroutines in Nim
20:26:02FromDiscord<edubart> (edit) "oh ... noticed" added "I've"
20:27:47FromDiscord<mratsim> there are no stackful asymmetric coroutine
20:28:15FromDiscord<mratsim> Personally I think they are not as flexible and efficient than stackless coroutine
20:28:56FromDiscord<mratsim> C++ has an interesting analysis of fibers here: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p1364r0.pdf
20:29:45FromDiscord<edubart> indeed, depends on the application, but what I did there just took 9 CPU cycles to do a context switch on x86_64, so decent enough
20:29:59FromDiscord<mratsim> otherwise I've gathered an very extensive research in coroutines and continuations here: https://github.com/weavers-guild/weave-io/blob/master/research/↡↡And a design proposal to have first class continuations here: https://github.com/weavers-guild/weave-io/blob/master/design/design_2_continuations.md
20:30:53FromDiscord<mratsim> The thing with stackful is that you need to allocate and swap the stack pointer which is problematic for JS or WASM
20:31:12FromDiscord<mratsim> also you need to handle the mmap of your split stacks
20:31:40FromDiscord<mratsim> and within a hot path if you sudenly need to grow your stack you flush all your cache as well.
20:32:17FromDiscord<edubart> in WASM I've used emscripten fibers, but I think it's pretty slow there, but worked at least
20:33:33FromDiscord<mratsim> LLVM also has builtin stackless coro coming soon: https://github.com/weavers-guild/weave-io/tree/master/research#llvm-coroutines↡↡I found the under nanoseconds context switches quite interesting: http://www.vldb.org/pvldb/vol11/p1702-jonathan.pdf, http://www.vldb.org/pvldb/vol11/p230-psaropoulos.pdf
20:33:40FromDiscord<edubart> in my implementation growing stack is unsupported, it just uses fixed stack sizes, but yea some applications may want to grow stack
20:33:52FromDiscord<mratsim> ah i see
20:34:24FromDiscord<mratsim> if you add multithreading, this implementation has the lowest overhead of all multithreading framework I benchmarked: https://github.com/chaoran/fibril
20:34:25*Gustavo6046 quit (Ping timeout: 240 seconds)
20:34:34FromDiscord<edubart> interesting that LLVM stackless coro
20:34:37FromDiscord<mratsim> it's fiber based
20:34:47*Gustavo6046 joined #nim
20:35:13FromDiscord<mratsim> lower overhead than my own multithreading runtime actually though it's only measurable in ver very small tasks like fibonacci
20:35:28FromDiscord<mratsim> if you have say 5 additions in a task there is no difference :p
20:36:30FromDiscord<mratsim> They need to support both Swift and C++ coroutines
20:37:15FromDiscord<edubart> where are you using coroutines? curious
20:37:37FromDiscord<mratsim> we want to revamp Nim async/await
20:38:06FromDiscord<mratsim> and also allow seamless interop between async, asyncstream, threadpools, channels, etc
20:38:13FromDiscord<edubart> you have lot of resources, pdfs and references as always 😁
20:40:21*Productive21 joined #nim
20:40:32*Productive21 left #nim (#nim)
20:56:57leorizeI'm designing a path library for nim-sys but currently stuck. If anyone has any ideas please chime in: https://github.com/alaviss/nim-sys/issues/1
21:01:57*superbia quit (Quit: WeeChat 3.0)
21:10:16ForumUpdaterBotNew thread by Benob: Why is AsyncSocketDesc private while SocketImpl is public?, see https://forum.nim-lang.org/t/7479
21:10:20FromDiscord<haxscramper> leorize: you can look into - https://haxscramper.github.io/hmisc/src/hmisc/other/oswrap.html , for some ideas (maybe), though I'm still not sure if it was worth it
21:10:31Clonkk[m]Regarding nim-sys ; an environnement variable handler could be useful. Something that writes explicit PATH, LIBRARY_PATH, LD_LIBRARY_PATH, CPATH to a file (that we can then source in the bashrc) could be useful for installer
21:10:39FromDiscord<haxscramper> But it as `AnyPath`, runtime/compiletime selection of relative paths
21:10:45Clonkk[m]Don't know if it.would translate well to.windows
21:11:19FromDiscord<haxscramper> And I would still go with string-based path representation, because fully reimplementing would require to consider all options at once
21:11:19Clonkk[m]But having all the path added by nim-sys organized in a neat source file sounds appealing
21:11:34FromDiscord<haxscramper> Basically what you mentioned in your last comments
21:13:24FromDiscord<haxscramper> Clonkk: "writes explicit [...] to a file" - can you tell a little more about what do you mean by that? I'm kind of a little lost
21:13:32FromDiscord<haxscramper> As to what does this mean
21:13:46FromDiscord<haxscramper> But yes, some mechanism for handline env. variables is a good idea
21:14:53FromDiscord<haxscramper> I've only come to making `ShellVar = distinct string` and using some helper API such as `get()`, `set()`, `withEnv:`
21:15:20FromDiscord<haxscramper> And `$$` template for things like `$$VARNAME`
21:15:30FromDiscord<edubart> this paper made some good points, but I feel that it's attacking too much on stackful coroutines, most of the issues pointed out can be dealt with↡in my case I have to stick with stackful coroutines because I'm basing my language on another one that uses stackful coroutines, stackful coroutines also simplify the work on the compiler plus give free control flow, but yea it's not as lightweight and problem free than stackless for some use
21:15:46FromDiscord<edubart> (edit) "coroutines," => "coroutines (Lua),"
21:16:04leorizeClonkk[m]: I think that's a bit out of scope
21:16:36FromDiscord<mratsim> yes it's biaised for sure.
21:18:56Clonkk[m]<FromDiscord "<haxscramper> Clonkk: "writes ex"> You could read the existing environment variable (on Linux you split the string on ` : ` ), remove duplicate and write to ~/.source-nim-env for instance
21:19:23Clonkk[m]You then have one single file with your path neatly organized without duplicate plus all update made by Nim package eventually
21:19:56FromDiscord<edubart> what is the issue of Nim current async/await? IIRC they were stackless and worked
21:20:03Clonkk[m]And you just add ``source ~/source-nim-env`` to your bashrc
21:20:15Clonkk[m]* And you just add ``source ~/.source-nim-env`` to your bashrc
21:20:22Clonkk[m]* And you just add ``source ~/.source-nim-env`` to your bashrc
21:20:36FromDiscord<mratsim> it doesn't play well with threads.
21:20:39*narimiran quit (Quit: leaving)
21:20:55Clonkk[m]<leorize "Clonkk: I think that's a bit out"> I understand it was just a suggestion since environment variable are often used in system management
21:20:55FromDiscord<mratsim> so we want a primitive that would be suitable for both async and threads
21:20:55FromDiscord<edubart> oh I see..
21:22:08Clonkk[m]<FromDiscord "<haxscramper> But yes, some mech"> The solution I described is just what I thought right now top of my head might not be the best one.
21:23:14leorizenim-sys will gain support for environment variables, but that's low priority since the stdlib one works well enough
21:23:27leorizebut uh, serializing them is out of scope
21:25:38FromDiscord<dom96> I'm still hopeful we can get good enough support for interoperation between async and threads via awaitable channels/flowvars
21:25:38leorizehaxscramper: I believe your design stems from compiler's pathutils?
21:26:18FromDiscord<haxscramper> yes
21:26:52leorizedom96: didn't rayman22201 do some preliminary work like virtual async events?
21:26:53FromDiscord<haxscramper> Though there is not a lot of "design" to speak of TBH
21:27:18FromDiscord<dom96> yep, I've done some work over christmas to revive his PR
21:27:40FromDiscord<haxscramper> Some operations were taken from nimscript - naming for `mkDir`, `mvDir` and so on
21:27:52FromDiscord<haxscramper> And I've also looked into `Qt`
21:28:03FromDiscord<haxscramper> file API a little
21:28:32*NimBot joined #nim
21:28:59leorize[m]the file system is a complicated beast that I'm avoiding for now :p
21:29:01FromDiscord<mratsim> Awaitable should be a concept/interface and any scheduler can customize what to do with Awaitable
21:30:02FromDiscord<haxscramper> leorize: `oswrap` is basically what we could get if we go straight with `distinct` path and then spend some time patching up all edge cases
21:30:15FromDiscord<haxscramper> But I don't think I would recommend this
21:30:48FromDiscord<dom96> @mratsim you could say that `Future` is the interface right now
21:31:09FromDiscord<haxscramper> I created it mainly because of this `os/nimscript` idiocy
21:31:09FromDiscord<mratsim> the interface should be scheduler agnostic
21:31:14FromDiscord<dom96> actually `await` is likely to work with any object that allows `read` and a callback to be set
21:31:16FromDiscord<mratsim> Future ties in asyncdispatch
21:31:32FromDiscord<haxscramper> absolutely idiotic decisions to make procs have different names
21:31:40leorizehaxscramper: yea, distinct is heavier than I would like it to
21:32:08leorizebut I'm trying to invent way around distinct problems :p
21:32:28FromDiscord<mratsim> Future and Flowvar are almost the same except the scheduler they are coupling with and the fact that flowvar as a locks inside.
21:32:57FromDiscord<mratsim> basically it's the same issue as C++ executors but it's an easy one to solve if we make the lower-level interoperable.
21:33:03FromDiscord<dom96> agree that it's a poor decision, but don't call it "idiotic", there are likely to be logical reasons behind it
21:33:42FromDiscord<dom96> @mratsim Future might tie into asyncdispatch now, but it didn't use to
21:34:00FromDiscord<dom96> I guess it's the callback scheduling that ties it in there
21:34:03FromDiscord<mratsim> sent a code paste, see https://play.nim-lang.org/#ix=2OsB
21:34:29FromDiscord<mratsim> and threaded scheduler can put lot atomics or what not if they want.
21:34:36FromDiscord<dom96> also, I really pushed for FlowVar to not be a thing but instead reuse Future
21:34:42FromDiscord<dom96> sadly it was not to be πŸ™‚
21:34:57FromDiscord<mratsim> I don't think it's sad, because it would make things harder to evolve
21:34:59FromDiscord<dom96> but good news is that it shouldn't be too difficult to make it compatible
21:35:06FromDiscord<haxscramper> Yes, there are likely reasons for absolutely everything, including this one, maybe but this is insanely annoying
21:35:24FromDiscord<haxscramper> And I see no justification for such breaking change
21:35:32FromDiscord<haxscramper> More surprises in API?
21:35:33FromDiscord<mratsim> Nim wasn't mature enough to use the same type for both I think.
21:37:05FromDiscord<dom96> possible, I don't recall the reasons why Araq decided to have a separate type
21:37:37FromDiscord<haxscramper> And this is doubly surprising becase `os` works for compile-time nimscript evaluation
21:37:51FromDiscord<haxscramper> But does not work for standalone nimscript evaluation
21:38:04leorizehaxscramper: my prototype of the path library currently defines Path as a type that contains a "normalized" path + verified to be valid (as in can be accepted by the os)
21:38:29FromDiscord<haxscramper> Yes, I think that is a better solution in a long term
21:38:38leorizeas you can imagine it, Windows issues make things much much more complicated...
21:39:52leorize[m]for example `C:\NUL` is perfectly valid, but it might not be what the user want
21:41:29leorize[m]however if you just write it as `\\?\C:\NUL` it suddenly refers to the file named `NUL` in `C:\`
21:45:39*Productive2 joined #nim
21:45:53*Productive2 left #nim (#nim)
21:45:53FromDiscord<haxscramper> Actually it all errors out in different ways - "cannot importc", hardcoded `{.error.}` in `std/os`, inability to import nimscript in regular target
21:46:18FromDiscord<haxscramper> Making it necessary to hack it around with `when defined(nimscript)`
21:46:31FromDiscord<haxscramper> None of that is fatal or particularly difficult
21:46:38FromDiscord<haxscramper> All of that is annoying
21:46:41FromDiscord<dom96> Why is CI so hard?
21:46:54FromDiscord<dom96> I'm once again getting closer and closer to rolling my own solution again
21:47:02FromDiscord<haxscramper> CI?
21:47:31FromDiscord<dom96> I appreciate iffy's help here, but it sucks that they need to create a PR to get more debugging info about the failure https://github.com/nim-lang/nimble/pull/891
21:51:20leorizethere's a reason why setup-nim strives to have as little code as possible :P
21:52:50FromDiscord<dom96> ahh, nice, SSL errors
21:54:14FromDiscord<dom96> I'm a simple man, I use whatever GitHub Actions script the first person to create a PR to set up GitHub Actions uses in my projects πŸ˜›
21:55:14leorizehttps://github.com/nim-lang/nightlies/issues/49 <- once this is fixed it should remove plenty of burden from choosenim and the likes
21:55:58FromDiscord<zidsal> In the learn nim#2 it explains that you can use templates for lazy evaluation, what specifically about templates enables lazy evaluation?
21:56:29leorizetemplates is a simple form of ast macros
21:56:39leorizethe "parameters" are ast nodes
21:56:50leorizethey are subsituted into the template body
21:56:54FromDiscord<haxscramper> Which means not all arguments must be evaluated
21:57:49FromDiscord<haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2OsH
21:57:55leorizesay: `template foo(a) = if false: echo a; foo "hello " & " zidsal"` evaluates to: `if false: echo "hello " & " zidsal"`
21:58:24FromDiscord<zidsal> ah that makes sense thanks guys
22:04:00*irchaxwell_ joined #nim
22:05:42leorizehaxscramper: you said you're working on some nimdoc replacement, right?
22:05:58FromDiscord<haxscramper> https://github.com/haxscramper/haxdoc
22:06:21leorizeany demo?
22:07:20FromDiscord<haxscramper> No at the moment, thoug I've set up releases
22:07:34FromDiscord<Avatarfighter> Got an example of the output ?
22:07:48leorizelet me know when it reach a "kinda stable" state :)
22:07:49FromDiscord<haxscramper> I'm working on a bug right now, and will push updated readme etc. with use example
22:08:05leorizeif you need help on CI setup, feel free to ping me
22:08:13*irchaxwell_zzz quit (Ping timeout: 258 seconds)
22:08:38FromDiscord<haxscramper> I kind of figured it out eventually, so for now it does what I expect it to
22:09:00FromDiscord<haxscramper> @Avatarfighter for now I'm focusing on sourcetrail integration
22:09:14FromDiscord<haxscramper> But it is mostly done
22:09:35FromDiscord<haxscramper> Like I can already index whole compiler implementation - callgraph, type defintions, usages
22:09:43FromDiscord<Avatarfighter> Damn
22:09:56FromDiscord<haxscramper> You can try it out already
22:10:09FromDiscord<haxscramper> I.e. - binaries are available, but it is buggy as hell right now
22:10:23leorizegiven the scope of your program it might need a rename in the future :P
22:10:29FromDiscord<haxscramper> ?
22:10:44FromDiscord<haxscramper> No, I thought quite a lot about naming this one
22:10:51leorizeI'm interested in that API diffing feature
22:11:10FromDiscord<Avatarfighter> I'm excited to see the progress haxscramper πŸ™‚
22:11:23FromDiscord<haxscramper> I want to generate `doc.json` as a release artifact for all documentation, so API diffing is just comparing jsons
22:11:45leorizeare you planning to work directly on the compiler's packedast in the future?
22:12:07FromDiscord<haxscramper> I'm not sure if this will be of any use to me
22:12:17FromDiscord<haxscramper> I'm operating on posts-semcheck stage mostly
22:13:11leorizeyou will no longer have to depend on a compiler version would be the "feature" of packedast
22:13:34FromDiscord<haxscramper> ah, you mean packed ast in form of rodfiles?
22:13:59FromDiscord<haxscramper> And about naming - eventually I want to also make use of https://github.com/haxscramper/htsparse and make it into generic documentation generator/code expolorer
22:14:09FromDiscord<haxscramper> But for now it is nim-first
22:14:18leorizehaxscramper: yea, rodfiles
22:14:31leorizeI'm not sure if it still works the way disruptek told me though
22:15:29FromDiscord<haxscramper> I'm not really sure I can use this, because when I generate documentation I want to make use of absolutely all information available
22:15:47FromDiscord<haxscramper> So I would prefer to stick to operating on a whole module graph at once
22:16:11FromDiscord<haxscramper> Maybe rodfiles can give me the same benefits, but I'm not sure
22:17:15FromDiscord<dom96> sigh https://media.discordapp.net/attachments/371759389889003532/807374303565185034/unknown.png
22:18:02FromDiscord<zidsal> @dom96 if you curl google.com can you verify the ssl cert?
22:18:11FromDiscord<haxscramper> leorize: if you have any ideas/suggestions about API diffing I would be glad to hear
22:18:37FromDiscord<dom96> @zidsal yep
22:19:09FromDiscord<haxscramper> General idea is pretty clear, but maybe I can optimize it for some workflows from the start
22:21:10FromDiscord<haxscramper> I got this - not really meaningful on it's own, but this is a callgraph for nim compiler main entry point https://media.discordapp.net/attachments/371759389889003532/807375287968989204/unknown.png
22:21:21FromDiscord<haxscramper> god, the resolution
22:21:27FromDiscord<haxscramper> (edit) "god, the resolution ... " added "drop"
22:21:36*xet7 joined #nim
22:22:30FromDiscord<dom96> @haxscramper ooh, that's beautiful
22:23:02FromDiscord<zidsal> @dom96 just to sanity check your nimble was compiled with -d:ssl ?
22:23:56leorizewouldn't newContext error at compile time if -d:ssl is not specified?
22:23:59FromDiscord<haxscramper> I need to make 300mb graphviz image for callgraph of the whole compiler
22:24:01FromDiscord<dom96> @zidsal it'd give a different error if it wasn't
22:24:12FromDiscord<dom96> federico3: are you around?
22:24:12FromDiscord<zidsal> fair enough
22:24:15FromDiscord<haxscramper> All 130000 internal references
22:24:27FromDiscord<Avatarfighter> That's hot @haxscramper
22:27:10*Productive2 joined #nim
22:27:18*Productive2 left #nim (#nim)
22:29:41federico3yep
22:29:45*Productive2 joined #nim
22:29:51*Productive2 left #nim (#nim)
22:31:15*Productive2 joined #nim
22:31:30*Productive2 left #nim (#nim)
22:33:30Clonkk[m]<FromDiscord "<haxscramper> I need to make 300"> You could sell poster of this to finance Nim
22:34:21FromDiscord<haxscramper> "this is what happens when you run `nim c`"
22:34:33FromDiscord<mratsim> OOM?
22:34:50FromDiscord<haxscramper> maybe
22:35:02FromDiscord<haxscramper> damn, now I need to make this right now
22:35:26FromDiscord<Avatarfighter> Honestly I'
22:35:37*Productive2 joined #nim
22:35:41FromDiscord<Avatarfighter> I'd probably buy a poster of a graph of the compiler
22:36:44Clonkk[m]Nim merch in general could be fun
22:37:40FromDiscord<Avatarfighter> right πŸ˜›
22:38:28Clonkk[m]At least stickers to put on company's fridge or give interns 😁
22:40:48FromDiscord<Avatarfighter> I wouldn't mind a crown πŸ˜›
22:41:06FromDiscord<dom96> wtf, why is compiling packageinfo failing on `from net import SslError` but compiling all of Nimble isn't
22:43:37*a_chou quit (Remote host closed the connection)
22:44:16FromDiscord<dom96> oh duh, -d:ssl
22:44:45FromDiscord<dom96> Sure would be nice if the compiler could tell me this
22:45:03FromDiscord<Avatarfighter> Does it not complain that ssl is not defined ?
22:45:09FromDiscord<Avatarfighter> I swear all things ssl complains about it
22:45:12FromDiscord<Avatarfighter> (edit) "complains" => "complain"
22:45:18FromDiscord<Avatarfighter> (edit) "swear" => "could've sworn"
22:45:38FromDiscord<Avatarfighter> or rather the lack of `-d:ssl`
22:45:40leorizefrom-import is not detected by `net`, obviously
22:46:11FromDiscord<Avatarfighter> neat
22:46:54FromDiscord<dom96> maybe we need a hint to the compiler, like "userDefined(ssl)", and with that it will go into that branch and make note that these extra symbols can be enabled by using `-d:ssl`
22:47:00FromDiscord<dom96> would be awesome for docgen too
22:48:08leorizesounds like a hack to me tbh
22:49:33FromDiscord<dom96> Got any better ideas?
22:49:41FromDiscord<dom96> it sucks that all these things get hidden
22:50:28FromDiscord<dom96> federico3: I'm getting SSL errors with your PR, I'm going to disable it for now so we can get the CI to be green. Would appreciate you taking a look why it's failing
22:52:14*D_ quit (Ping timeout: 264 seconds)
22:53:10*D_ joined #nim
22:55:50FromDiscord<dom96> Anyone can remind me how to disable a warning with a pragma?
22:55:52*liblq-dev quit (Quit: WeeChat 3.0)
22:56:07FromDiscord<lqdev> {.warning[Thing]: off.}
22:56:47FromDiscord<dom96> thx
22:57:22FromDiscord<dom96> huh, I can't re-enable it after https://media.discordapp.net/attachments/371759389889003532/807384397317668924/unknown.png
22:59:08*xet7 quit (Remote host closed the connection)
23:14:11FromDiscord<dom96> That feeling when you forget to `git add` a file
23:18:35FromDiscord<ElegantBeef> Eh working on my game i gitignored the binary which also gitignored a sub directory, so for a few days i had 0 committed changes to files πŸ˜„
23:22:41*krux02 quit (Quit: Leaving)
23:29:18FromDiscord<dom96> federico3: @zidsal: https://github.com/nim-lang/nimble/pull/893
23:30:02federico3why was it disabled? It seems to be working ok here
23:32:06*Vladar quit (Quit: Leaving)
23:32:12federico3@dom96 also, what's the default list URL?
23:33:07FromDiscord<haxscramper> Looks like graphviz just can't handle that many nodes/edges and basically dies instantly
23:33:40FromDiscord<haxscramper> It takes less then a minute to create callgraph for nimble, but I'm waiting ten minutes for graph to compile
23:34:16FromDiscord<haxscramper> Does anyone have graph visualization software recommendations that I can easily write files for?
23:35:03FromDiscord<haxscramper> I know I can write `.cypher` graphs, but IIRC all viewers are web-based, meaning they would die instantly
23:36:33FromDiscord<dom96> federico3: because the CI was failing
23:36:48FromDiscord<dom96> I wanted to get the CI green so that we can get this resolved
23:37:51FromDiscord<dom96> https://github.com/nim-lang/nimble/commit/aec0ae5c23d2e2a2ec28e97dcb9dd6cb1e68b134
23:38:27FromDiscord<ElegantBeef> Hax this is where i say the dumb thing of "Could you use SVGs?" πŸ˜„
23:39:03FromDiscord<haxscramper> the problem in graphviz layouting
23:39:35FromDiscord<haxscramper> I'm actually using `.xdot` now, which should be even simpler for graphviz to work with, but due to so many nodes it takes forever to do graph layout
23:40:10federico3hax: http://interactive.blockdiag.com/ has an online editor but it's backed by the dot toolkit and language
23:46:04FromDiscord<haxscramper> Looks like there won't be any nice graphs in the end - there is just too many links in the end
23:47:33FromDiscord<haxscramper> I could probably get better results by doing smarter filtering like only showing callgraph for specific depth, starting from main entry point instead of whole callgraph at once
23:49:53*haxscramper quit (Remote host closed the connection)