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:24 | FromDiscord | <iWonderAboutTuatara> hey guys |
01:36:38 | Prestige | sup |
01:36:52 | FromDiscord | <iWonderAboutTuatara> I wrote a custom [i, j] thing to access entries in a seq[seq[T]] |
01:37:04 | FromDiscord | <iWonderAboutTuatara> at the moment it just returns the value, which means I can't set using it |
01:37:08 | FromDiscord | <iWonderAboutTuatara> is there a way around this? |
01:37:11 | FromDiscord | <iWonderAboutTuatara> hey |
01:37:20 | FromDiscord | <ElegantBeef> make a `[]` that returns a `var T` |
01:37:24 | FromDiscord | <iWonderAboutTuatara> you can do that? |
01:37:31 | FromDiscord | <ElegantBeef> Yes |
01:37:39 | FromDiscord | <iWonderAboutTuatara> wow I never realized |
01:37:50 | FromDiscord | <ElegantBeef> Doesnt nim support `[i, j]` by default? |
01:37:58 | FromDiscord | <iWonderAboutTuatara> does it? |
01:38:19 | FromDiscord | <iWonderAboutTuatara> doesn't look like |
01:38:31 | FromDiscord | <ElegantBeef> Might just be on nim nodes |
01:38:55 | FromDiscord | <iWonderAboutTuatara> I get the expression has no address error now |
01:39:15 | FromDiscord | <ElegantBeef> You need the `var` and non var versions |
01:39:41 | FromDiscord | <iWonderAboutTuatara> I need both? |
01:39:54 | FromDiscord | <ElegantBeef> Yes they change proc signature |
01:40:03 | FromDiscord | <iWonderAboutTuatara> new error |
01:40:10 | FromDiscord | <iWonderAboutTuatara> overloaded `[]` leads to ambiguous calls |
01:41:50 | FromDiscord | <ElegantBeef> https://play.nim-lang.org/#ix=2OnA |
01:41:52 | FromDiscord | <ElegantBeef> What are you doing? |
01:51:39 | * | Tanger joined #nim |
01:59:55 | FromDiscord | <ElegantBeef> @iWonderAboutTuatara uhhh how's it going? π |
02:08:59 | * | zedeus joined #nim |
02:27:40 | ForumUpdaterBot | New 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:06 | FromDiscord | <iWonderAboutTuatara> Internet died |
03:11:06 | FromDiscord | <iWonderAboutTuatara> I just realized I can make this a lot easier by just making a template |
03:13:47 | FromDiscord | <ElegantBeef> Easier? |
03:14:38 | FromDiscord | <iWonderAboutTuatara> nope nevermind |
03:14:46 | FromDiscord | <iWonderAboutTuatara> still isn't working for whatever reason |
03:14:53 | FromDiscord | <ElegantBeef> The hell are you trying? π |
03:15:02 | FromDiscord | <iWonderAboutTuatara> mostly simple stuff lmao |
03:15:14 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2OnU |
03:15:20 | FromDiscord | <iWonderAboutTuatara> I get type mismatch when trying to call this |
03:16:08 | FromDiscord | <ElegantBeef> Got full code i can see? |
03:16:22 | FromDiscord | <iWonderAboutTuatara> uhh it's like 200 lines |
03:16:34 | FromDiscord | <iWonderAboutTuatara> but here's the relvant bit |
03:16:42 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2OnW |
03:16:43 | FromDiscord | <ElegantBeef> Well the vector declaration and use case |
03:17:34 | FromDiscord | <iWonderAboutTuatara> oh the vector one is working fine |
03:17:41 | FromDiscord | <iWonderAboutTuatara> but I haven't tried to set from it |
03:17:56 | FromDiscord | <ElegantBeef> Setting wont work since you dont have `[]` |
03:17:57 | FromDiscord | <ElegantBeef> (edit) "`[]`" => "`[]=`" |
03:18:08 | FromDiscord | <iWonderAboutTuatara> oh I need the =? |
03:18:11 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://paste.rs/WsQ |
03:18:13 | FromDiscord | <ElegantBeef> Yes you need a setter π |
03:19:28 | FromDiscord | <iWonderAboutTuatara> lmao I didn't realize that was the issue |
03:19:37 | FromDiscord | <iWonderAboutTuatara> spent too long on that lmao |
03:19:42 | FromDiscord | <ElegantBeef> My example had it |
03:19:52 | FromDiscord | <iWonderAboutTuatara> My brain skimmed over it |
03:20:17 | FromDiscord | <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:00 | FromDiscord | <iWonderAboutTuatara> this is still super strange |
03:38:08 | FromDiscord | <iWonderAboutTuatara> the bottom line gives an error |
03:38:11 | FromDiscord | <iWonderAboutTuatara> sent a code paste, see https://play.nim-lang.org/#ix=2Oo1 |
03:38:18 | FromDiscord | <iWonderAboutTuatara> but the result[j, i] = WALL line doesn't |
03:38:39 | FromDiscord | <iWonderAboutTuatara> oh it's because I'm stupid |
03:38:40 | FromDiscord | <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:12 | ForumUpdaterBot | New 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:47 | planetis[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:26 | planetis[m] | ah f nodeName returns uppercase due to legacy |
09:49:22 | FromGitter | <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:35 | planetis[m] | but there is localName as well... |
09:50:21 | FromGitter | <haxscramper> @HJarausch_gitlab in what way `sizeof()` does not work exactly? |
09:52:29 | FromGitter | <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:16 | FromGitter | <haxscramper> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=601d158c55359c58bf235342] |
09:54:07 | FromGitter | <haxscramper> Templates mostly should return `untyped` - though it looks like that regular `proc` could be sufficient in this case |
09:54:56 | FromGitter | <haxscramper> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=601d15f032e01b4f7177ee2b] |
09:58:45 | FromGitter | <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:57 | PMunch | HJarausch_gitlab, untyped vs. typed is basically what stage you get the AST at |
10:04:00 | PMunch | untyped 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:35 | PMunch | typed 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:15 | PMunch | So 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:54 | PMunch | In general `typed` is used less than `untyped` and rarely for blocks of code. |
10:09:07 | PMunch | @HJarausch ^ |
10:10:51 | PMunch | @HJarausch_gitlab ^ |
10:11:16 | PMunch | Apparently FromGitter doesn't do the neat nick conversion that FromDiscord does |
10:11:25 | FromGitter | <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:11 | FromGitter | <HJarausch_gitlab> @timotheecour So, what a ``completeStruct`` pragma help me (and at what position)? |
10:16:36 | FromGitter | <HJarausch_gitlab> @PMunch Many thanks for you explanations. |
10:16:49 | PMunch | No worries |
10:17:43 | FromGitter | <timotheecour> `const s = T.sizeof` for importc type T requires T to be `{.completeStruct.}`, see links i gave |
10:21:21 | FromGitter | <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:16 | FromGitter | <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:10 | PMunch | Weird bug trying to use Nico on devel: http://ix.io/2Opj |
10:59:45 | planetis[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:14 | planetis[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:05 | ForumUpdaterBot | New 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:49 | FromDiscord | <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:45 | FromGitter | <Araq> yes but |
12:59:31 | FromGitter | <Araq> the old GCs need fast `isAllocatedPtr` checks |
12:59:43 | FromGitter | <Araq> that only a custom memory manager does provide |
13:00:19 | FromGitter | <Araq> but you can base it on mimalloc or tlsf or anything else |
13:52:15 | * | abm quit (Quit: Leaving) |
13:52:54 | FromDiscord | <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:09 | FromDiscord | <Rika> doesnt say anything in nim --fullhelp |
13:58:14 | PMunch | It seem like it compiles and run with tcc |
13:58:32 | PMunch | I'm guessing it was intended to be used as a script-ish target |
13:58:35 | FromDiscord | <konsumlamm> weird it's not documented anywhere |
13:58:51 | FromDiscord | <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:55 | FromDiscord | <konsumlamm> kinda like `nim secret` perhaps? |
13:59:19 | FromDiscord | <konsumlamm> looks like infinite recursion |
14:00:01 | FromDiscord | <dk> Yeah, that's why I'm asking |
14:00:04 | PMunch | https://github.com/nim-lang/Nim/commit/f530bbd6315f21469d7479991186e88302608726 |
14:00:07 | FromDiscord | <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:34 | FromDiscord | <konsumlamm> why shouldn't it be true? |
14:00:44 | PMunch | It's pretty old :P |
14:01:42 | PMunch | Aha, so it compiles it in memory and runs it: https://github.com/nim-lang/Nim/commit/f530bbd6315f21469d7479991186e88302608726#diff-908d906f4c5eeac5f71d8c386b462c3fe8b8466a889dd3c1170a94dea1c4d179R39 |
14:02:26 | FromDiscord | <konsumlamm> hmm, so it was in the help message originally... |
14:02:53 | FromDiscord | <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:08 | PMunch | Yeah, I doubt it's very well maintained, so it was probably axed from the documentation |
14:03:29 | PMunch | I remember there was a TCC repl though |
14:03:37 | FromDiscord | <Clyybber> @konsumlamm tinyc used to be in the main repo, but it was extracted to a seperate one |
14:03:42 | FromDiscord | <Clyybber> maintained by timothee afaik |
15:17:43 | FromDiscord | <acek7> How are you all |
15:30:17 | Prestige | hello acek7 |
15:30:42 | * | PMunch quit (Quit: leaving) |
15:46:19 | FromDiscord | <Clyybber> hello |
15:49:10 | * | xet7 joined #nim |
15:50:26 | * | Vladar quit (Quit: Leaving) |
15:56:00 | FromDiscord | <Ardek> I am therefore i exist |
15:59:50 | * | Gustavo6046 quit (Ping timeout: 258 seconds) |
16:00:12 | FromDiscord | <juan_carlos> No Nim talk at Fosdem ?. |
16:00:29 | Prestige | PMunch 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:11 | saem | Sup, @Clyybber |
16:45:20 | FromDiscord | <Clyybber> sup saem |
16:45:43 | saem | Struggling to start my work day. |
16:46:03 | saem | Catching up a bit in the chat here |
16:46:55 | saem | Gotta 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:58 | saem | You got any nim plans? |
16:54:24 | FromDiscord | <zetashift> You alright saem? With the sleeping stuff and finding energy stuff, makes me think you need a vacation or something |
16:59:09 | FromDiscord | <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:09 | saem | @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:55 | FromGitter | <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:07 | saem | Clyybber: I stumbled across some of that, but I'm trying to stay ignorant to keep focused. It's unfortunately interesting. |
17:11:28 | FromDiscord | <Clyybber> heh it is :D |
17:13:25 | saem | I 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:45 | FromGitter | <haxscramper> @HJarausch_gitlab No, there is no array splicing built-in |
17:14:48 | FromGitter | <haxscramper> Though you can do something like `["a"] & [" "] * 3 & ["e"]` and overload `*` to make repetitions of an array |
17:18:23 | FromGitter | <HJarausch_gitlab> @haxscramper Thanks. Is the operator ``&`` for arrays built in? (which module) |
17:18:29 | FromDiscord | <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:53 | saem | zetashift: seriously, I'm so looking forward to pervasive vaccines and getting ahead of this. It's a journey. |
17:20:36 | saem | But yeah, would love to deadlift, squat in a cage, snatch, clean and jerk... |
17:21:36 | FromGitter | <haxscramper> @HJarausch_gitlab it is not built-in, but you can do something like https://play.nim-lang.org/#ix=2Oru |
17:21:56 | FromGitter | <haxscramper> But I don't exactly remember how to implement `*` operator, there is only a start of implementation here |
17:22:33 | FromGitter | <haxscramper> I.e. I don't know how to deal with `Error: type expected` error for this static/generic combination again |
17:23:09 | FromDiscord | <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:17 | FromGitter | <HJarausch_gitlab> @haxscramper Thanks for the puzzle! |
17:44:26 | FromDiscord | <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:39 | FromDiscord | <Avatarfighter> choosenim is the preferred installation method |
17:44:48 | FromDiscord | <Avatarfighter> https://nim-lang.org/install_unix.html |
17:45:45 | leorize | carpal: if you have backports enabled you should get the latest nim |
17:45:52 | leorize | that is if ubuntu follows debian backports |
17:46:09 | FromDiscord | <carpal> mh |
17:46:17 | FromDiscord | <carpal> so should I install nim by hands? |
17:46:44 | FromDiscord | <haxscramper> `curl https://nim-lang.org/choosenim/init.sh -sSf | sh` |
17:47:07 | FromDiscord | <haxscramper> Though I think THIS is what should be show on top of the page |
17:47:25 | FromDiscord | <haxscramper> And not this "download tarball" BS that is 10x more confusing than it needs tobe |
17:47:49 | leorize | I would never say piping curl to sh is a good idea :P |
17:48:03 | FromDiscord | <haxscramper> yeah yeah |
17:48:20 | FromDiscord | <carpal> ok, shouldn't better fix this? or load the latest version on apt packages? |
17:48:39 | FromDiscord | <haxscramper> I'd recommend using choosenim |
17:48:58 | FromDiscord | <haxscramper> Because then you can also download new nim versions, choose current ones etc. |
17:49:18 | * | vicfred quit (Quit: Leaving) |
17:49:20 | FromDiscord | <haxscramper> `choosenim update stable` / `choosenim update devel`, `choosenim select` etc |
17:50:26 | FromDiscord | <haxscramper> leorize: I mean, I know there are some security implications, but at the same time there are also 'beginner-friendliness' implications |
17:50:26 | FromDiscord | <carpal> done, but nothing changes |
17:50:28 | FromDiscord | <dom96> I wonder if there is a better way to install choosenim that is just as convenient |
17:50:46 | FromDiscord | <dom96> happy to update the docs if there is π |
17:52:13 | FromDiscord | <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:19 | FromDiscord | <Recruit_main707> dont use |
17:52:44 | FromDiscord | <dom96> Pretty sure it's supported now |
17:53:15 | FromDiscord | <Recruit_main707> yeah i think so |
17:53:52 | FromDiscord | <Recruit_main707> but i am used to doing it manually |
17:53:58 | FromDiscord | <haxscramper> Did you add `~/.nimble/bin` to path? |
17:54:14 | * | vicfred joined #nim |
17:54:28 | FromDiscord | <haxscramper> And most likely system-wide installation might interfere if you have wrong ordering too |
18:01:30 | FromDiscord | <carpal> no, the installer is the worst I ever tried lol |
18:01:46 | FromDiscord | <carpal> at the end I made the installation by hands |
18:03:19 | FromDiscord | <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:56 | FromDiscord | <carpal> yes, curl bla bla ... |
18:05:04 | FromDiscord | <carpal> but nothing changed lol |
18:05:24 | FromDiscord | <Rika> did nothing print or what |
18:06:14 | FromDiscord | <carpal> print something correct, but neither nim, nimble nor choosenim are callable from shell |
18:06:41 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2OrC |
18:06:58 | FromDiscord | <haxscramper> It is not callable from shell by default, as it not installed globally |
18:07:07 | FromDiscord | <carpal> why not a file named `installer` that moves all you need in bin and sets the needed paths? |
18:07:43 | FromDiscord | <haxscramper> Because shell script can't affect external environment variables? We could edit `~/.bashrc` and tell you to reload though |
18:08:08 | FromDiscord | <haxscramper> But it might break people's configurations in some way that is even worse |
18:09:46 | FromDiscord | <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:45 | FromDiscord | <carpal> yes, despite this the installation process is so boring |
18:27:17 | FromDiscord | <carpal> using imgui, someone knonws why this error occurs https://media.discordapp.net/attachments/371759389889003532/807316426562076672/unknown.png |
18:27:22 | FromDiscord | <carpal> (edit) "occurs" => "occurs?" |
18:27:25 | FromDiscord | <Rika> why would it be any less boring |
18:27:35 | FromDiscord | <carpal> (edit) "using imgui, ... someoneknonw" added "does" | "knonws" => "knonw" |
18:27:41 | FromDiscord | <jken> @carpal yes! I ran into this with imgui. 1 sec |
18:27:57 | FromDiscord | <jken> I did this, https://github.com/jarredkenny/nimgine/blob/master/config.nims |
18:27:58 | ForumUpdaterBot | New thread by Calebstewart: Using nim libraries, see https://forum.nim-lang.org/t/7478 |
18:28:10 | FromDiscord | <jken> and dropped cimgui.so in my project |
18:28:48 | FromDiscord | <jken> (edit) "dropped" => "placed. (dropped is a misleading word)" |
18:29:14 | FromDiscord | <carpal> why a phase so ambiguous? |
18:29:38 | FromDiscord | <Rika> the phrase is not ambiguous to a native, but okauy |
18:29:39 | FromDiscord | <Rika> okay |
18:29:53 | FromDiscord | <Rika> why would the installation process be not boring? |
18:34:09 | FromDiscord | <carpal> I was meaning that your phrase hadn't a sence |
18:34:11 | FromDiscord | <carpal> (edit) "I was meaning that your phrase hadn't a sence ... " added "lol" |
18:35:15 | FromDiscord | <carpal> that's in the current context a phrase like that can't help anybody |
18:35:42 | FromDiscord | <carpal> doesn't work anyway |
18:39:51 | FromDiscord | <Rika> i believe you're not understanding properly, my sentence makes perfect sense if you are able to see the context |
18:45:48 | FromDiscord | <jken> sure it does. |
19:09:11 | FromDiscord | <Zachary Carter> I am so confused |
19:09:36 | * | Kaivo joined #nim |
19:09:46 | FromDiscord | <Zachary Carter> what installation process isn't boring? |
19:10:06 | FromDiscord | <Zachary Carter> do you want it to include some mini game you can play while you're installing the software? |
19:13:23 | FromDiscord | <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:10 | FromDiscord | <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:45 | FromDiscord | <Zachary Carter> maybe just use choosenim? |
19:20:45 | FromDiscord | <carpal> omg, why not a single fuc file which sets all paths, moves all files etc... |
19:21:19 | FromDiscord | <Zachary Carter> don't most people use rustup? |
19:21:44 | FromDiscord | <carpal> yes, so I have to download another program lol? |
19:21:56 | FromDiscord | <Rika> i cannot understand you honestly, you're being confusing |
19:22:04 | FromDiscord | <Zachary Carter> No, you just download choosenim... |
19:22:11 | FromDiscord | <Zachary Carter> Just like you would download rustup |
19:22:28 | FromDiscord | <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:45 | FromDiscord | <carpal> ye |
19:23:25 | FromDiscord | <carpal> I'm sorry |
19:26:35 | FromDiscord | <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:46 | FromDiscord | <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:54 | FromDiscord | <Zachary Carter> I just can't |
20:01:58 | leorize | fwiw while most rust users use rustup, rustup is packaged by most Linux distributions |
20:02:35 | leorize | most people just go `apt-get install rustup` and they get `rustup`, `rust`, `cargo` in their PATH |
20:05:32 | FromDiscord | <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:40 | leorize | not too sure, but I do know that distributions package rustup |
20:07:38 | FromDiscord | <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:57 | FromDiscord | <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:34 | leorize | rustup is rust cheatcode for that rule :P |
20:09:51 | FromDiscord | <jken> FWIW Fedora provides rust but not rust up |
20:10:21 | Jjp137 | and Debian doesn't provide rustup actually (open bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955208) |
20:11:08 | FromDiscord | <Ardek> void provides both rustup and choosenim 8) |
20:13:36 | FromDiscord | <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:47 | FromDiscord | <JSGRANT> Loooool @jken |
20:14:18 | FromDiscord | <JSGRANT> saw that j and n and just assumed it was right |
20:20:25 | * | krux02 joined #nim |
20:25:55 | FromDiscord | <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:02 | FromDiscord | <edubart> (edit) "oh ... noticed" added "I've" |
20:27:47 | FromDiscord | <mratsim> there are no stackful asymmetric coroutine |
20:28:15 | FromDiscord | <mratsim> Personally I think they are not as flexible and efficient than stackless coroutine |
20:28:56 | FromDiscord | <mratsim> C++ has an interesting analysis of fibers here: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2018/p1364r0.pdf |
20:29:45 | FromDiscord | <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:59 | FromDiscord | <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:53 | FromDiscord | <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:12 | FromDiscord | <mratsim> also you need to handle the mmap of your split stacks |
20:31:40 | FromDiscord | <mratsim> and within a hot path if you sudenly need to grow your stack you flush all your cache as well. |
20:32:17 | FromDiscord | <edubart> in WASM I've used emscripten fibers, but I think it's pretty slow there, but worked at least |
20:33:33 | FromDiscord | <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:40 | FromDiscord | <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:52 | FromDiscord | <mratsim> ah i see |
20:34:24 | FromDiscord | <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:34 | FromDiscord | <edubart> interesting that LLVM stackless coro |
20:34:37 | FromDiscord | <mratsim> it's fiber based |
20:34:47 | * | Gustavo6046 joined #nim |
20:35:13 | FromDiscord | <mratsim> lower overhead than my own multithreading runtime actually though it's only measurable in ver very small tasks like fibonacci |
20:35:28 | FromDiscord | <mratsim> if you have say 5 additions in a task there is no difference :p |
20:36:30 | FromDiscord | <mratsim> They need to support both Swift and C++ coroutines |
20:37:15 | FromDiscord | <edubart> where are you using coroutines? curious |
20:37:37 | FromDiscord | <mratsim> we want to revamp Nim async/await |
20:38:06 | FromDiscord | <mratsim> and also allow seamless interop between async, asyncstream, threadpools, channels, etc |
20:38:13 | FromDiscord | <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:57 | leorize | I'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:16 | ForumUpdaterBot | New thread by Benob: Why is AsyncSocketDesc private while SocketImpl is public?, see https://forum.nim-lang.org/t/7479 |
21:10:20 | FromDiscord | <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:31 | Clonkk[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:39 | FromDiscord | <haxscramper> But it as `AnyPath`, runtime/compiletime selection of relative paths |
21:10:45 | Clonkk[m] | Don't know if it.would translate well to.windows |
21:11:19 | FromDiscord | <haxscramper> And I would still go with string-based path representation, because fully reimplementing would require to consider all options at once |
21:11:19 | Clonkk[m] | But having all the path added by nim-sys organized in a neat source file sounds appealing |
21:11:34 | FromDiscord | <haxscramper> Basically what you mentioned in your last comments |
21:13:24 | FromDiscord | <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:32 | FromDiscord | <haxscramper> As to what does this mean |
21:13:46 | FromDiscord | <haxscramper> But yes, some mechanism for handline env. variables is a good idea |
21:14:53 | FromDiscord | <haxscramper> I've only come to making `ShellVar = distinct string` and using some helper API such as `get()`, `set()`, `withEnv:` |
21:15:20 | FromDiscord | <haxscramper> And `$$` template for things like `$$VARNAME` |
21:15:30 | FromDiscord | <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:46 | FromDiscord | <edubart> (edit) "coroutines," => "coroutines (Lua)," |
21:16:04 | leorize | Clonkk[m]: I think that's a bit out of scope |
21:16:36 | FromDiscord | <mratsim> yes it's biaised for sure. |
21:18:56 | Clonkk[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:23 | Clonkk[m] | You then have one single file with your path neatly organized without duplicate plus all update made by Nim package eventually |
21:19:56 | FromDiscord | <edubart> what is the issue of Nim current async/await? IIRC they were stackless and worked |
21:20:03 | Clonkk[m] | And you just add ``source ~/source-nim-env`` to your bashrc |
21:20:15 | Clonkk[m] | * And you just add ``source ~/.source-nim-env`` to your bashrc |
21:20:22 | Clonkk[m] | * And you just add ``source ~/.source-nim-env`` to your bashrc |
21:20:36 | FromDiscord | <mratsim> it doesn't play well with threads. |
21:20:39 | * | narimiran quit (Quit: leaving) |
21:20:55 | Clonkk[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:55 | FromDiscord | <mratsim> so we want a primitive that would be suitable for both async and threads |
21:20:55 | FromDiscord | <edubart> oh I see.. |
21:22:08 | Clonkk[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:14 | leorize | nim-sys will gain support for environment variables, but that's low priority since the stdlib one works well enough |
21:23:27 | leorize | but uh, serializing them is out of scope |
21:25:38 | FromDiscord | <dom96> I'm still hopeful we can get good enough support for interoperation between async and threads via awaitable channels/flowvars |
21:25:38 | leorize | haxscramper: I believe your design stems from compiler's pathutils? |
21:26:18 | FromDiscord | <haxscramper> yes |
21:26:52 | leorize | dom96: didn't rayman22201 do some preliminary work like virtual async events? |
21:26:53 | FromDiscord | <haxscramper> Though there is not a lot of "design" to speak of TBH |
21:27:18 | FromDiscord | <dom96> yep, I've done some work over christmas to revive his PR |
21:27:40 | FromDiscord | <haxscramper> Some operations were taken from nimscript - naming for `mkDir`, `mvDir` and so on |
21:27:52 | FromDiscord | <haxscramper> And I've also looked into `Qt` |
21:28:03 | FromDiscord | <haxscramper> file API a little |
21:28:32 | * | NimBot joined #nim |
21:28:59 | leorize[m] | the file system is a complicated beast that I'm avoiding for now :p |
21:29:01 | FromDiscord | <mratsim> Awaitable should be a concept/interface and any scheduler can customize what to do with Awaitable |
21:30:02 | FromDiscord | <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:15 | FromDiscord | <haxscramper> But I don't think I would recommend this |
21:30:48 | FromDiscord | <dom96> @mratsim you could say that `Future` is the interface right now |
21:31:09 | FromDiscord | <haxscramper> I created it mainly because of this `os/nimscript` idiocy |
21:31:09 | FromDiscord | <mratsim> the interface should be scheduler agnostic |
21:31:14 | FromDiscord | <dom96> actually `await` is likely to work with any object that allows `read` and a callback to be set |
21:31:16 | FromDiscord | <mratsim> Future ties in asyncdispatch |
21:31:32 | FromDiscord | <haxscramper> absolutely idiotic decisions to make procs have different names |
21:31:40 | leorize | haxscramper: yea, distinct is heavier than I would like it to |
21:32:08 | leorize | but I'm trying to invent way around distinct problems :p |
21:32:28 | FromDiscord | <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:57 | FromDiscord | <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:03 | FromDiscord | <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:42 | FromDiscord | <dom96> @mratsim Future might tie into asyncdispatch now, but it didn't use to |
21:34:00 | FromDiscord | <dom96> I guess it's the callback scheduling that ties it in there |
21:34:03 | FromDiscord | <mratsim> sent a code paste, see https://play.nim-lang.org/#ix=2OsB |
21:34:29 | FromDiscord | <mratsim> and threaded scheduler can put lot atomics or what not if they want. |
21:34:36 | FromDiscord | <dom96> also, I really pushed for FlowVar to not be a thing but instead reuse Future |
21:34:42 | FromDiscord | <dom96> sadly it was not to be π |
21:34:57 | FromDiscord | <mratsim> I don't think it's sad, because it would make things harder to evolve |
21:34:59 | FromDiscord | <dom96> but good news is that it shouldn't be too difficult to make it compatible |
21:35:06 | FromDiscord | <haxscramper> Yes, there are likely reasons for absolutely everything, including this one, maybe but this is insanely annoying |
21:35:24 | FromDiscord | <haxscramper> And I see no justification for such breaking change |
21:35:32 | FromDiscord | <haxscramper> More surprises in API? |
21:35:33 | FromDiscord | <mratsim> Nim wasn't mature enough to use the same type for both I think. |
21:37:05 | FromDiscord | <dom96> possible, I don't recall the reasons why Araq decided to have a separate type |
21:37:37 | FromDiscord | <haxscramper> And this is doubly surprising becase `os` works for compile-time nimscript evaluation |
21:37:51 | FromDiscord | <haxscramper> But does not work for standalone nimscript evaluation |
21:38:04 | leorize | haxscramper: 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:29 | FromDiscord | <haxscramper> Yes, I think that is a better solution in a long term |
21:38:38 | leorize | as you can imagine it, Windows issues make things much much more complicated... |
21:39:52 | leorize[m] | for example `C:\NUL` is perfectly valid, but it might not be what the user want |
21:41:29 | leorize[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:53 | FromDiscord | <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:18 | FromDiscord | <haxscramper> Making it necessary to hack it around with `when defined(nimscript)` |
21:46:31 | FromDiscord | <haxscramper> None of that is fatal or particularly difficult |
21:46:38 | FromDiscord | <haxscramper> All of that is annoying |
21:46:41 | FromDiscord | <dom96> Why is CI so hard? |
21:46:54 | FromDiscord | <dom96> I'm once again getting closer and closer to rolling my own solution again |
21:47:02 | FromDiscord | <haxscramper> CI? |
21:47:31 | FromDiscord | <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:20 | leorize | there's a reason why setup-nim strives to have as little code as possible :P |
21:52:50 | FromDiscord | <dom96> ahh, nice, SSL errors |
21:54:14 | FromDiscord | <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:14 | leorize | https://github.com/nim-lang/nightlies/issues/49 <- once this is fixed it should remove plenty of burden from choosenim and the likes |
21:55:58 | FromDiscord | <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:29 | leorize | templates is a simple form of ast macros |
21:56:39 | leorize | the "parameters" are ast nodes |
21:56:50 | leorize | they are subsituted into the template body |
21:56:54 | FromDiscord | <haxscramper> Which means not all arguments must be evaluated |
21:57:49 | FromDiscord | <haxscramper> sent a code paste, see https://play.nim-lang.org/#ix=2OsH |
21:57:55 | leorize | say: `template foo(a) = if false: echo a; foo "hello " & " zidsal"` evaluates to: `if false: echo "hello " & " zidsal"` |
21:58:24 | FromDiscord | <zidsal> ah that makes sense thanks guys |
22:04:00 | * | irchaxwell_ joined #nim |
22:05:42 | leorize | haxscramper: you said you're working on some nimdoc replacement, right? |
22:05:58 | FromDiscord | <haxscramper> https://github.com/haxscramper/haxdoc |
22:06:21 | leorize | any demo? |
22:07:20 | FromDiscord | <haxscramper> No at the moment, thoug I've set up releases |
22:07:34 | FromDiscord | <Avatarfighter> Got an example of the output ? |
22:07:48 | leorize | let me know when it reach a "kinda stable" state :) |
22:07:49 | FromDiscord | <haxscramper> I'm working on a bug right now, and will push updated readme etc. with use example |
22:08:05 | leorize | if you need help on CI setup, feel free to ping me |
22:08:13 | * | irchaxwell_zzz quit (Ping timeout: 258 seconds) |
22:08:38 | FromDiscord | <haxscramper> I kind of figured it out eventually, so for now it does what I expect it to |
22:09:00 | FromDiscord | <haxscramper> @Avatarfighter for now I'm focusing on sourcetrail integration |
22:09:14 | FromDiscord | <haxscramper> But it is mostly done |
22:09:35 | FromDiscord | <haxscramper> Like I can already index whole compiler implementation - callgraph, type defintions, usages |
22:09:43 | FromDiscord | <Avatarfighter> Damn |
22:09:56 | FromDiscord | <haxscramper> You can try it out already |
22:10:09 | FromDiscord | <haxscramper> I.e. - binaries are available, but it is buggy as hell right now |
22:10:23 | leorize | given the scope of your program it might need a rename in the future :P |
22:10:29 | FromDiscord | <haxscramper> ? |
22:10:44 | FromDiscord | <haxscramper> No, I thought quite a lot about naming this one |
22:10:51 | leorize | I'm interested in that API diffing feature |
22:11:10 | FromDiscord | <Avatarfighter> I'm excited to see the progress haxscramper π |
22:11:23 | FromDiscord | <haxscramper> I want to generate `doc.json` as a release artifact for all documentation, so API diffing is just comparing jsons |
22:11:45 | leorize | are you planning to work directly on the compiler's packedast in the future? |
22:12:07 | FromDiscord | <haxscramper> I'm not sure if this will be of any use to me |
22:12:17 | FromDiscord | <haxscramper> I'm operating on posts-semcheck stage mostly |
22:13:11 | leorize | you will no longer have to depend on a compiler version would be the "feature" of packedast |
22:13:34 | FromDiscord | <haxscramper> ah, you mean packed ast in form of rodfiles? |
22:13:59 | FromDiscord | <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:09 | FromDiscord | <haxscramper> But for now it is nim-first |
22:14:18 | leorize | haxscramper: yea, rodfiles |
22:14:31 | leorize | I'm not sure if it still works the way disruptek told me though |
22:15:29 | FromDiscord | <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:47 | FromDiscord | <haxscramper> So I would prefer to stick to operating on a whole module graph at once |
22:16:11 | FromDiscord | <haxscramper> Maybe rodfiles can give me the same benefits, but I'm not sure |
22:17:15 | FromDiscord | <dom96> sigh https://media.discordapp.net/attachments/371759389889003532/807374303565185034/unknown.png |
22:18:02 | FromDiscord | <zidsal> @dom96 if you curl google.com can you verify the ssl cert? |
22:18:11 | FromDiscord | <haxscramper> leorize: if you have any ideas/suggestions about API diffing I would be glad to hear |
22:18:37 | FromDiscord | <dom96> @zidsal yep |
22:19:09 | FromDiscord | <haxscramper> General idea is pretty clear, but maybe I can optimize it for some workflows from the start |
22:21:10 | FromDiscord | <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:21 | FromDiscord | <haxscramper> god, the resolution |
22:21:27 | FromDiscord | <haxscramper> (edit) "god, the resolution ... " added "drop" |
22:21:36 | * | xet7 joined #nim |
22:22:30 | FromDiscord | <dom96> @haxscramper ooh, that's beautiful |
22:23:02 | FromDiscord | <zidsal> @dom96 just to sanity check your nimble was compiled with -d:ssl ? |
22:23:56 | leorize | wouldn't newContext error at compile time if -d:ssl is not specified? |
22:23:59 | FromDiscord | <haxscramper> I need to make 300mb graphviz image for callgraph of the whole compiler |
22:24:01 | FromDiscord | <dom96> @zidsal it'd give a different error if it wasn't |
22:24:12 | FromDiscord | <dom96> federico3: are you around? |
22:24:12 | FromDiscord | <zidsal> fair enough |
22:24:15 | FromDiscord | <haxscramper> All 130000 internal references |
22:24:27 | FromDiscord | <Avatarfighter> That's hot @haxscramper |
22:27:10 | * | Productive2 joined #nim |
22:27:18 | * | Productive2 left #nim (#nim) |
22:29:41 | federico3 | yep |
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:30 | Clonkk[m] | <FromDiscord "<haxscramper> I need to make 300"> You could sell poster of this to finance Nim |
22:34:21 | FromDiscord | <haxscramper> "this is what happens when you run `nim c`" |
22:34:33 | FromDiscord | <mratsim> OOM? |
22:34:50 | FromDiscord | <haxscramper> maybe |
22:35:02 | FromDiscord | <haxscramper> damn, now I need to make this right now |
22:35:26 | FromDiscord | <Avatarfighter> Honestly I' |
22:35:37 | * | Productive2 joined #nim |
22:35:41 | FromDiscord | <Avatarfighter> I'd probably buy a poster of a graph of the compiler |
22:36:44 | Clonkk[m] | Nim merch in general could be fun |
22:37:40 | FromDiscord | <Avatarfighter> right π |
22:38:28 | Clonkk[m] | At least stickers to put on company's fridge or give interns π |
22:40:48 | FromDiscord | <Avatarfighter> I wouldn't mind a crown π |
22:41:06 | FromDiscord | <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:16 | FromDiscord | <dom96> oh duh, -d:ssl |
22:44:45 | FromDiscord | <dom96> Sure would be nice if the compiler could tell me this |
22:45:03 | FromDiscord | <Avatarfighter> Does it not complain that ssl is not defined ? |
22:45:09 | FromDiscord | <Avatarfighter> I swear all things ssl complains about it |
22:45:12 | FromDiscord | <Avatarfighter> (edit) "complains" => "complain" |
22:45:18 | FromDiscord | <Avatarfighter> (edit) "swear" => "could've sworn" |
22:45:38 | FromDiscord | <Avatarfighter> or rather the lack of `-d:ssl` |
22:45:40 | leorize | from-import is not detected by `net`, obviously |
22:46:11 | FromDiscord | <Avatarfighter> neat |
22:46:54 | FromDiscord | <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:00 | FromDiscord | <dom96> would be awesome for docgen too |
22:48:08 | leorize | sounds like a hack to me tbh |
22:49:33 | FromDiscord | <dom96> Got any better ideas? |
22:49:41 | FromDiscord | <dom96> it sucks that all these things get hidden |
22:50:28 | FromDiscord | <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:50 | FromDiscord | <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:07 | FromDiscord | <lqdev> {.warning[Thing]: off.} |
22:56:47 | FromDiscord | <dom96> thx |
22:57:22 | FromDiscord | <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:11 | FromDiscord | <dom96> That feeling when you forget to `git add` a file |
23:18:35 | FromDiscord | <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:18 | FromDiscord | <dom96> federico3: @zidsal: https://github.com/nim-lang/nimble/pull/893 |
23:30:02 | federico3 | why was it disabled? It seems to be working ok here |
23:32:06 | * | Vladar quit (Quit: Leaving) |
23:32:12 | federico3 | @dom96 also, what's the default list URL? |
23:33:07 | FromDiscord | <haxscramper> Looks like graphviz just can't handle that many nodes/edges and basically dies instantly |
23:33:40 | FromDiscord | <haxscramper> It takes less then a minute to create callgraph for nimble, but I'm waiting ten minutes for graph to compile |
23:34:16 | FromDiscord | <haxscramper> Does anyone have graph visualization software recommendations that I can easily write files for? |
23:35:03 | FromDiscord | <haxscramper> I know I can write `.cypher` graphs, but IIRC all viewers are web-based, meaning they would die instantly |
23:36:33 | FromDiscord | <dom96> federico3: because the CI was failing |
23:36:48 | FromDiscord | <dom96> I wanted to get the CI green so that we can get this resolved |
23:37:51 | FromDiscord | <dom96> https://github.com/nim-lang/nimble/commit/aec0ae5c23d2e2a2ec28e97dcb9dd6cb1e68b134 |
23:38:27 | FromDiscord | <ElegantBeef> Hax this is where i say the dumb thing of "Could you use SVGs?" π |
23:39:03 | FromDiscord | <haxscramper> the problem in graphviz layouting |
23:39:35 | FromDiscord | <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:10 | federico3 | hax: http://interactive.blockdiag.com/ has an online editor but it's backed by the dot toolkit and language |
23:46:04 | FromDiscord | <haxscramper> Looks like there won't be any nice graphs in the end - there is just too many links in the end |
23:47:33 | FromDiscord | <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) |