<< 05-01-2019 >>

00:04:58*lritter quit (Quit: Leaving)
00:12:34*vivus quit (Remote host closed the connection)
00:17:45*Notkea quit (Read error: Connection reset by peer)
00:18:03*Notkea joined #nim
01:04:55*Trustable quit (Remote host closed the connection)
01:21:17*rect0x51 left #nim ("WeeChat 2.3")
01:22:55FromDiscord_<treeform> Help, I am in deep trouble, I upgraded nim to newest version and it breaks my code, so I am trying to downgrade back, because while I was doing a critical bug happened. But instructions to compile old nim do no work. Please help. I am trying compile 18.0 and get:
01:22:56FromDiscord_<treeform> ../lib/system.nim(3216, 52) Error: enable the 'not nil' annotation with {.experimental: "notnil".}
01:23:35FromDiscord_<treeform> I should always backup my Nim directory ... lesson leanred
01:24:15FromGitter<dom96> Tried choosenim?
01:24:52FromDiscord_<treeform> no, I always did the git thing
01:25:21FromGitter<dom96> It looks like you've got some newer or older stdlib somewhere though
01:25:38FromGitter<dom96> You can try removing Nim completely and trying again
01:28:56FromDiscord_<treeform> good idea
01:42:07*theelous3 joined #nim
01:50:06*zachk quit (Quit: Leaving)
01:51:20FromGitter<arnetheduck> what works for me in those situations is actually to remove choosenim from path
01:51:27FromDiscord_<treeform> ok I got it working and it compiles the js code correctly
01:52:01FromDiscord_<treeform> man this bug really ruined my day today: https://github.com/nim-lang/Nim/issues/10202
02:02:16*codevance[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:04:54*monofuel[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:07:27*Redfoxmoon joined #nim
02:14:19*stisa[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:18:18*zacharycarter[m4 quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:19:57FromGitter<zacharycarter> treeform - I'm not sure that's a bug...
02:20:08FromGitter<zacharycarter> sequences don't have an mpairs iterator - only tables do
02:20:17FromGitter<zacharycarter> maybe this worked before because it's JS?
02:20:40*planetis[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:22:47*jaens[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:23:51FromGitter<zacharycarter> I left a comment on the issue - it seems to me the actual bug is allowing mpairs to be called on a sequence
02:24:15*gh0st[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:26:45*notbot[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:26:47FromGitter<zacharycarter> also..... I don't get this error with 0.19.0
02:30:46*MrAxilus[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:30:55FromGitter<zacharycarter> I do get the RT error with devel - I mentioned that in my comment as well. The issue title correctly references 0.19.9 but the issue description mentions 0.19.0
02:31:26FromGitter<zacharycarter> I also tried changing the example to use `mitems` instead of `mpairs` (although I also had to ditch the index variable) and the code ran fine
02:31:49FromGitter<zacharycarter> I have a feeling this is just JS
02:32:02FromGitter<zacharycarter> and it's weak typing - wreaking havoc
02:33:30*syntonym[m] quit (Quit: removing from IRC because user idle on matrix for 30+ days)
02:35:17*Tyresc quit (Quit: WeeChat 2.4-dev)
02:44:18FromGitter<zacharycarter> nm treeform - my mistake, saw your comment
02:49:39FromGitter<timotheecour> treeform see build_all.sh + 1 added a comment in there recently
03:00:35*banc quit (Quit: Bye)
03:25:10*banc joined #nim
04:09:16*thomasross quit (Ping timeout: 258 seconds)
04:17:34*abm quit (Quit: Leaving)
04:28:41*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
04:43:33*wildlander quit (Quit: Konversation terminated!)
04:44:43*wildlander joined #nim
05:02:11*dddddd quit (Remote host closed the connection)
05:24:07*theelous3 quit (Ping timeout: 240 seconds)
05:30:42*theelous3 joined #nim
05:47:39FromGitter<zacharycarter> https://news.ycombinator.com/item?id=18825102
05:48:48FromGitter<zacharycarter> on the front page of HN
06:05:34*nsf joined #nim
06:14:32*kapil____ joined #nim
06:17:36*theelous3 quit (Ping timeout: 268 seconds)
06:40:25*theelous3_ quit (Ping timeout: 268 seconds)
06:48:15*theelous3 joined #nim
07:04:53*wildlander quit (Quit: Konversation terminated!)
07:18:34*narimiran joined #nim
07:22:01*sheerluck joined #nim
07:51:34FromGitter<timotheecour> @araq are you here
08:12:20FromGitter<alehander42> @narimiran nice doc thread
08:12:53narimiran@alehander42 thanks :)
08:13:09FromGitter<alehander42> absolutely offtopic about it, just wondering, does anybody find the background color weird
08:13:21narimiranwhere?
08:13:22FromGitter<alehander42> it somehow reminds of an old newspaper
08:13:24FromGitter<alehander42> the docs
08:13:40FromGitter<alehander42> i mean, it's not white, but it's not exactly gray
08:13:45*d10n-work quit (Quit: Connection closed for inactivity)
08:15:02narimiranyeah, it has reddish (is that a word?) tint
08:16:19narimiranchanging background to #FDFDFD, and text color to #333 seems to improve it for me. thoughts?
08:16:38FromGitter<alehander42> i am just playing with that
08:16:40FromGitter<alehander42> a second
08:17:39FromGitter<alehander42> hm yeah, the background seems much better subjectively
08:17:48FromGitter<alehander42> interesting, I like it more than #fff
08:19:21narimiranthis will be the easiest change towards better docs by far :D
08:19:45FromGitter<alehander42> no, I can't really find a difference between #fff and #fdfdfd , maybe i got an optical illusion
08:20:02FromGitter<alehander42> but yeah, it seems fresher to me
08:21:01narimiranputting it to my todo list
08:23:30narimiranyes #fdfdfd and #fff look quite the same. what about #fcfcfc? do you notice the difference?
08:24:09narimiranbut whatever is chosen, it should get rid of that "old newspaper" tint
08:25:50FromGitter<alehander42> very slight, but yeah
08:26:04FromGitter<alehander42> i feel if there is a tint at all, it's better to be blue-ish, or green-ish
08:26:15FromGitter<alehander42> but neutral white still seems fine
08:31:19*vlad1777d joined #nim
08:43:13*Vladar joined #nim
08:52:37*rayman22201 quit (Ping timeout: 256 seconds)
09:20:45*vlad1777d quit (Ping timeout: 268 seconds)
09:48:11*cspar quit (Ping timeout: 244 seconds)
09:48:30*cspar joined #nim
10:18:01*stefanos82 joined #nim
10:25:22*theelous3 quit (Remote host closed the connection)
10:30:43*rect0x51 joined #nim
10:34:48narimirandom96: you here?
10:37:28*Vladar quit (Remote host closed the connection)
10:37:52*Vladar joined #nim
10:41:52rect0x51`let x = Obj(arg1, arg2)` can't be done, right?
10:44:23narimiranrect0x51: `let x = Obj(a: arg1, b: arg2)`
10:44:47narimirantuples can be positional only
10:45:40rect0x51Oh damn, my bad.
10:48:19*hoijui joined #nim
10:52:38rect0x51how do you box an int?
10:52:55FromGitter<alehander42> box?
10:53:07rect0x51have to wrap it in an object?
10:53:15rect0x51allocate it on heap
10:53:52FromGitter<alehander42> you can use `new`
10:54:05FromGitter<alehander42> but this is rather unusual
10:56:29*NimBot joined #nim
10:56:33*Miguelngel[m]1 quit (Remote host closed the connection)
10:56:36*spymasterd[m] quit (Read error: Connection reset by peer)
10:56:38*xylef quit (Read error: Connection reset by peer)
10:56:39*dyce[m] quit (Remote host closed the connection)
10:56:39*zielmicha[m]2 quit (Remote host closed the connection)
10:56:39*narimiran[m] quit (Remote host closed the connection)
10:56:40*serialdev[m] quit (Remote host closed the connection)
10:56:40*ArchieT[m] quit (Remote host closed the connection)
10:56:41rect0x51`var x: int; new(x)` or `var x: ref int; new(x)` doesn't work
10:56:42*k0mpjut0r quit (Remote host closed the connection)
10:56:43*sg-james[m]1 quit (Remote host closed the connection)
10:56:43*Connor[m] quit (Read error: Connection reset by peer)
10:56:46*petersjt014[m] quit (Read error: Connection reset by peer)
10:56:46*ee7[m] quit (Remote host closed the connection)
10:56:46*GitterIntegratio quit (Write error: Connection reset by peer)
10:56:47*endes[m] quit (Remote host closed the connection)
10:56:47*TheManiac[m] quit (Remote host closed the connection)
10:56:47*hohlerde quit (Remote host closed the connection)
10:56:49*sendell[m] quit (Read error: Connection reset by peer)
10:56:51*exothermic[m] quit (Remote host closed the connection)
10:56:51*pqflx3[m] quit (Remote host closed the connection)
10:56:53*macsek1911[m] quit (Remote host closed the connection)
10:56:53*yglukhov[m] quit (Read error: Connection reset by peer)
10:56:54*toofly[m]1 quit (Read error: Connection reset by peer)
10:56:55*Demos[m] quit (Remote host closed the connection)
10:56:56*TheKing[m] quit (Read error: Connection reset by peer)
10:56:56*xomachine[m] quit (Read error: Connection reset by peer)
10:59:05rect0x51wow what happened? (copy-pasting to bring down): `var x: int; new(x)` or `var x: ref int; new(x)` doesn't work
11:02:59rect0x51oh, nvm, `var x: ref int; new(x)` works, I just had to dereference x afterwards (with x[])...
11:07:01*dyce[m] joined #nim
11:08:12*Trustable joined #nim
11:18:44*Connor[m] joined #nim
11:18:44*TheKing[m] joined #nim
11:18:44*xylef joined #nim
11:18:44*Demos[m] joined #nim
11:18:44*ArchieT[m] joined #nim
11:18:45*GitterIntegratio joined #nim
11:18:45*sendell[m] joined #nim
11:18:45*k0mpjut0r joined #nim
11:18:45*serialdev[m] joined #nim
11:18:51*zielmicha[m] joined #nim
11:18:51*spymasterd[m] joined #nim
11:18:51*TheManiac[m] joined #nim
11:18:51*Miguelngel[m] joined #nim
11:18:51*ee7[m] joined #nim
11:18:51*macsek1911[m] joined #nim
11:18:52*narimiran[m] joined #nim
11:18:52*exothermic[m] joined #nim
11:18:52*endes[m] joined #nim
11:18:52*toofly[m] joined #nim
11:18:52*pqflx3[m] joined #nim
11:18:52*yglukhov[m] joined #nim
11:18:52*hohlerde joined #nim
11:18:53*sg-james[m] joined #nim
11:18:53*xomachine[m] joined #nim
11:18:53*petersjt014[m] joined #nim
11:26:07*Cthalupa quit (Ping timeout: 246 seconds)
11:28:50FromGitter<Clyybber> @arnetheduck Is `cdecl` supposed to work with nlvm?
11:29:47FromGitter<mratsim> nlvm doesnt work with C FFI AFAIK
11:30:18FromGitter<Clyybber> It supports importc
11:31:30FromGitter<Clyybber> But yeah, cdecl doesn't make much sense in the context of nlvm
11:33:03Zevvrect0x51: check {.experimental: "implicitDeref".}
11:33:22Zevvdoesn't always do what you'd expect, that's probably why it is still experimental
11:37:19rect0x51Zevv: wasn't aware of this pragma, thanks!
11:49:44*Cthalupa joined #nim
11:50:19Zevvanother one I like a lot is "callOperator"
11:50:26Zevvwhich allows you to 'call' an object
11:51:31FromGitter<Clyybber> Zevv: Is there a list of those experimental pragmas?
11:51:40Zevvoptions.nim:119 :)
11:51:48FromGitter<Clyybber> Thank you!
11:53:46rect0x51what does calling an object mean?
11:54:12Zevvyou can provide a `()`[T] proc for your object
11:54:14Zevvwait a sec
11:55:09rect0x51but then what happens with the default constructor?
11:55:39rect0x51hmm, ok it doesn't have to confict
11:56:32Zevvhttp://paste.debian.net/1058765/
11:57:12rect0x51nvm, the constructor uses the type's name, not the object's
11:57:18Zevv:)
11:58:27rect0x51I see, nice one. So `()` is otherwise not overloadable?
11:59:51Zevvt.nim(9, 1) Error: the overloaded () operator has to be enabled with {.experimental: "callOperator".}
11:59:54Zevvseems so
12:05:14rect0x51Except of Nim, C++ and D; which languages do CTFE? This feature seems too powerful to ignore.
12:05:33Zevvdoes C++?
12:05:37Zevvnever knew that
12:05:37*hoijui quit (Ping timeout: 250 seconds)
12:05:40rect0x51with constexpr, no?
12:05:47AraqI guess Haxe and Julia can do it too, they too, have a powerful macro system
12:05:47Zevvah true
12:06:20rect0x51I am really fascinated by this feature.
12:06:27ZevvI believe I once saw it in ada as well
12:06:39Araqno Ada doesn't have anything like that
12:06:52Zevvok :)
12:08:15rect0x51but it seems to be at least a post 20th century feature.
12:08:34AraqLisp!
12:08:41rect0x51haha
12:08:41Zevvlisp can do anything, that's not fair
12:08:49Araqbut Lisp doesn't have a clean runtime vs compiletime distinction IMO
12:08:54ZevvForth!
12:08:55Araqso I guess it doesn't really count
12:08:55rect0x51yeah
12:09:40ZevvI made a forth once, now I know *all* about compilers and interpreters. Making a forh makes you a true god.
12:09:54Zevvunfortunately, I still don't understand 95% of Nim internals
12:10:20Araqit's just a bunch of text files with no novel algorithms used anywhere
12:10:58ZevvIf there were two Araq's, one could work on Nim while the other writes the book
12:11:22rect0x51Araq, which files are you talking about?
12:11:34Zevvcompiler/*.nim
12:12:32rect0x51perhaps novelty can come from just refinement sometimes
12:14:37FromGitter<Clyybber> The CFG in dfa.nim is pretty cool
12:14:56*Snircle joined #nim
12:16:29Zevvaccording to git noone but Araq ever dared to touch that :)
12:32:59AraqI thought cooldome touched it
12:37:04*dddddd joined #nim
12:46:15FromGitter<arnetheduck> @Clyybber `cdecl` is generally not needed with `nlvm`, it's the default (then the optimizer changes to a different one when it's safe to do so)
12:46:49FromGitter<Clyybber> Hmm, ok. I'm getting some errors while trying to compile my project
12:47:27FromGitter<arnetheduck> @mratsim no problems with `c` ffi, as long as you don't use `header` - you have to declare your types and procs using nim syntax only
12:47:38FromGitter<arnetheduck> oh? what kinds of errors?
12:47:54FromGitter<Clyybber> ``````
12:48:02FromGitter<Clyybber> Sry, failed to gitter :P
12:48:08FromGitter<Clyybber> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c30a787357dd7655d1eefcd]
12:49:03FromGitter<Clyybber> I think it might be because the bindings are using dynlib
12:50:15FromGitter<Clyybber> I get that error for every glfw proc I use
12:50:42FromGitter<Clyybber> Thats the wrapper: https://github.com/rafaelvasco/nimrod-glfw/blob/master/glfw3.nim
12:51:32rect0x51is it possible to make a macro that emulates a constructor that initializes private fields?
12:55:02FromGitter<arnetheduck> ah yeah, you need to --passl:-llibrary-name - nlvm doesn't support the dynamic loading scheme nim uses
12:55:44FromGitter<Clyybber> ah ok, I'm already using passL for the vulkan bindings so that should fix it.
12:55:48FromGitter<Clyybber> Thanks!
12:56:57FromGitter<arnetheduck> yeah, I'm generally not a fan of the dynlib loading in nim - it
12:57:36FromGitter<Clyybber> It uses dlopen right?
12:57:45FromGitter<arnetheduck> ... doesn't declare what's linked to, breaking lots of tools and opening up for even more dll hell
12:57:56FromGitter<arnetheduck> nim, yeah.. nlvm, no..
12:58:10FromGitter<Clyybber> I guess thats a win for nlvm :D
12:58:47FromGitter<arnetheduck> haha, not really - it's not how wrappers are written generally in nim so they don't work out-of-the-box which is annoying
12:59:40FromGitter<Clyybber> I guess we could instruct ld/gcc to implicitly link?
13:02:31FromGitter<arnetheduck> how do you mean, implicitly link? somewhere, the system needs to be told which library to link to.. the difference is that nim is that it has a strategy of "link to any of these random library versions, at runtime" whereas nlvm presently requires that you choose at compile time what you link to.. it's not really a difference you can reconcile easily - there are some hacks that could be added to nlvm to ameliorate
13:02:31FromGitter... the situation however
13:02:59FromGitter<mratsim> you can link at compile time with the {.link: “path/to/lib”.} pragma
13:03:10FromGitter<mratsim> but then you can’t ever move the library you linked to
13:03:13FromGitter<Clyybber> @mratsim Using this in my vulkan wrapper
13:03:24FromGitter<Clyybber> Yeah, thats the disadvantage
13:03:54FromGitter<mratsim> I have to check Vulkan for machine learning
13:04:05FromGitter<arnetheduck> @mratsim you can move the library - as long as it's in your `LD_LIBRARY_PATH` - or you can add an `rpath` to your binary, then the two can move together (if you use `$ORIGIN`)
13:04:05FromGitter<mratsim> but I’m worried it’s to graphics focused
13:04:40FromGitter<Clyybber> @mratsim It is a graphics API, but some ML frameworks already support it as a backend
13:04:42FromGitter<arnetheduck> some libraries on linux hardcode other paths in the library - then it gets tricky, but that's not related to nim linking
13:04:59FromGitter<mratsim> @Clyyber names?
13:06:51FromGitter<arnetheduck> for sure though, `.link` works but that's not how many wrappers in nim are written
13:07:51FromGitter<Clyybber> @mratsim https://github.com/dmlc/tvm should support vulkan
13:10:18FromGitter<mratsim> it doesn't
13:10:30FromGitter<mratsim> it uses Halide as a backend but Halide has no Vulkan support
13:10:39FromGitter<mratsim> though if it can use OpenGL shaders it might work
13:10:47dom96narimiran: here now
13:11:25FromGitter<Clyybber> @mratsim Huh, they do have spirv and vulkan tags in their repo though. Hmm
13:12:25FromGitter<Clyybber> @mratsim https://github.com/dmlc/tvm/pull/1571
13:12:27FromGitter<mratsim> there is a Vulkan branch but last commit was in december 2017
13:13:01FromGitter<mratsim> oh, so TVM went ahead without Halide having a vulkan backend interesting
13:14:05FromGitter<Clyybber> Also there is https://github.com/jgbit/vuda and https://github.com/google/clspv
13:14:17FromGitter<Clyybber> Which should help with porting to vulkan
13:15:30FromGitter<Clyybber> And this https://github.com/joshua-r/spock_ml/blob/master/shaders/kmeans.comp as an example on how someone would do a kmeans implementation in compute shaders
13:17:01FromGitter<mratsim> I guess I’ll try when I have a non-Mac machine
13:17:53FromGitter<Clyybber> my condolences :P
13:18:57FromGitter<mratsim> I’ll have a workstation with i9-9980XE and 2x 2080ti in a week =)
13:19:07FromGitter<Clyybber> Oh, thats fucking nice !
13:19:59FromGitter<Clyybber> ping me when you decide wether you want to implement a vulkan backend
13:20:54FromGitter<mratsim> probably in a couple months, I want to have some reinforcement learning bots running on Atari games and Starcraft 2 first :P
13:21:27FromGitter<Clyybber> Using arraymancer?
13:21:59FromGitter<mratsim> yes
13:22:42FromGitter<mratsim> you can run this as an example on Atari games (currently it’s pure random): https://github.com/numforge/agent-smith/blob/master/examples/ex02_00_pong_cem.nim
13:22:49FromGitter<Clyybber> Btw, how ready is laser?
13:23:04FromGitter<mratsim> you need to run this task first: https://github.com/numforge/agent-smith/blob/master/agent_smith.nimble#L34
13:23:13FromGitter<mratsim> Laser is not ready yet
13:23:46FromGitter<mratsim> it’s missing: ⏎ ⏎ 1) State-of-the art convolutions ⏎ 2) fused and batched matrix multiplication [https://gitter.im/nim-lang/Nim?at=5c30afe226d86e4d562cad0a]
13:23:52narimirandom96: i wanted to ask you what are "invalid package names" for nimble, but i went ahead (https://github.com/nim-lang/packages/pull/979) and guessed it means packages with "nim-" prefix
13:23:56FromGitter<mratsim> 1) exp and log are benched but not implemented
13:24:14FromGitter<Clyybber> I guess exp and log from math.h are too slow?
13:24:22FromGitter<mratsim> 10x too slow
13:24:28FromGitter<Clyybber> Oh, :D
13:24:40FromGitter<mratsim> and they are often bottlenecks in language models and reinforcement learning tasks
13:24:45FromGitter<Clyybber> agent-smith looks cool
13:25:29FromGitter<mratsim> for example when you want to sample a word from a vocabulary of 100000 words, you need to take the log + exp of 100000 probabilities
13:25:46dom96narimiran: yeah
13:26:06FromGitter<mratsim> there is a lot of research into fast approcimation, but my take is the first thing we need to do is use a faster exp/log
13:30:48FromGitter<Clyybber> @mratsim Have you looked into openBLAS implementations for those functions?
13:31:46FromGitter<Clyybber> Or do they use Fortrans?
13:32:10FromGitter<mratsim> it’s not covered by BLAS, BLAS is only linear algebra
13:32:34FromGitter<mratsim> basically: addition, matrix-vector multiplication and matrix matrix multiplication
13:32:47FromGitter<mratsim> and special cases with triangular matrices
13:32:59FromGitter<Clyybber> BLAS uses fortrans intrinsic EXP
13:33:02FromGitter<mratsim> and some additional stuff like transposition
13:33:29FromGitter<mratsim> but for which routine?
13:34:12FromGitter<Clyybber> ZLARNV and CLARNV
13:34:15FromGitter<mratsim> all the official BLAS operations are here: https://github.com/flame/blis/blob/master/docs/BLISTypedAPI.md#operation-index
13:34:30FromGitter<Clyybber> though maybe those are not particularily fast, I don't know
13:34:42FromGitter<mratsim> ah for complex, I didn’t check
13:34:44FromGitter<mratsim> good point
13:35:22FromDiscord_<exelotl> is there a way to pass command line args to a program run with `nim c -r` ?
13:35:53FromGitter<Clyybber> Last time I tried, it didn't work
13:38:47FromGitter<mratsim> for exp I think BLAS is using the Fortran implementation. I don’t think it does something different from C or it’s better optimized than the implementations I have here: https://github.com/numforge/laser/issues/11 (measured on dual Xeon Gold 6154, 36 cores)
13:39:52FromGitter<Clyybber> Yeah, BLAS is using the Fortran intrinsics
13:40:16FromGitter<Clyybber> And when compiling using gcc they probably are equivalent to the math.h versions
13:45:18FromGitter<Clyybber> @mratsim That's pretty fast, good job!
13:45:42FromGitter<mratsim> I didn’t do anything yet, just gathered implementations in C and C++
13:45:51FromGitter<mratsim> I have to implement my own ;)
13:47:00FromGitter<mratsim> what I’m proud of is having a BLAS as fast as OpenBLAS and much faster than Facebook Glow (their own ML compiler: https://github.com/pytorch/glow/issues/1749#issuecomment-449846783)
13:47:32FromGitter<Clyybber> Oh, just checked out https://github.com/numforge/laser/blob/master/benchmarks/vector_math/bench_exp.nim I see.
13:47:45FromGitter<Clyybber> @mratsim Thats hella impressive!
13:49:55*nsf quit (Quit: WeeChat 2.3)
13:53:28*hoijui joined #nim
14:00:36*hoijui quit (Ping timeout: 252 seconds)
14:02:47*theelous3_ joined #nim
14:13:30*Redfoxmoon left #nim ("Leaving")
14:27:41*lritter joined #nim
14:38:15*PMunch joined #nim
14:40:15rect0x51does anyone know where to find more info about: https://rosettacode.org/wiki/Category:Order
14:42:40PMunchhttps://github.com/rofl0r/order-pp
14:43:49FromGitter<Clyybber> @arnetheduck Does nlvm support asm statements?
14:44:03FromGitter<arnetheduck> no
14:44:44FromGitter<arnetheduck> good second task 👍
14:45:19FromGitter<Clyybber> Yeah, figured so :P
15:01:19*Tyresc joined #nim
15:12:50*Ven`` joined #nim
15:28:23*elrood joined #nim
15:34:04sheerluckI want to thank authors of Nim for letting me use param_count() personally while everybody else have to use paramCount(). Nice feature
15:35:12FromGitter<zacharycarter> ?
15:35:52PMunchsheerluck, good to hear someone else who likes the feature. I think it's one of the most hotly debated Nim syntax choices
15:35:53thumbs_scumFromME: <Me> HOLA! friends
15:36:02*nsf joined #nim
15:36:15PMunchthumbs_scum, what is ME?
15:36:20narimiransheerluck: wow, what is this? somebody liking this feature? wow
15:36:32thumbs_scumFromMe: <Me> its a message from me
15:36:33PMunchI like it as well :)
15:36:34FromGitter<zacharycarter> I just can't tell if they are trolling or not
15:36:47FromGitter<zacharycarter> I have a feeling they are
15:37:18PMunchWho? sheerluck? There are dozens of us!
15:37:22FromGitter<zacharycarter> yes
15:37:47thumbs_scumFromMe: <Me> which is the right way? param_count or paramCount
15:37:54PMunchBoth are valid
15:37:55FromGitter<zacharycarter> either
15:38:03PMunchNim is case and underscore insensitive
15:38:19PMunchSo par_amCou_nt is also allowed (although highly discouraged :P)
15:38:20thumbs_scumFromMe: <Me> @_@
15:38:27FromGitter<zacharycarter> and there's plenty of existing information / explanations out there that points to why
15:38:33narimiranwhile both valid, paramCount is preferred
15:38:33rect0x51thumbs_scum: checkout https://nim-lang.org/docs/manual.html#lexical-analysis-identifier-equality
15:38:52PMunchthumbs_scum, have you set up a bot to your own interface or something? The Me stuff?
15:39:27thumbs_scumFromMe: <Me> no, im just typing it manually
15:39:31FromGitter<zacharycarter> lol
15:39:34PMunchHaha, why?
15:39:42thumbs_scumFromMe: <Me> seems like the cool thing to do!
15:39:47PMunch-_-
15:39:49dom96lol
15:39:51*elrood quit (Remote host closed the connection)
15:40:06FromGitter<zacharycarter> you guys might not have caught thumbs_scum trolling the other day or week in here
15:40:08FromGitter<zacharycarter> but I saw em!
15:40:14FromGitter<zacharycarter> but their troll made me chuckle so I didn't say anything
15:40:19FromGitter<zacharycarter> can't remember what it was now....
15:40:26dom96subtle trolling is fine :P
15:40:31dom96I noticed it too
15:40:32PMunchHaha, well some good humoured trolling is fine
15:40:42FromGitter<zacharycarter> agreed
15:40:48PMunchAs long as it isn't hurting anyone :)
15:41:27FromGitter<zacharycarter> yes - that's key - as soon as it becomes distracting / combative / offensive it is too much
15:42:21thumbs_scumFromMe: <Me> coding nim made me lose my mind
15:42:47thumbs_scumFromMe: <Me> reparations now
15:47:52*rockcavera quit (Remote host closed the connection)
15:49:49FromGitter<zacharycarter> does anyone have any experience with gatsbyjs / hugo / jekyll
15:49:59FromGitter<zacharycarter> and what is best to host a resume / blog?
15:50:13FromGitter<zacharycarter> I'm sure any of them will work - but I'm looking for simple and fast
15:51:06*Trustable quit (Remote host closed the connection)
15:51:23dom96We use jekyll for nim-lang.org
15:52:41*theelous3_ quit (Ping timeout: 258 seconds)
15:54:17PMunchrect0x51, just made some changes to the nimlsp repo and created a PR to have it added to the nimble package list. This should make it possible to simply run "nimble install nimlsp" :)
15:54:28rect0x51please comment: https://forum.nim-lang.org/t/4535#28346
15:54:43rect0x51PMunch: That's great news!
15:56:10FromGitter<zacharycarter> thanks dom96
15:57:55FromDiscord_<AregevDev>
15:57:55FromDiscord_<AregevDev> https://cdn.discordapp.com/attachments/371759389889003532/531139285911470101/unknown.png
15:58:00FromDiscord_<AregevDev> Mission accoplished
16:02:36dom96Nice
16:02:51rect0x51PMunch: Sadly I never managed to make it work, more people should try it out...
16:03:23PMunchHmm, still the same issues?
16:06:09rect0x51When I do manage to compile, the behavior is as described at the github issue, yes...
16:06:47PMunchWell the manage to compile part should be solved now :)
16:08:01PMunchIt's kinda hard to solve as it works fine for me with your test file..
16:08:03rect0x51Hopefully this will encourage more people to try it out
16:08:12PMunchDid you try any other editors?
16:08:21narimiranPMunch: is 0.19.9 really needed for nimlsp, or does it work on 0.19.2 also?
16:09:14rect0x51Yes, I did try Sublime, but tbh didn't spend much time. After adding the setting in LSP, Nim didn't pop up as an option
16:09:21PMunchnarimiran, it's required
16:09:42PMunchBecause of this: https://github.com/nim-lang/Nim/blob/devel/nimsuggest/nimsuggest.nim#L621
16:10:01PMunchrect0x51, as an option?
16:10:19narimiranhmm, i'm not sure we should merge packages which don't work with the stable version. dom96 ?
16:10:57rect0x51you have to select Nim from the LSP client plugin.
16:12:15dom96narimiran: nah, it's fine
16:12:22PMunchnarimiran, hmm well it can compile with 0.19.2, but it pulls the devel version as a submodule
16:12:43PMunchrect0x51, you do?
16:12:53PMunchI can't remember doing that when I used it in Sublime..
16:13:44rect0x51I never used Sublime myself, so disregard my attempt, it wasn't as serious.
16:13:54thumbs_scumis there a sublemon editor
16:14:13PMunchsublemon?
16:14:26thumbs_scumtheres a lime one...
16:15:10thumbs_scumcan it work with notepad++, thats what i am using
16:15:11*PMunch facepalms
16:16:05PMunchhttps://github.com/notepad-plus-plus/notepad-plus-plus/issues/4440
16:16:12PMunchDoesn't seem to support LSP at the moment
16:17:28thumbs_scumare you related to PHolder that made that git suggestion?
16:17:37PMunchNope
16:18:30thumbs_scum:P never mind
16:18:51thumbs_scumi do not want to know what the P stands for in either case
16:19:08*dom96 grabs his ban hammer
16:19:41thumbs_scumheheh, stick it up your ass
16:20:04narimiraneh, thumbs_scum you're making things too easy....
16:20:41thumbs_scumcorny or friendly dumb jokes are bannable, so do it
16:20:47thumbs_scumwho cares?
16:21:34PMunchAbit harsh no?
16:21:43PMunchHe wasn't really that disruptive
16:21:48FromGitter<zacharycarter> it'd be one thing if you contributed anything constructive to this channel thumbs_scum
16:22:17dom96"stick it up your ass" is crossing the line
16:22:22FromGitter<zacharycarter> but from my observations of your activity in this channel over the past week(s) - I think a ban is worthy here
16:22:32PMunchWell yeah, that was a bit too far
16:23:27FromGitter<zacharycarter> I'm sure they will be back in some other form
16:24:16FromGitter<zacharycarter> https://www.rsaconference.com/events/us19/agenda/sessions/16608-Come-Get-Your-Free-NSA-Reverse-Engineering-Tool
16:26:49rect0x51has anyone used radare2?
16:28:02FromGitter<zacharycarter> I have not - I actually haven't really done much / if any reverse engineering work, but I do want to learn more about the subject eventually
16:29:08rect0x51It's nice, the only problem is you can't actually apply it easily, other than solving crackmes or playing other games...
16:29:38FromGitter<zacharycarter> right
16:31:12rect0x51should be useful in other context, but it has to be something quite low-level that you are doing.
16:34:00rect0x51I mean... when/why would you want to reverse engineer a binary?
16:34:36PMunchModding?
16:34:45PMunchOr grabbing keys/API endpoints
16:36:28rect0x51If you are into this kind of stuff it can be interesting indeed
16:36:41FromGitter<zacharycarter> I was always interested in the topic for MMO emulators
16:36:56FromGitter<zacharycarter> I still want to write an Ultima Online emulator in Nim
16:37:08FromGitter<zacharycarter> but that's very far down on the project list
16:37:45FromGitter<zacharycarter> also - I'm not sure how many (if any) other Nim users played UO
16:38:14FromGitter<zacharycarter> so finding contributors might be difficult :P
16:40:01rect0x51I guess RE can be quite interesting for game developers
16:40:49rect0x51Well, Nim has a few game developers, right?
16:42:54FromGitter<zacharycarter> lots of people playing with SDL2 / Godot using Nim
16:43:03FromGitter<zacharycarter> few people writing their own game tech with Nim
16:43:32FromGitter<zacharycarter> the most successful is / was - https://github.com/yglukhov/rod - which powered the Facebook game Casino Royale
16:43:36FromGitter<zacharycarter> but I believe it's now defunct
16:44:17FromGitter<zacharycarter> @Clyybber is working on a game engine and I am as well atm
16:44:21FromGitter<zacharycarter> not sure who else is
16:46:29narimiranif anybody wants to throw in some Nim mentions.... https://old.reddit.com/r/programming/comments/acsg61/version_20840_of_dmd_the_d_reference_compiler_has/
16:46:49narimiran(...like people usually start talking about rust :D )
16:48:37FromGitter<zacharycarter> I think - to an extent - hijacking threads like that is actually not in the best interest of Nim's growth
16:48:48FromGitter<zacharycarter> we earn the reputation, as a community, of being zealots
16:49:00FromGitter<zacharycarter> or just fanbois
16:49:32FromGitter<zacharycarter> probably a better use of time to write a blog post or post on reddit or whatever, talking about some cool project you've built
16:49:36FromGitter<zacharycarter> with Nim I mean
16:50:12narimiranagreed (and that's why i'm not writing anything, but maybe somebody else wants to do it)
16:50:12*Ven`` quit (Ping timeout: 272 seconds)
16:50:50narimiranthere is a comment mentioning D's competition, so it might be not too-offtopic
16:54:19FromGitter<alehander42> Agreed
16:54:31FromGitter<alehander42> With Zachary
16:55:40rect0x51zachary means sugar in greek :P
16:59:44rect0x51zacharycarter: What does DMD do? If it's easy to explain.
17:01:25rect0x51I am troubled with the term "reference compiler"
17:03:48PMunchWhy?
17:03:55rect0x51what does it mean?
17:04:43PMunchReference compiler just means that it has a specification for how the language works, and the compiler they are talking about is the reference implementation
17:05:58FromGitter<alehander42> Rect0x51
17:06:03FromGitter<alehander42> In Bulgarian too
17:11:33rect0x51PMunch: Mmm I find it confusing phrasing.
17:13:16rect0x51gotta go, bye
17:13:22*rect0x51 quit (Quit: WeeChat 2.3)
17:20:19FromGitter<zacharycarter> rect0x51: heh had no clue that my name meant something in any language :P I think DMD is just the name of D's ref compiler
17:20:40ZevvWhat are the general restrictions of the Nim VM?
17:21:16ZevvI'm trying to use pegs on a small embedded system and I'd like to do the peg string -> AST transform at compile time.
17:21:28FromGitter<zacharycarter> https://nim-lang.org/docs/nims.html
17:21:32FromGitter<zacharycarter> I think the restrictions are listed at the top there
17:21:35ZevvBut it seems things get lost in translation when objects are casted to the parent type
17:21:48FromGitter<zacharycarter> ```code paste, see link``` [https://gitter.im/nim-lang/Nim?at=5c30e7ac1d1c2c3f9cc81c19]
17:22:40Zevv"at least"
17:22:49FromGitter<zacharycarter> :)
17:23:14FromGitter<zacharycarter> I think folks have been complaining for a while now, about this description being not comprehensive enough
17:23:33FromGitter<zacharycarter> I'm not sure if anyone has composed a write-up with more details yet or not
17:23:57Zevvit's probably not that easy - I guess there's quite a number of 'small' reasons which all add up
17:24:22AraqFFI is not supported and 'ptr' semantics are hard to emulate with the symbolic representation the VM uses
17:24:50Araqas 'var T' is mapped to 'ptr' too, this also affects 'var T'
17:25:20Araqinheritance and object variants should work but I doubt they have been extensively tested
17:25:23Zevvhm I see. And that breaks a lot, of course
17:25:52Araqmulti methods also don't work.
17:26:01Araqand I think that's it, the rest is fine.
17:26:29Araqnot ideal, but not too bad either I remember porting 'lexim' to use staticExec not because of VM bugs
17:26:35Araqbut because of the VM's speed
17:26:41Araq:-)
17:26:51Zevvok, given this info I'll dig a bit further to see if I can get const pegs to work
17:27:22FromGitter<zacharycarter> would summarizing ^ and putting it into - https://nim-lang.org/docs/nims.html - be valuable Araq?
17:27:28FromGitter<zacharycarter> or are these limitations documented elsewhere?
17:27:36FromGitter<zacharycarter> if so - I can do that real quick
17:27:51Araqadd it to the docs please
17:27:58FromGitter<zacharycarter> will do
17:28:30Araqand pegs... well it's weekend, I might give nim a variant of YACC
17:29:23Zevv?
17:29:52FromGitter<zacharycarter> yet another compiler compiler
17:30:09ZevvI know what Yacc is, but "git nim a varian of Yacc" over the weekend? :)
17:30:10FromGitter<zacharycarter> https://en.wikipedia.org/wiki/Yacc
17:30:12FromGitter<zacharycarter> oh
17:30:42*sheerluck quit (Quit: Leaving)
17:30:57Zevvzacharycarter: will you update the nims doc? I can do that and make a PR as well?
17:31:37FromGitter<zacharycarter> I was just deleting and re-forking Nim - but if you want to do it Zevv / are already planning on making PR(s), please go ahead
17:31:47FromGitter<zacharycarter> if you're busy - I don't mind helping out :)
17:32:19Calinou@zacharycarter about static site generators, I'd recommend going with Hugo for a new site
17:32:24Araqzacharycarter: we prepared the docgen for Nim playground integration
17:32:28ZevvI'll add a simple section to the doc mentioning the various limitations, araq can always comment on the PR later
17:32:41CalinouJekyll is what we use on nim-lang.org, and I still use it on my own website because migrating would take a lot of time for little benefit in my case
17:32:52Araqbut I don't know how it works.
17:33:07FromGitter<zacharycarter> well - I think we need to figure out what to do with the playground
17:33:25Araqespecially what kind of JS components you use
17:33:44FromGitter<zacharycarter> dom96 set up a VPS and gave me an IP address for moving the playground
17:34:20FromGitter<zacharycarter> but my SSH key pair is no longer valid and I no longer have the IP address of the VPS
17:34:41FromGitter<zacharycarter> also - someone had mentioned they wanted to take over ownership and maintenance of the playground - which I'm fine with
17:35:16FromGitter<zacharycarter> I haven't been maintaining it (obviously) and I don't have much of a desire to work on web-related projects lately, due to burnout at work
17:35:44FromGitter<zacharycarter> Calinou: thanks - Hugo does look nice
17:36:18Araqwell dom96 will give you new keys I'm sure
17:36:23Araqbut bbs
17:36:46FromGitter<zacharycarter> when he is free - I will make myself free and I will do the migration then and there so I don't re-create this situation
17:37:04FromGitter<zacharycarter> tomorrow would be an opportune time for me
17:37:18FromGitter<zacharycarter> or next weekend
17:37:22Calinouthe main benefit of Hugo is its speed, and that it works a single binary without dependencies (makes CI easier)
17:37:29FromGitter<zacharycarter> it's hard to commit to something on a weeknight
17:37:58FromGitter<zacharycarter> Calinou: yes - I've heard jekyll slows down quite a bit when the content scales
17:39:01FromGitter<zacharycarter> going to try to throw something small together this afternoon
17:39:22FromGitter<zacharycarter> I'm growing impatient with my current real estate venture, so I may just end up having to find a new job while I wait for my house to sell
17:40:17FromGitter<zacharycarter> and that mandates a resume :P which I've been dreading writing for a while now
17:43:18*zachk joined #nim
17:44:21*zachk quit (Read error: Connection reset by peer)
17:44:43*zachk joined #nim
17:45:07*zachk quit (Changing host)
17:45:07*zachk joined #nim
17:59:34*vlad1777d joined #nim
18:03:28ZevvIt seems pegs is mainly broken in nimscript because there is out of bounds string access happening. This does not show in normal nim because the pattern buffer is a cstring (why?) but the VM trips over this
18:04:11ZevvI guess it is a cstring just for this reason: it's valid to peek in a string because of the trailing \0
18:05:09*vlad1777d quit (Ping timeout: 252 seconds)
18:10:41*vlad1777d joined #nim
18:18:32Zevvyeah, too bad. My const peg is parsed, but now: t.nim(4, 7) Error: invalid type for const: Peg
18:18:46Zevvthat was fun. let's have a coffee instead
18:21:02*theelous3_ joined #nim
18:21:19*kapil____ quit (Quit: Connection closed for inactivity)
18:44:07shashlickwow been busy here
18:44:31*vlad1777d quit (Ping timeout: 260 seconds)
18:45:17shashlick@dom96 - created a new PR on nimble to allow uninstall of reverse dependencies: https://github.com/nim-lang/nimble/pull/601
18:48:11FromGitter<kaushalmodi> Calinou: Just jumping in to say ++1 for Hugo static site generator :)
18:49:19FromGitter<zacharycarter> lots of love for Hugo
18:49:32FromGitter<zacharycarter> Im enjoying it thus far
18:49:52FromGitter<zacharycarter> and they picked one of the features I like golang for - its templating
18:50:25FromGitter<zacharycarter> PMunch: were you the person who was interested in taking over the playground?
18:50:30FromGitter<zacharycarter> and if so - is that still the case?
18:50:37PMunchYes that was me
18:50:38CalinouI tried migrating my site to Hugo but work stalled, so I'm still on Jekyll here
18:50:45Calinou(it doesn't have a blog anyway, so performance isn't an issue)
18:50:47PMunchSure :)
18:51:58FromGitter<zacharycarter> okay - when dom96 has a moment and can get you and I the new VPS details, maybe we can do a skype call (or whatever) and I can go over the project and how I deployed it etc...
18:52:07FromGitter<zacharycarter> we can get it onto the new VPS - and I can hand the reigns over to you
18:52:14FromGitter<zacharycarter> if that sounds amiable
18:52:16PMunchSounds like a plan
18:52:22FromGitter<zacharycarter> sweet!
19:10:35federico3Calinou: I use Pelican because it does the same work as Jekyll with much less dependencies
19:10:56Calinouyeah, but Pelican is Python so you still need Python and it's slower than Hugo
19:29:28*stefanos82 quit (Remote host closed the connection)
19:31:29*dorelix joined #nim
19:36:16FromGitter<Clyybber> @rect0x51 I use radare2 sometimes.
19:36:56FromGitter<Clyybber> But not for my game, not sure how that would help me, but for inspecting other games, namely CubeWorld
19:38:07FromGitter<Clyybber> It's a good (maybe even better) alternative to proprietary Ada.
19:38:31FromGitter<Clyybber> Theres also a decent UI interface for it, called cutter.
19:39:22FromGitter<zacharycarter> welp - I just killed all productivity for this afternoon by discovering Remi Gallard
19:39:33FromGitter<zacharycarter> Gaillard*
19:42:00FromDiscord_<exelotl> oh no xD
19:45:39FromGitter<zacharycarter> haha he has some good bits
19:52:15FromGitter<zacharycarter> @Clyybber - cube world was interesting but I've found some voxel projects which interest me a lot more - https://www.voxelfarm.com and https://www.voxelquest.com/
19:52:48FromGitter<zacharycarter> you've probably already seen these - but just in case you haven't
20:08:44FromDiscord_<exelotl> cube world was *the* shit
20:09:14FromDiscord_<exelotl> such a rich and fun world to roam around with friends
20:09:58FromDiscord_<exelotl> the movement and combat and design and sfx were all so on-point
20:11:38FromGitter<Clyybber> @zacharycarter Yeah already seen those. I like them, but nothing replicates the feeling playing cubeworld gives me
20:12:30FromGitter<zacharycarter> yeah - cubeworld is more of an actual game and these are more of research projects/tools
20:12:40FromGitter<Clyybber> I dunno, I just love that game so much. It's so fun roaming around the world with friends.
20:13:04FromGitter<zacharycarter> hmmm
20:13:12FromGitter<zacharycarter> maybe I should build this UO emulator
20:13:13FromGitter<zacharycarter> :P
20:14:37FromGitter<Clyybber> Never played Ultima Online myself, but I remember watching my cousin play it for hours :D
20:15:06FromGitter<zacharycarter> I think if you like these sorts of games you'd like UO
20:15:14FromGitter<zacharycarter> UO was the grand daddy to the modern MMO
20:15:37FromGitter<zacharycarter> and arguably had some of the best gameplay concepts in MMO history
20:15:47FromGitter<zacharycarter> even though over time, they were phased out for more theme-parkish features
20:16:00FromGitter<zacharycarter> sandbox MMO I mean
20:29:46*Trustable joined #nim
21:21:57*hoijui joined #nim
21:37:44*zyklon joined #nim
21:42:23FromDiscord_<avessara> Sex Dating > http://discord.amazingsexdating.com
21:47:10*Vladar quit (Remote host closed the connection)
21:59:54*narimiran quit (Ping timeout: 272 seconds)
22:04:14*hoijui quit (Remote host closed the connection)
22:32:54*lritter quit (Ping timeout: 252 seconds)
22:33:07FromGitter<zetashift> yikes again
23:07:08dom96huh, what does the "JOINED" in the test suite output mean?
23:07:31FromGitter<timotheecour> means it joins megatest train
23:07:59dom96can you be more specific?
23:08:19FromGitter<timotheecour> it implements this: https://github.com/nim-lang/Nim/issues/9581
23:08:59FromGitter<timotheecour> it’s faster to run multiple tests as a single invocation of `nim`, which is what megatest does
23:09:25FromGitter<timotheecour> by default, it joins, unless specified otherwise (see isJoinable logic)
23:09:51dom96right, so ... how can I tell if these failed or passed?
23:10:26dom96is there a "PASS: megatest" at the end?
23:10:48dom96if so, wouldn't it be better to skip these hundreds of "JOINED" and instead output a "PASS" for each when the megatest passes?
23:11:26FromGitter<timotheecour> u mean individually? if megatest passes, all pass; if megatest fails, https://github.com/nim-lang/Nim/pull/10089 helps tell you which one failed ; it aborts on 1st failure ; as an enhancement, we can enhance logic to go past 1st failure, if needed
23:11:34FromGitter<timotheecour> but priority was made for speed.
23:12:26dom96yes, I would rather see "FAIL" or "PASS" for all of them instead of a "JOINED" which doesn't really inform me about them other than that they are part of this megatest
23:14:41FromGitter<timotheecour> so currently we’re only outputting this: ⏎ ⏎ ```code paste, see link``` ⏎ ⏎ one improvement would be: ... [https://gitter.im/nim-lang/Nim?at=5c313a615ec8fe5a8509d52e]
23:16:08dom96yeah, that would be awesome :)
23:16:14dom96but yeah, not important
23:16:49FromGitter<timotheecour> we could also easily have:` PASS foo.nim` for each` foo` in megatest, however what would require a lot more change would be to show individual failing tests (would require try/catch logic and I’d rather not); note that u can pass a flag to skip `joining` so everything runs individually
23:18:24FromGitter<timotheecour> but again, here the priority was for speeding up CI ; usually I wanna know what failed, not what succeeded
23:19:50FromGitter<timotheecour> btw once https://github.com/nim-lang/Nim/issues/10045 is implemented, stdlib will also join megatest.
23:22:02FromGitter<timotheecour> btw, what do u think of passing `—hint:CC:off` and `—hint:processing:off` to CI ? it’s rarely useful and makes it harder to go straight to the error; in the rare case it’s useful a PR can either pass these locally or temporarily pass a flag to run with these in CI for that PR
23:22:03*zyklon quit (Read error: Connection reset by peer)
23:22:18*nsf quit (Quit: WeeChat 2.3)
23:24:40dom96I would prefer a bot that grabs the relevant parts of the logs for us as soon as CI finishes
23:24:47dom96(and posts them in a PR)
23:39:46*zyklon joined #nim
23:45:36FromGitter<timotheecour> ya, I agree, it’s a better fix indeed; just re-opened https://github.com/nim-lang/Nim/issues/9847#issuecomment-451702076
23:55:28*vlad1777d joined #nim