<< 08-05-2019 >>

00:02:09*rnrwashere joined #nim
00:13:41noonien!eval let x = [byte 3, 4]; echo x[0..<0'32]
00:13:42NimBotCompile failed: in.nim(1, 34) Error: invalid number: '0'32'
00:13:59noonien!eval let x = [byte 3, 4]; echo x[0..<0'u32]
00:14:00NimBot<no output>
00:15:23nooniencan i check the subtype(?) of an array in a when statement?
00:17:07*jasper quit (Ping timeout: 256 seconds)
00:17:38*rnrwashere quit (Remote host closed the connection)
00:21:29*deech joined #nim
00:21:52*deech quit (Remote host closed the connection)
00:23:59*jasper joined #nim
00:28:36jasperUnsure of a better way than `T[AI, AT](a: typedesc[array[AI, AT]]): untyped = AT` Maybe remove the typedesc depending on usecase.
00:28:58jasper*`template T...`
00:42:01*dddddd quit (Remote host closed the connection)
00:48:54*cyberjpn joined #nim
00:58:10*theelous3 quit (Ping timeout: 246 seconds)
01:04:49*abm quit (Ping timeout: 246 seconds)
01:05:17*jasper quit (Ping timeout: 256 seconds)
01:15:59*[rg] joined #nim
01:49:16*cyberjpn quit (Ping timeout: 246 seconds)
02:00:17*banc quit (Quit: Bye)
02:02:16*cyberjpn joined #nim
02:22:00*banc joined #nim
02:24:54*vlad1777d_ quit (Ping timeout: 258 seconds)
02:29:18*[rg] quit (Quit: Konversation terminated!)
03:06:17*kotrcka quit (Ping timeout: 255 seconds)
03:35:12*cyberjpn quit (Ping timeout: 244 seconds)
04:14:37cy1https://gist.github.com/cyisfor/18b976fbbad530a883f15d3bf8f70ebb is what I've been trying to write a macro for. It's way too much code duplication otherwise...
04:15:28cy1Then again I typed that tedious example in about an hour, while writing the macro has been taking days...
04:31:50*nsf joined #nim
04:39:58*rnrwashere joined #nim
04:48:09*cyberjpn joined #nim
04:55:03*narimiran joined #nim
05:11:40*jasper joined #nim
05:27:40*cyberjpn quit (Ping timeout: 246 seconds)
05:28:17*leorize quit (Quit: WeeChat 2.3)
05:39:06*rnrwashere quit (Remote host closed the connection)
05:39:07*solitudesf joined #nim
05:54:00*kapil____ joined #nim
05:59:34*cyberjpn joined #nim
06:04:01*krux02 joined #nim
06:05:23*leorize joined #nim
06:09:08*leorize quit (Client Quit)
06:09:46*jjido joined #nim
06:11:47*vlad1777d_ joined #nim
06:20:10*leorize joined #nim
06:36:26ZevvStupid question probably, but if you could generate this nim code as a string from your source data structures, all you need is a one line macro doing parseExpr(), would that not work somehow?
06:36:58Zevvno fiddling with AST or NimNodes. Its probably highly inefficient, but it might do the job
06:39:38leorizewouldn't one line of parseExpr called a template? :p
06:44:49leorizeZevv: do you have any tips in optimizing the peg expression for npeg? It's taking a rather significant amount of compile-time for me atm
06:45:46Zevvyeah thats no fun. and I must admit I do not really understand where this time is spent
06:45:55*PMunch joined #nim
06:46:14Zevvit is definately on my whish list to optimize this somehow, but I dont know how to profile compile time stuff
06:46:41ZevvHow long is significant?
06:47:55leorizelike 30s->1m depending on the machine I'm running it on
06:47:57krux02Zevv: don't generate source as string
06:48:19krux02generate code as NimNodes
06:48:20Zevvwow thats unacceptable. can you drop me your grammar?
06:48:57Zevvkrux02: yes, thats what I would do, but he seems to have problems with that.
06:49:33krux02well, you can use parseExpr
06:49:37Zevvleorize: I sometimes see a few hundred msecs, but never something this order
06:50:00Zevvkrux02: right, that was the idea. You shouldnt, but you can
06:50:18krux02but you are really on your own if you do that, I can't provide support for that.
06:50:24Zevvhehe
06:50:57Zevvwell, nim is nim, right? Whether you read it from a file or feed it to parseExpr
06:51:01krux02I've seen horrible code with parseExpr
06:51:03leorize[m]Zevv: must be because of the highly-inefficent email peg matcher :P
06:51:29Zevvyou put in the *whole* email grammar from the spec?
06:51:29krux02there is getAst that you can call on a template
06:51:41ZevvI heard that killed a man once
06:52:26leorize[m]Zevv: yea, it's rather simple to translate actually. I'll put it in a gist or smt once I'm done w my current project
06:52:35*leorize quit (Ping timeout: 256 seconds)
06:52:54Zevvleorize[m]: but if you can, please send your grammar, curious to see why it compiles so slow. runtime performance is accepable?
06:53:22*solitudesf quit (Ping timeout: 245 seconds)
06:54:05leorize[m]yea, runtime is fine. This is school work atm, so I'll have to wait until they done grading 'n stuff before I open up parts of it
06:54:47*leorize joined #nim
06:55:28*narimiran sees school work and wonders how old is leorize
06:55:59leorizeit's a secret ;)
06:56:17leorize> The site at http://localhost:5000/images/Cu7muM1PIED9ORtXbaRZ1.png has experienced a network protocol violation that cannot be repaired.
06:56:23leorize^ really helpful firefox error message
06:56:28narimiranleorize: please don't tell me your birth year starts with 2
06:57:03leorizesecret's a secret :)
07:00:00*gmpreussner quit (Quit: kthxbye)
07:00:27leorizedom96: ^ I get the firefox error message above when serving static file w jester
07:00:53leorizecurl got me a perfectly fine file, firefox dislikes it :/
07:04:52*gmpreussner joined #nim
07:04:56*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:18:26Zevvleorize: it's just rfc822 you implemented, right?
07:19:22leorizeRFC5321 and RFC5322
07:19:31leorizeI'm matching email addresses
07:24:06Zevvhmm, not *that* complicated. Well, I'll have to wait until after your graduation then to improve my otherwise very useful library :)
07:40:33leorizeeither I'm using karax wrong or karax is kinda broken
07:41:00leorizeI have to assign a lot of my components with `id = genRandomString()` just so karax would redraw them
07:41:46leorizemarkDirty doesn't work somehow :/
07:44:28FromGitter<gogolxdong> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cd288dbf251e60ffa45275f]
07:44:39FromGitter<gogolxdong> --gc:boehm
07:47:57*leorize quit (Remote host closed the connection)
07:48:27*leorize joined #nim
07:51:53leorizenarimiran: how's indentexp been for you?
07:52:13leorizedo you keep track w the latest commits?
07:52:19narimiranleorize: i'll tell you if you first tell me your age :P
07:52:53narimirani didn't update it since we last talked, but i had no problems whatsoever
07:53:22*cyberjpn quit (Ping timeout: 245 seconds)
07:53:37leorizeI've fixed a few bugs (and hopefully didn't cause any) :p
07:54:50*arecaceae quit (Remote host closed the connection)
07:54:52narimiranok, i'll update and report back. anything in particular you want to be tested?
07:55:09*arecaceae joined #nim
07:55:26leorizeeverything
07:57:05cy1Zevv: parseExpr is tempting, but that transition where the language becomes a meaningless string of characters briefly is dangerous. You could make a syntax error that generates bad code, and... well, there are advantages to sticking to syntax transformations. But not if the compiler keeps segfaulting on me!
07:57:40Zevvyeah, that is a kind of pain in the behind I guess :(
08:07:36*abm joined #nim
08:08:50*jasper quit (Quit: Page closed)
08:12:27krux02@mratsim are you around?
08:14:23leorizecy1: have you reported all the segfaults?
08:19:57cy1leorize: When I'm not doing a contortion act with my convoluted syntax, and can get a simple example that's not working, I'll do that.
08:24:21*dddddd joined #nim
08:24:53*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
08:28:08*kapil____ quit (Quit: Connection closed for inactivity)
08:41:57*leorize quit (Ping timeout: 256 seconds)
08:44:16*leorize joined #nim
08:45:47*Vladar joined #nim
08:48:48*cyberjpn joined #nim
08:55:53*cyberjpn quit (Ping timeout: 245 seconds)
09:00:06*stefanos82 joined #nim
09:07:40*leorize quit (Quit: WeeChat 2.3)
09:11:54*NimBot joined #nim
09:12:59*cyberjpn joined #nim
09:22:50*BitPuffin joined #nim
09:23:30*cyberjpn quit (Ping timeout: 258 seconds)
09:30:43BitPuffindom96 o/
09:50:04dom96hey BitPuffin \o
09:50:13dom96how's life?
09:50:24BitPuffinlong time no spoke
09:50:28BitPuffinpretty good!
09:50:49BitPuffinI moved back to sweden
09:50:58BitPuffinbut I'm gonna go away as an exchange student to japan
09:51:07BitPuffinhow's yours?
10:12:52*seni joined #nim
10:14:20FromGitter<mratsim> @krux02 yep
10:14:45krux02hi
10:15:15krux02I was working again for proces with static result types.
10:15:25krux02I heared you are using them quite extensively.
10:15:31krux02But my PR to remove them passes CI.
10:15:44krux02so my question is, are you ready?
10:16:07FromGitter<mratsim> not extensively
10:16:18FromGitter<mratsim> I am
10:16:23krux02ok
10:16:55krux02then pleas give my PR here a green light https://github.com/nim-lang/Nim/pull/9686
10:17:17FromGitter<mratsim> it was a blocker when {.compileTime.} did not work
10:17:28krux02ok
10:17:33krux02but that one was fixed
10:17:40krux02I just saw your remark from yesterday
10:18:12krux02thanks
10:18:16FromGitter<mratsim> np
10:18:26FromGitter<mratsim> it could be added to the changelog as well
10:18:44FromGitter<mratsim> as with the other "disallow" change that are on the tracker (the one to cast to UncheckedArray)
10:19:04krux02yes
10:19:49krux02the point is, they never worked to begin with, the compiler just didn't complain, and as long it was dead code, everything was fine.
10:20:02krux02(for UncheckedArray)
10:20:06FromGitter<mratsim> I use it to generate unique identifier for OpenMP here: https://github.com/numforge/laser/blob/master/laser/openmp.nim#L16 (along with compileTime golbal var :/)
10:20:12FromGitter<mratsim> ah rght
10:21:14krux02that one should work with {.compileTime.} proc
10:22:16krux02btw compileTime does not mean, "this function may be executed at compile time" it means more "this function is for compile time evaluation only, raise an error when someone tries to call it at runtime"
10:23:06WilhelmVonWeinerif I write a proc that instead of using a var seq takes a seq and returns a seq, will the latter be alloc'ing and dealloc'ing memory every time
10:23:16krux02I often tag function as compileTime even though I don't need to just to remind myself that certain function are written for compile time evaluation.
10:23:34WilhelmVonWeineror will some stage of compilation modify the memory in place as if i'd used a var seq
10:23:46krux02WilhelmVonWeiner, depends, but probably yes
10:24:11FromGitter<mratsim> at the time it didn't at Krux: https://github.com/nim-lang/Nim/issues/9817 ⏎ And ultimately this is a kludge for https://github.com/nim-lang/Nim/issues/9365
10:24:37WilhelmVonWeiner"probably yes" is good enough for me
10:24:41krux02you can forward a seq that is not a copy, but do modifications, it will most likely be a copy
10:24:53krux02(you can always trick the compiler to do other things)
10:25:04FromGitter<mratsim> if you want to ensure no copy use an openarray type instead of seq
10:25:20FromGitter<mratsim> but you can't return an openarray from it then
10:26:36FromGitter<mratsim> (openarray accepts seq and arrays as arguments and are parameter passing only and at a low-level it just passes a pointer + length)
10:27:01krux02I recommend openArray only for "it should for for both seq and array", "varargs" (because it works more reliable than varargs), and C wrappers that take a pointer size pair.
10:27:40krux02it should *work* for
10:27:52krux02I don't know who ate that word
10:28:09krux02@mratsim: thanks for your feedback.
10:28:28FromGitter<mratsim> that reminds me that the whole first-class openarray/openarray as values and views/slices/ranges/span/buffer question is still pending
10:28:55krux02I hope you understand. static return values is something that is tested nowhere in the test suit. It just worked by accident for some use cases. Diabling it is just the safer route to go.
10:28:58FromGitter<mratsim> well probably for v1.1
10:29:28FromGitter<mratsim> I know, I don't mind, it really was my last solution
10:29:54krux02well openArray as values are probably not going to happen. As values are in nim by design copes.
10:30:38krux02But I think pointer to OpenArray could work though.
10:30:58FromGitter<mratsim> Solution 1. OpenMP interpolates identifier like "emit" ⏎ Solution 2. using a {.compileTime.} proc ⏎ Solution 3. using a static return
10:32:17krux02ok
10:32:36FromGitter<mratsim> openarrays as value doesn't mean that you can return it from a function but that within a function you could do "let a = myArray.toOpenArray(0, 2)" and pass the slice to many inputs
10:33:17FromGitter<mratsim> slicing is very verbose, and tends to create temporary seq and strings if people use the [] syntax
10:34:14FromGitter<alehander42> yeah there shoukld be a way to pass views/slices around
10:34:18FromGitter<mratsim> for example in this thread, there is a string slicing that allocates in a parallel section: https://forum.nim-lang.org/t/4827#30233
10:34:35FromGitter<mratsim> I'm surprised the OP didn't have a GC crash
10:35:07FromGitter<mratsim> it's also quite inefficient, (though he is comparing to R so we can afford to be a bit les efficient)
10:36:28FromGitter<mratsim> well the original data.table library is mostly C++ and is the fastest dataframes/tabular data library at the moment and can slurp GB of data without crashing while the other popular ones (like pandas in Python) are just too memory inefficient.
10:36:39FromGitter<mratsim> cc @bluenote10 ^
10:38:50*sz0 joined #nim
10:50:37dom96BitPuffin, good good. Busy with work.
10:58:03*solitudesf joined #nim
11:00:06narimiranfederico3: https://nimble.directory seems to be down?
11:00:22federico3thanks narimiran
11:00:40narimiranany time :P
11:02:36BitPuffindom96: yeah relatable
11:02:44BitPuffinI work 50 and study 100% so
11:33:14*uptime is now known as SHILL
11:52:36FromGitter<mratsim> Is it me or did Github time just shifted by 8 hours? An issue I opened 10 min ago is now "opened 8 hours ago"
11:53:09FromGitter<jrfondren> not just you, but it's inconsistent.
11:56:05FromGitter<jrfondren> recent activity's time-travelled, but current activity is fine.
11:57:23FromGitter<mratsim> @dom96 you're refactor doesn't launch main: https://github.com/nim-lang/redis/commit/4a610e136ae9e4b3855ecd3656b96148d7854ae4
11:57:26FromGitter<mratsim> your*
11:57:44FromGitter<mratsim> ah yes it does
11:57:45dom96Yes, I did that via another commit
11:58:35FromDiscord_<tay> I'd like to hack on the nim compiler code a bit, but I'm not really sure where to start. Any advice?
11:59:24FromGitter<mratsim> I think the best is to find an issue maybe tagged easy, and try to understand what is happening behing
11:59:28FromGitter<mratsim> behind*
11:59:41FromDiscord_<tay> Alright, thanks!
11:59:42FromGitter<jrfondren> I'd start with codegen: https://github.com/Nim-lang/Nim/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+label%3Acodegen
12:00:01FromGitter<mratsim> a useful tip, if you see {.magic:"Eq".} you need to search the compiler for mEq
12:00:20FromGitter<mratsim> i.e. prefix all magic with m to find them again in the compiler
12:00:32FromDiscord_<tay> Ah, that is useful, thank you!
12:00:43FromGitter<mratsim> avoid Generics/Static/typedesc/sigmatch (signature matching) because it's a mess
12:02:22FromGitter<kaushalmodi> Araq: are you here?
12:02:25FromGitter<mratsim> Here is a quick exercise you can do, before raising this RFC, I tried to check the implementation of == for ref types for compile-time equality in macros: https://github.com/nim-lang/RFCs/issues/131#issue-411054846
12:02:38FromGitter<mratsim> I found out that it uses rkNodeAddr
12:03:39FromGitter<mratsim> I started from here: https://github.com/nim-lang/Nim/blob/master/lib/system.nim#L445
12:04:02FromGitter<mratsim> Retrace my step and also end up at rkNodeAddr, that will bring you across the front end part of the compiler to the VM
12:05:29FromDiscord_<tay> Alright thanks, I'll start with that
12:06:49narimiran@mratsim what do you propose as a fix for `rand(-0.1..0.1)`?
12:07:01FromGitter<mratsim> already PR-ed ;)
12:07:23narimiranheh, it's easy when you're 7 hours ahead :D :D
12:07:53FromGitter<mratsim> @tay also don't try to take it all in, it's a huge beast. Just understand the path with an example in hand.
12:08:36narimiranbtw, what is the preference for types, `A or B` or `A|B`? i use the latter one, now i see @mratsim uses the former
12:10:36FromGitter<kaushalmodi> @mratsim I was casually looking at your float rand PR
12:10:50FromGitter<kaushalmodi> any idea how the doAsserts in the rand test work?
12:10:56FromGitter<mratsim> magic :p
12:10:58FromGitter<kaushalmodi> how are the rand outputs predictable?
12:11:08FromGitter<mratsim> I have a grasp of the randomness in the world :p
12:11:12FromGitter<kaushalmodi> :)
12:11:20FromGitter<mratsim> r is the RngState
12:11:37FromGitter<mratsim> if you always use the same state you will always get the same sequences
12:12:06FromGitter<mratsim> hence why randomness (aka entropy) on computer and especially server is a big issue
12:12:16FromGitter<kaushalmodi> unless if the `initRand` logic changes ..
12:12:50FromGitter<mratsim> We released an article yesterday on randomness at Status: https://our.status.im/two-point-oh-randomness/
12:13:19FromGitter<kaushalmodi> this is a good tip .. need to use initRand in my notes, because on each re-eval of all nim snippets, the rand outputs make the primary git noise
12:14:06PMunchnarimiran, thought more about the Nim tour?
12:14:09FromGitter<mratsim> That's like the first thing to do in data science and statistics models
12:15:17FromGitter<mratsim> My first lines after import in all data science projects is fixing all source of randomness: https://github.com/mratsim/humpback-whale-identification/blob/master/main001_pytorch_resnet101_cyclic_lr.py#L61-L67
12:15:20narimiranPMunch: haven't had much time to think about it, sorry.
12:15:35FromGitter<kaushalmodi> @mratsim got it, thanks :)
12:16:20PMunchNo worries, haven't done anything more with it myself
12:16:32PMunchOther than implementing the feature that makes it possible
12:16:32FromGitter<mratsim> in Arraymancer as well: https://github.com/mratsim/Arraymancer/blob/master/examples/ex06_shakespeare_generator.nim#L380-L381
12:18:07FromDiscord_<tay> @mratsim any hints on what file mEqRef is in? I'm assuming it's vmgen.nim or ccgexprs.nim but I can't find anything about rkNodeAddr
12:18:35FromGitter<mratsim> vmgen is code generation so it's later
12:19:03FromGitter<mratsim> basically I open VScode with 4 tabs, I search mEqRef
12:19:21FromDiscord_<tay> I was just using github search, but vscode seems easier
12:19:23FromGitter<mratsim> and I follow how it's transformed, but it's been a while so I don't remember
12:19:29FromGitter<mratsim> yeah don't try on GIthub
12:20:21narimiranPMunch: btw if you want to use some parts of Nim Basics for the tour, feel free to do so
12:21:36PMunchOoh, that could be nice
12:22:20FromGitter<mratsim> @kaushalmodi are you sure about the spaces around integers like 1..6 vs 1 .. 6 that seems super noisy
12:22:30xacenim tour?
12:23:58FromGitter<kaushalmodi> @mratsim I have been consistently doing that at least in my code. I was pleasantly surprised to see narimiran also do that in a recent doc update commit
12:24:21narimiranit is nit picking ;)
12:24:23FromGitter<kaushalmodi> I simply follow the rule to surround `..` and `..<` with spaces
12:25:47narimiran@kaushalmodi yes, i use spaces for things like `for i in 0 .. 10:`, but i don't for `a[0..10]`
12:26:04xacekaushalmodi: do you have a link to someone explaining why `..` and `..<` should be surrounded by spaces?
12:26:17FromGitter<kaushalmodi> xace: hehe https://scripter.co/notes/nim/#space-around-dot-dot
12:26:37FromGitter<kaushalmodi> I had to make up some rule for myself because I stumbled upon that issue linked in that link :D
12:26:43xacethank you, now maybe i can finally understand it :)
12:27:15FromGitter<kaushalmodi> I like living by rules; consistency is a bliss
12:27:48FromGitter<kaushalmodi> another set of "Nim & space" rules for proc calling: https://scripter.co/notes/nim/#no-space-between-proc-identifier-and-list-of-args-when-num-args-2
12:28:45narimiranbut don't be a slave to the rules ;)
12:29:13FromGitter<kaushalmodi> and I wish that this is fixed in Nim so that that "space around dotdot" truly applies everywhere: https://scripter.co/notes/nim/#issue-6788 :D
12:29:38narimiranone more example: i write `c = a * b` (with space around `*`), but if i have operators of different precedence, then this "rule" is gone: `d = a + b*c`
12:29:59PMunchxace, yes the new Nim playground has support for loading custom "tours" of a feature. We've been talking about creating an official one like the Go tour.
12:30:02FromGitter<kaushalmodi> narimiran: for those, I have an unwritten rule; use parens
12:30:11narimirannoise
12:30:34PMunchxace, https://play.nim-lang.org/index.html?tour=https%3A%2F%2Fplay.nim-lang.org%2Ftour.html <- the only tour that I know about so far
12:30:42FromGitter<kaushalmodi> well .. I like to set rules for such small things so that I can spend time on actual code rather than debugging code parsing issues
12:30:49*hecanjog quit (Ping timeout: 246 seconds)
12:32:05solitudesfredundant parens are not code, sometimes youll have to trust that parsing works
12:32:27narimiran`dist = sqrt((x * x) + (y * y) + (z * z))`? how is that better than `dist = sqrt(x*x + y*y + z*z)`?
12:32:58*hecanjog joined #nim
12:32:59FromGitter<kaushalmodi> It's not about "better"; it's about predictability
12:33:12xacePMunch: Oh, I see, I can keep that in mind
12:33:14narimiranok, how is that more predictable than ....? :D
12:33:33FromGitter<kaushalmodi> I like to be crystal clear if I meant `d = a + (b*c)` or `d = (a + b) * c`.
12:33:42xacekaushalmodi: lol the first link didnt explain much, but im still reading, your website seems useful, its way more complete than my own personal nim-wiki
12:34:01FromGitter<kaushalmodi> xace: those are my notes
12:34:07FromGitter<kaushalmodi> not meant to be a complete guide
12:34:21FromGitter<kaushalmodi> each set of notes in there has a link that led me to make that note
12:34:44FromGitter<mratsim> I prefer readability and not being confusing
12:34:57FromGitter<mratsim> floats have a dot so when using dodot I separate them cleanly
12:35:03xaceyeah, thats what i guessed from the url, but its helpful, atm im actually reading the full nim manual over time in hope to get a better grasp of the language...
12:35:04FromGitter<kaushalmodi> xace: https://github.com/nim-lang/Nim/issues/6216 led me to make that "space around dotdot" rule
12:35:09narimirani still think you can easier spot an error in my way of writing :) let me think of another example.... :D
12:35:09FromGitter<mratsim> integers don't so don't need to
12:35:25xaceyeah, thats the issue im reading
12:35:37FromGitter<mratsim> same thing with the 80 character rules, If I need 84 I'll do it
12:35:51narimiranagreed
12:36:05PMunchxace: https://play.nim-lang.org/index.html?tour=http%3A%2F%2Fix.io%2F1IoQ
12:36:06FromGitter<kaushalmodi> > floats have a dot so when using dodot I separate them cleanly ⏎ ⏎ my "space around dotdot" fits there nicely
12:36:11FromGitter<kaushalmodi> float or not :D
12:36:33*Snircle joined #nim
12:36:49FromGitter<mratsim> it puts attention on a trivial thing because you need more effort than necessary to parse it with integers
12:37:04FromGitter<mratsim> anyway feel free to add your own PR :P
12:37:05*nsf quit (Quit: WeeChat 2.4)
12:37:11FromGitter<jrfondren> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5cd2cd77bdc3b64fcf0ea275]
12:37:45FromGitter<mratsim> with operator symbol this is different
12:37:50FromGitter<kaushalmodi> exactly!
12:38:00FromGitter<kaushalmodi> why does a casual user need to worry about that?!
12:38:30xacekaushalmodi: regarding https://scripter.co/notes/nim/#no-space-between-proc-identifier-and-list-of-args-when-num-args-2 i recall the manual explicitly mentionening that when calling procedures having a space before the parenthesis makes the parenthesis act as a tuple, so as a calling convention it was recommended to not add a space before ()
12:38:33FromGitter<kaushalmodi> > anyway feel free to add your own PR :P ⏎ ⏎ I attempted once; the PR was rejected
12:38:37FromGitter<mratsim> why would a casual user use negative slices? :p
12:39:00FromGitter<kaushalmodi> well, we can go back and forth on this, and let's agree to disagree
12:39:11narimiranagreed :)
12:40:27FromGitter<mratsim> my argument is that consistency for the sake of consistency is bad, it should be in service of ergonomics or readability.
12:40:36xacePMunch: oh seems a little bit risky. Are you going to create a full tour by yourself?
12:40:50xacePMunch: because one thing i still dont understand with nim is parallel programming...
12:41:33PMunchxace, risky?
12:41:42narimiranxace: nobody does :P :D
12:41:51PMunchWell I was hoping to get help with the tour(s)
12:42:02FromGitter<jrfondren> I can simply agree with your argument. It doesn't follow that I would agree with your style. So your real argument is "spaces around .. is visually noisy"
12:42:10PMunchAnd yeah, parallel programming in Nim is still a bit of a mystery to me as well..
12:42:37PMunchI mean, I get all the basics stuff, but I always hit some snags when trying it out in practice
12:42:51FromGitter<jrfondren> I think it's fine. With tuple parsing the way it is Nim'll never space infected the way some C-like syntaxes get.
12:44:02FromGitter<jrfondren> like: `while ( foo ( %{ bar } ) ) { ... }`
12:44:10narimiran@jrfondren you said you would do async tutorial/cookbook the other day, right? maybe this could be done via PMunch's tour idea?
12:44:31FromGitter<jrfondren> I'm working on that, aye.
12:44:40narimiranwow, already! kudos!!
12:45:05FromGitter<jrfondren> it uses networking though so I'm not sure the tour would work that well for it. You'd want to connect multiple clients at the same time and talk between them.
12:45:17xacePMunch: yeah, incase someone manages to find a XXS entry somehow, but i guess you are managing these things already
12:45:34WilhelmVonWeinerwhy is this proc considered potentially impure? https://hastebin.com/kaguselucu.pl
12:45:34PMunchjrfondren, yeah that's not possible in the playground
12:45:41xacenarimiran: yeah "Nim & parallel programming: for humans" is the book that will keep me from having nightmares
12:46:07PMunchxace, certainly a possibility. But I've taken some measures in order to make it safer
12:46:40narimiranWilhelmVonWeiner: `a.high` is the problem, i think
12:46:46narimiranchange it to `body.high`
12:47:17WilhelmVonWeinerLOL. thanks.
12:47:22xacePMunch: maybe I could help, though my presence is a bit sporadic (mostly because when i go to bed and wake up the #nim channel has had a lot of discussion and i grow tired of reading it everyday)
12:47:24WilhelmVonWeinerschoolboy error.
12:47:40narimiranWilhelmVonWeiner: and are you sure you want to get rid of the last element of the `body`?
12:47:46WilhelmVonWeineryes.
12:48:01FromGitter<jrfondren> maybe Nim in Motion would be a good title for something focused on concurrency? I like the acronym.
12:48:12narimiranWilhelmVonWeiner: ok. then another question: why not use `deque` for prepending?
12:49:10WilhelmVonWeinerThis is just me trying to remember how certain things would/do/could work.
12:49:33WilhelmVonWeinerI'm not using that code for anything in particular
12:49:49PMunchxace, help with the tour? Sure! If you look at how the Go tour is structured it's a series of different topics. So just pick a topic and write something about it :)
12:50:35FromGitter<kaushalmodi> PMunch: is the tour repo in public?
12:51:06FromGitter<jrfondren> the way it works you can just point the tour at your own webpage
12:51:43PMunchkaushalmodi, I guess I should set up a repository of tours with a welcoming page
12:52:12FromGitter<kaushalmodi> yeah, also instructions on how to run the tour locally
12:52:30xacekaushalmodi after reading both issues and your notes i am even more confused regarding spaces and `..`
12:52:30FromGitter<kaushalmodi> i.e. would it be a bunch of static pages (using Hugo may be), or dynamic website? etc
12:53:04FromGitter<kaushalmodi> xace: why? you can decide to use that rule or not
12:53:08xacePMunch: yeah, ill take a look at it
12:53:59xacekaushalmodi: i was hoping for a explination of whats going on and why... but i guess i have to read it more thoroughly...
12:54:36FromGitter<kaushalmodi> the notes are just a digest of snippets for my reference with the conclusions I reached
12:54:42FromGitter<kaushalmodi> the blog form is just a byproduct
12:54:54FromGitter<kaushalmodi> so I can see why it's not giving you the full picture
12:54:57xaceyeah i get it, my notes are formed in a similiar manner
13:10:31FromGitter<arnetheduck> why does `new` exist in the language? can it do something that `T(xxx: yyy)` syntax cannot?
13:11:27FromGitter<liquid600pgm> I guess it's for convenience when creating `ref T`
13:12:17FromGitter<liquid600pgm> `(ref T)(x: y)` looks pretty ugly, even if it makes sense
13:12:38FromGitter<liquid600pgm> I don't know if that syntax even is valid
13:13:05FromGitter<liquid600pgm> !eval type A = object ⏎ let something = (ref A)()
13:13:07NimBotCompile failed: in.nim(1, 17) Error: invalid indentation
13:13:24FromGitter<liquid600pgm> hmm
13:13:49FromGitter<liquid600pgm> !eval ⏎ type Something = object ⏎ x: int ⏎ let something = (ref Something)(x: 2) [https://gitter.im/nim-lang/Nim?at=5cd2d60d79d7005099363aec]
13:13:50NimBotCompile failed: in.nim(1, 29) Error: invalid indentation
13:14:05*rnrwashere joined #nim
13:14:07FromGitter<liquid600pgm> aah, gitter doesn't preserve indentation
13:14:08FromGitter<liquid600pgm> annoying
13:14:12PMunchplay.nim-lang.org/tours and github.com/PMunch/nimtours
13:14:13*hecanjog quit (Ping timeout: 246 seconds)
13:14:44PMunchliquid600pgm, I'm pretty sure the NimBot looks at the IRC version of that code
13:15:02FromGitter<liquid600pgm> yeah, that seems true
13:15:24FromGitter<liquid600pgm> and of course, because IRC doesn't support line breaks, compilation fails
13:15:33PMunchYup
13:16:06FromGitter<liquid600pgm> but yeah this http://ix.io/1IoW/nim, although ugly, is valid syntax
13:16:28PMunchhttps://play.nim-lang.org/index.html?ix=1IoX
13:16:52PMunchOr https://play.nim-lang.org/index.html?ix=1IoW to use your snippet
13:17:09*hecanjog joined #nim
13:17:39PMunchkaushalmodi, xace: play.nim-lang.org/tours and github.com/PMunch/nimtours
13:18:12FromGitter<kaushalmodi> Thanks
13:18:59FromGitter<kaushalmodi> PMunch: you're hand-writing the HTML?
13:20:05PMunchYes
13:20:16PMunchFeel free to make a tool for it
13:20:27PMunchOr use a tool
13:20:44PMunchAs long as the output is structured like the example tour it should be fine
13:22:21FromGitter<kaushalmodi> Ok, I won't be able to commit time as of right now. But if I check in 2 weeks, and if the opportunity is still there, I'd try using Hugo to generate that.
13:22:47leorize[m]the example tour doesn't work well on phone :p
13:24:29PMunchleorize[m], I don't think any tour will work well on phone..
13:25:30leorize[m]switch the layout to horizontal
13:25:57PMunch?
13:26:15*rockcavera quit (Remote host closed the connection)
13:26:17leorize[m]the vertical real estate on a phone screen is non-existent :p
13:26:18dom96PMunch consider using Karax, for real
13:26:30dom96It's such an amazing framework
13:26:31leorize[m]wait I meant the reverse :p
13:26:36PMunchdom96, I know, it's on my TODO list
13:26:45PMunchleorize[m], yeah I was confused there for a second :P
13:27:13dom96let me know if you run into any blockers
13:27:56leorize[m]PMunch: used i3 for too long :p
13:28:05dom96also, https://play.nim-lang.org/index.html?ix=1IoX should be https://play.nim-lang.org/ix/1IoX :P
13:28:23PMunchleorize[m], pfft that's impossible!
13:28:54PMunchdom96, well the way it works is that index.html actually queries the server for the data to put in the editor
13:29:16dom96yeah, I figured
13:29:33PMunchThis was all thrown together in a hurry :P
13:31:09narimiranleorize[m]: i guess i'm not the only one who wants min_length in asyncomplete :) https://github.com/prabirshrestha/asyncomplete.vim/pull/135
13:48:19PMunchhttps://github.com/PMunch/nim-playground-frontend
13:48:35PMunchUploaded the source for the front-end, in case anyone wants to play around with it
13:49:23leorize[m]maybe I could try making a karax version of it
13:50:27PMunchFeel free :)
13:50:30leorize[m]I did use karax recently but the entire VComponent scheme doesn't work as I expected however :/
13:51:13dom96Note that there already is a Karax front end for the playground
13:51:14dom96It just needs some small fixes
13:51:26dom96https://github.com/zacharycarter/nim-playground-frontend
13:51:32dom96(It actually abuses karax a bit)
13:52:08dom96I can help you fix those problems, I already did so for my obfuscator: https://picheta.me/obfuscator
13:52:23Araqleorize[m], components are fundamentally incompatible with the ideas of DOM diffing anyway
13:54:31leorize[m]that's why things doesn't work then :P
13:54:48*PMunch quit (Remote host closed the connection)
13:55:02leorize[m]I was rather surprised that the forum wasn't using any components
13:55:37Araqcheck out nativenodes.nim
13:56:14dom96leorize[m] depends what you mean by "components"
13:56:51leorize[m]VComponent
13:57:16Araqdom96, he means some stuff with state in it so that you can "hide" the state away so that you can continue to write state sync bugs everywhere
13:57:20leorize[m]I don't understand how they kept the state
13:57:25leorize[m]but a lot of times things just won't update
13:58:34AraqI spent months on this shit, in the end it worked as designed but people don't understand the design, it's fundamentally a mind fuck
13:59:16Araqand indeed Elm simply doesn't support it at all
14:00:43Araqdon't keep state in the virtual DOM, problem solved.
14:01:00Araqeverything else is an exercise in masochism
14:01:18dom96The way I've done it in the forum is IMO beautiful
14:01:25leorize[m]:p
14:01:44dom96Each module is a "component"
14:02:08dom96For example: editbox.nim defines an `EditBox` type
14:02:24dom96You create a EditBox object and call `render` on it
14:03:09leorize[m]Well it's my first attempt at doing web stuff, in a hurry :p
14:03:14dom96and at the very top of this you just have a global state: https://github.com/nim-lang/nimforum/blob/master/src/frontend/forum.nim#L47
14:03:17leorize[m]and yea, that seems to be the better way
14:03:59leorize[m]I used VComponent because I thought it just abstract that part for me :p
14:04:27FromGitter<alehander42> The hardest part is working with stuff like Monaco
14:04:31FromGitter<alehander42> Or other libs
14:05:12dom96We could totally hide this state behind some cute macro as well if we really want
14:05:16FromGitter<alehander42> Where you just want to say this node is handled by other code but to still base it on the same data and make it change on the same redraw actions
14:05:20dom96to make everyone more comfortable :)
14:07:38dom96We need to market Karax better
14:08:47leorize[m]having docs available is a good start
14:09:14dom96indeed
14:09:37leorize[m]I've never done web dev, so I don't understand how all this worked :p I managed to pull off something with karax based on pure guessing of the code
14:09:56dom96yeah, I had the advantage that I used React
14:10:08dom96so I applied what I've learned to my usage of Karax
14:21:17*leorize joined #nim
14:22:36Araqalehander42: checkout experiments/nativenodes.nim
14:24:33*rnrwashere quit (Remote host closed the connection)
14:25:09*rnrwashere joined #nim
14:29:47*rnrwashere quit (Ping timeout: 248 seconds)
14:38:36*rnrwashere joined #nim
14:43:07*hecanjog quit (Ping timeout: 248 seconds)
14:47:13*rnrwashere quit (Remote host closed the connection)
14:49:51*rnrwashere joined #nim
15:06:20*Xe quit (Quit: WeeChat 1.9.1)
15:07:06*rnrwashere quit (Remote host closed the connection)
15:07:38*rnrwashere joined #nim
15:10:42*rnrwashere quit (Remote host closed the connection)
15:11:48*rnrwashere joined #nim
15:16:55shashlickfinished up a bunch of nimterop improvements last night
15:17:21shashlickcleaner output, bug fixes, pragmas are consolidated
15:17:28shashlickcomments are saved inline
15:17:44shashlick@leorize, added support for char enums
15:18:48*rnrwashere quit (Remote host closed the connection)
15:25:21FromGitter<kaushalmodi> huh, what a coincidence, someone else also likes "spaces around dotdot" :D: https://github.com/nim-lang/Nim/pull/11185/files
15:25:25FromGitter<kaushalmodi> Thanks @Clyybber
15:37:49FromDiscord_<!!Liam is Unlucky> I am confused by c2nim it gave the Error: did not expect # for a line which didn't have a # (it was a comment: //)
15:38:46FromGitter<kayabaNerve> Wait, 0..1 vs 0 .. 1?
15:38:52FromGitter<kayabaNerve> Ofc spaces ftw
15:39:00*abm quit (Quit: Leaving)
15:39:32FromGitter<kaushalmodi> @kayabaNerve No, that commit wasn't just adding spaces .. it replaced the `countUp` with ` .. ` syntax, but with surrounding spaces
15:39:44FromGitter<liquid600pgm> I prefer to not have spaces in ranges, but it's a necessity in other operators
15:39:48FromGitter<kayabaNerve> Good
15:42:43*rnrwashere joined #nim
16:01:14*Trustable joined #nim
16:24:58*SenasOzys joined #nim
16:25:01*rnrwashere quit (Remote host closed the connection)
16:25:07*nimer joined #nim
16:34:27*rnrwashere joined #nim
16:37:01nimerhello all, i am trying to crosscompile nim program in windows targetting linux, but getting "<sys/mmap.h> file is not found"
16:37:34nimerif i do it from linux, targetting windows, it shows "<windows.h> not found.
16:38:10FromGitter<liquid600pgm> to compile from Linux to Windows, you need to have the MinGW toolchain installed on your machine
16:38:38FromGitter<liquid600pgm> don't know what's needed to compile from Windows to Linux, though
16:40:01*rnrwashere quit (Remote host closed the connection)
16:40:14nimerthanks FromGitter, i will check it
16:40:14FromGitternimer, I'm a bot, *bleep, bloop*. I relay messages between here and https://gitter.im/nim-lang/Nim
16:40:21nimeroopss sorry
16:40:53FromGitter<liquid600pgm> no problem
16:44:34*nimer left #nim (#nim)
17:02:42*Vladar quit (Remote host closed the connection)
17:10:46FromGitter<liquid600pgm> I'm getting this strange linker error: `/usr/bin/ld: /home/daknus/.cache/nim/planet_overgamma_d/_7_7_7_7.nimble7pkgs7rapid-0.1.07rapid7gfx7surface.c.o: file not recognized: file truncated`
17:16:07*Trustable quit (Remote host closed the connection)
17:16:11BitPuffinAraq: is any of the owned stuff in the language yet or is it conceptual for now
17:16:34narimiranBitPuffin: you can try it with `--newruntime`
17:17:00FromGitter<liquid600pgm> clearing the nimcache fixed the issue, nevermind
17:17:47BitPuffinnarimiran (@freenode_narimiran:matrix.org): neat!
17:19:28*shashlick quit (Ping timeout: 255 seconds)
17:20:45*rockcavera joined #nim
17:28:38*rnrwashere joined #nim
17:33:18*Xe joined #nim
17:44:45*jjido joined #nim
18:07:57*rnrwashere quit (Remote host closed the connection)
18:08:36*theelous3 joined #nim
18:16:14*rnrwashere joined #nim
18:21:36*rnrwashere quit (Remote host closed the connection)
18:23:11*rnrwashere joined #nim
18:25:49*rnrwashere quit (Remote host closed the connection)
18:27:39*rnrwashere joined #nim
18:29:53*rnrwashere quit (Remote host closed the connection)
18:32:02*rnrwashere joined #nim
18:34:15*rnrwashere quit (Remote host closed the connection)
18:41:36dom96So er, chronos is completely refactored
18:42:06FromGitter<jrfondren> meaning, it's very difficult to see what the meaningful changes were?
18:42:19dom96No wonder Status isn't planning to contribute back to async/await
18:43:12dom96Meaning the already small number of Nim packages that use async IO will be split up forever
18:45:40*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:47:35Zevvwhy is that?
18:48:47dom96because all the packages that depend on chronos will have a separate event loop to all the ones that depend on Nim's async/await
18:50:26Zevvwow, that is bad indeed
18:50:31solitudesfyikes
18:57:14krux02Well I guess, then effort needs to be done to merge the event loops of async/await with chronos?
18:58:31*rnrwashere joined #nim
19:01:14*elrood joined #nim
19:02:22*jjido joined #nim
19:03:25dom96krux02, you mean run them at the same time?
19:03:43krux02no, that is not what I mean.
19:03:47dom96or do you mean merge their code with ours, if the latter then yes, I would love to do that, but they basically changed how the fundamentals work
19:03:56dom96and broke a lot of the API
19:04:05Zevvwhat whas their reason for that?
19:04:12krux02they probably had good reasons to do that.
19:05:10krux02The reason is probably to get stuff done and the async/await in Nim just didn't do the job and was hard to maintain, so they just want with their own version so they don't need to care about the rest of the wordl.
19:07:36krux02But that is the common problem of event loops and frameworks, they don't combine.
19:07:51Zevveverywhere the same
19:08:16ZevvThe rationale seems fair enough: https://github.com/status-im/nim-chronos
19:08:51krux02That is also the reason why I wrote my OpenGL sandboy the way I did. It is basically a game engine that requires you to write the game loop
19:09:28*seni quit (Quit: Leaving)
19:14:15*rnrwashere quit (Remote host closed the connection)
19:15:01dom96Zevv, which rationale?
19:15:45dom96All I see in there is a list of things that are different about it
19:18:22*rnrwashere joined #nim
19:20:27*rnrwashere quit (Remote host closed the connection)
19:25:23Zevvwell, they state their reasons for changing some of tem
19:32:35Zevvless callback types, allowing user data with callbacks (albeit generic pointers), using fastEpochTime()
19:40:30*elrood quit (Remote host closed the connection)
19:48:33*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:53:52*nsf joined #nim
19:53:55*narimiran quit (Ping timeout: 246 seconds)
19:57:44FromGitter<iffy> How do I use some global variable in an asynchttpserver callback? I'm getting GC warnings. I'm happy to do the locking myself, but I don't know how
20:00:04Zevvgood question
20:02:39Zevvhttps://github.com/dom96/nim-in-action-code/issues/6
20:03:32*shashlick joined #nim
20:04:03FromGitter<iffy> Maybe using https://nim-lang.org/docs/locks.html and marking the cb {.gcsafe.} is enough?
20:04:26FromGitter<iffy> Though I still get warnings
20:05:19Zevvsee the above link for a discussion
20:09:17FromGitter<mratsim> global variables are not GC-safe
20:11:56*theelous3_ joined #nim
20:15:02*theelous3 quit (Ping timeout: 250 seconds)
20:15:04*gsingh93 quit (Ping timeout: 250 seconds)
20:15:29*dvn quit (Ping timeout: 250 seconds)
20:22:20*gsingh93 joined #nim
20:27:02FromGitter<liquid600pgm> why when I multiply a vector (0, 0) by a translate(128, 128) (`matrix * vector`) do the vector components not become (128, 128)?
20:27:36FromGitter<liquid600pgm> everything works when I do scaling or rotation, only translation doesn't work
20:28:14*clyybber joined #nim
20:28:22FromGitter<liquid600pgm> I'm using nim-glm, by the way
20:30:09*dvn joined #nim
20:30:34Zevvmratsim: the question that keeps coming back is: why does asyncHttpServer enforce gc-safety, while any other generic async usage does not?
20:31:03FromGitter<mratsim> dunno
20:31:06ZevvI can make my own http server in 5 lines of async code, which does not require gc safety.
20:31:37ZevvI've been asking this question from my second day of nim, and still I don't know. Araq does not seem to understand why I still do not understand :)
20:31:38FromGitter<mratsim> I don't know about GLM but in linear algebra a translation is a sum
20:32:00FromGitter<mratsim> @lqdev ^
20:33:11*clyybber quit (Quit: WeeChat 2.4)
20:34:57FromGitter<mratsim> so you need to multiply by a mtrix that does (0+128, 0+128) to your vector
20:35:17FromGitter<liquid600pgm> yeah, and creating a matrix ⏎ ⏎ ```[[1.0, 0.0, x], ⏎ [0.0, 1.0, y], ⏎ [0.0, 0.0, 1.0]]``` ⏎ ⏎ and doing `matrix * vec3(x, y, 0.0)` doesn't translate at all [https://gitter.im/nim-lang/Nim?at=5cd33d85da34620ff90a367c]
20:35:56FromGitter<jrfondren> @Zevv, threads have their own garbage-collected heap, and there's a requirement to avoid sharing of memory from different heaps, so my guess would be that asyncHttpServer uses threads more than other modules
20:36:43FromGitter<mratsim> SHouldn't it be: ⏎ ⏎ ```[[1.0, 0.0, 128], ⏎ [0.0, 1.0, 128], ⏎ [0.0, 0.0, 1.0]]``` ⏎ ⏎ Or something similar? [https://gitter.im/nim-lang/Nim?at=5cd33ddb252dbb751522fe52]
20:36:53FromGitter<jrfondren> a guess that is immediately denied by a grep -i thread...
20:36:53Zevvjrfondren: no threads in asynchHttpServer
20:37:09Zevvthus my question still standing after a year and a half
20:37:26FromGitter<liquid600pgm> @mratsim yeah, that's exactly what I'm doing
20:37:44FromGitter<liquid600pgm> but z is getting astronomically large values instead
20:37:55FromGitter<liquid600pgm> I think this might be a nim-glm bug
20:38:00ZevvMy suspicion is that gc-safeity is actually *not* required for asynchttpserver, that it is a leftover from long ago. Digging through git log I see these were added to 'fix compilation' of modules, and later propagated through the code.
20:38:03FromGitter<mratsim> sounds like floating point casting bug
20:38:16ZevvBut I can now remove the pragmas from asynchttpserver, and the underlying async code is perfectly happy.
20:38:51FromGitter<liquid600pgm> no, the problem is that the z gets a value even though it should be 0
20:39:30FromGitter<mratsim> https://github.com/stavenko/nim-glm/blob/master/glm/mat.nim#L335-L337
20:40:04FromGitter<liquid600pgm> oh great, I have to do everything manually
20:40:08FromGitter<mratsim> I'm not sure if that means going by rows or by columns
20:41:12FromGitter<mratsim> Try with ⏎ ⏎ ```[[1.0, 0.0, 0.0], ⏎ [0.0, 1.0, 0.0], ⏎ [128.0, 128.0, 1.0]]``` ⏎ ⏎ Just in case [https://gitter.im/nim-lang/Nim?at=5cd33ee85a887e1cd9b444bd]
20:41:32FromGitter<mratsim> would be strange to use FOrtran convention though
20:42:18FromGitter<iffy> Zevv, thanks for the link
20:42:19FromGitter<liquid600pgm> now z is not large, but the translation still isn't there
20:42:42FromGitter<liquid600pgm> I'll solve this tommorow, I'm going to sleep now
20:42:44FromGitter<liquid600pgm> goodnight
20:42:45*jjido joined #nim
20:43:58Zevviffy: y.w.
20:50:34FromGitter<dom96> Zevv: does it still work with threads enabled when you remove that pragma?
20:52:00*nsf quit (Quit: WeeChat 2.4)
20:52:01*al_ joined #nim
20:52:22*al_ quit (Client Quit)
20:53:21*clyybber joined #nim
21:43:08*solitudesf quit (Ping timeout: 252 seconds)
22:04:28AraqZevv: you might be right but use --threads:on to be sure
22:05:09*rnrwashere joined #nim
22:08:42*krux02 quit (Remote host closed the connection)
22:09:31*rnrwashere quit (Ping timeout: 248 seconds)
22:12:00FromDiscord_<treeform> Why does the forum gets posts like this at the top: https://forum.nim-lang.org/t/2217
22:12:17FromGitter<jrfondren> spam.
22:12:22FromDiscord_<treeform> Last thing it says "3 YEARS SINCE LAST REPLY"
22:12:28FromGitter<jrfondren> hidden spam.
22:12:51FromDiscord_<treeform> if spam was hidden why can't it go back to whatever date it was before?
22:12:59FromDiscord_<treeform> and float off the home page
22:12:59FromGitter<jrfondren> it could go back, it's just coded that way.
22:13:08FromGitter<jrfondren> it sorts threads without regard for whether a moderator has permitted the spam to be visible or not
22:15:59*JappleAck joined #nim
22:23:53*xet7 joined #nim
22:26:09clyybbermratsim: regarding your issue with the names, the rulse are here: https://github.com/nim-lang/Nim/blob/aa768574620c46b1ecc4c63f202a4fdb24c4b3f1/compiler/packagehandling.nim#L44
22:26:35clyybberor did you mean the rulse, as to when those names are gonna be changed according to the above?
22:30:34FromGitter<mratsim> so I have to reverse-engineer the multireplace to put it in my nim.cfg :/ so ugly
22:31:36FromGitter<mratsim> @treeform, you can PR nimforum, that annoys me as well
22:45:20*Jesin quit (Quit: Leaving)
22:54:50FromGitter<mratsim> Mindblowing parser bug :P - https://github.com/nim-lang/Nim/issues/11209
23:06:56*Jesin joined #nim
23:08:25*stefanos82 quit (Remote host closed the connection)
23:10:55clyybbermratsim: Should it compile in your opinion?
23:11:07FromGitter<mratsim> yes
23:12:58clyybberok, I think I have a fix
23:17:47noonienhow can i check at compiletime if an enum value exists? given its name
23:23:29noonienhehe, nvm
23:59:53*jjido quit (Quit: My MacBook has gone to sleep. ZZZzzz…)