<< 26-10-2017 >>

00:02:43joshbaptisteah codewars..
00:06:16subsetparkjoshbaptiste: exercism too
00:10:23joshbaptistesubsetpark: ah tx
00:28:08*nitely joined #nim
00:42:32*martinium quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:58:02*zolk3ri quit (Quit: Lost terminal)
01:20:36*gokr quit (Ping timeout: 258 seconds)
01:46:35*kunev quit (Ping timeout: 240 seconds)
01:47:54*kunev joined #nim
02:11:03*gangstacat quit (Quit: Ĝis!)
02:33:40*Nobabs27 joined #nim
03:04:18*gangstacat joined #nim
03:19:45*onionhammer1 joined #nim
03:22:05*onionhammer quit (Ping timeout: 240 seconds)
03:34:02*pyloor joined #nim
03:37:34*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
03:38:06*pyloor is now known as pyloor_
03:49:38*hogeland_ joined #nim
03:49:43*hogeland_ quit (Client Quit)
03:57:06*Nobabs27 quit (Quit: Leaving)
04:01:37*craigger quit (Ping timeout: 248 seconds)
04:02:59*craigger joined #nim
04:04:08*craigger_ joined #nim
04:05:19*craigger- joined #nim
04:07:14*skrylar quit (Remote host closed the connection)
04:07:27*craigger quit (Ping timeout: 240 seconds)
04:08:28*craigger_ quit (Ping timeout: 240 seconds)
04:10:02*craigger joined #nim
04:12:48*craigger- quit (Ping timeout: 240 seconds)
04:14:28*craigger quit (Ping timeout: 240 seconds)
04:15:53*craigger joined #nim
04:16:31*gmpreussner quit (Ping timeout: 248 seconds)
04:41:37*craigger quit (Ping timeout: 248 seconds)
04:42:24*craigger joined #nim
04:46:39*ipjk quit (Read error: Connection reset by peer)
04:52:31*gmpreussner joined #nim
04:59:27*craigger quit (Ping timeout: 240 seconds)
05:01:24*craigger joined #nim
05:06:08*craigger quit (Ping timeout: 255 seconds)
05:06:44*craigger joined #nim
05:16:02*craigger quit (Ping timeout: 255 seconds)
05:17:26*craigger joined #nim
05:22:07*craigger quit (Ping timeout: 248 seconds)
05:24:59*craigger joined #nim
05:27:18*miran_ joined #nim
05:45:22*craigger quit (Ping timeout: 255 seconds)
05:45:48*craigger joined #nim
06:06:59*miran_ quit (Ping timeout: 255 seconds)
06:10:26*fredrik92 quit (Quit: Client disconnecting)
06:18:41*enthus1ast quit (Ping timeout: 248 seconds)
06:24:47*sz0 joined #nim
06:32:00*couven92 joined #nim
06:39:03*nsf joined #nim
06:40:23*PMunch joined #nim
06:45:54*adeohluwa joined #nim
06:48:33*couven92 quit (Quit: Disconnecting)
06:55:42*Vladar joined #nim
07:00:25*Viktor_ joined #nim
07:13:18FromGitter<mratsim> IRC bridge broken?
07:14:47FromGitter<mratsim> testament timeouted every PR (but not on OSX because it’s allowed to run for long
07:15:25*Arrrr joined #nim
07:15:25*Arrrr quit (Changing host)
07:15:25*Arrrr joined #nim
07:22:52Araqmratsim: working on it
07:23:19*claudiuinberlin joined #nim
07:25:05FromGitter<GULPF> @Varriount can't have procs inside a const, since they are GC'd
07:28:00FromGitter<mratsim> you can try a compileTime proc
07:29:36FromGitter<mratsim> check this awesome compieTime string obfuscation: https://forum.nim-lang.org/t/1305/1
07:35:44*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
07:38:24*claudiuinberlin joined #nim
07:39:17*libman quit (Quit: Connection closed for inactivity)
07:39:22*claudiuinberlin quit (Client Quit)
07:40:50*Andris_zbx joined #nim
07:46:03*gokr joined #nim
07:50:02*dddddd joined #nim
07:50:58*Guest58559 quit (Quit: Leaving)
07:52:55*claudiuinberlin joined #nim
08:04:04PMunchmratsim, I can see your messages
08:06:18PMunchHmm, dom96 what is the current block for in jester routes?
08:07:14PMunchAah, to terminate from cond, and pass statements
08:08:46*gokr quit (Ping timeout: 264 seconds)
08:09:13*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:10:45*Ven joined #nim
08:11:08*Ven is now known as Guest84182
08:14:36*claudiuinberlin joined #nim
08:43:12*Guest84182 quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:46:28PMunchdom96, is the jester testing suite broken?
08:47:00PMunchI'm just getting this: http://ix.io/BLO/
08:48:01*nitely quit (Ping timeout: 248 seconds)
08:58:00PMunchAaah, it was the checks that needed to have a syntax update :P
08:58:54Viktor_PMunch, what syntax update?
09:00:56PMunchhttps://github.com/dom96/jester/blob/master/tests/tester.nim#L13
09:01:09PMunchAdding an extra set of parenthesis around the condition here
09:01:37PMunchIt thought I wanted to do check(waitFor resp.body) and compare the output of that to "Hello World!"
09:02:07Viktor_ah ok, so you pulled the latest to fix it.
09:02:22PMunchUhm
09:02:35*pyloor_ quit (Quit: Leaving)
09:02:55PMunchI did a git clone https://github.com/dom96/jester
09:03:26Viktor_ok thanks, only to know should I run into the same
09:03:36PMunchHuh, strange
09:03:52PMunchtester.nim has a git commit comment "Fixes tester on 0.17.2"
09:04:03PMunchI'm on 0.17.2 and it doesn't work..
09:04:49*sz0 quit (Quit: Connection closed for inactivity)
09:06:40PMunchdom96, any input on this?
09:07:43FromGitter<dom96> Try devel?
09:11:17PMunchNope, that doesn't even have the future test from master
09:15:21*craigger quit (Ping timeout: 240 seconds)
09:15:23PMunchFuck..
09:15:54PMunchI wanted to change the git commit I had done. Using git rebase I deleted it, and it took my changes with it..
09:17:00*craigger joined #nim
09:23:50Viktor_do you use intellij maybe? Then you have a local file history..
09:23:55*adeohluwa quit (Quit: Connection closed for inactivity)
09:25:31watzonWould unmarshaling a sequence/array of objects work? I'm reading data from an API and am given a large array of objects. I want to unmarshal each of those objects.
09:26:25PMunchViktor_, nope. Good old fashioned Vim here
09:28:20Araqwatzon: why wouldn't it?
09:29:10watzonMore wondering how one would go about doing that 
09:30:09PMunchOh well, guess I'll have to redo it all then..
09:32:14dom96PMunch: no, Nim devel
09:32:32dom96That's why you should always push :(
09:34:57watzonOk I kinda figured it out. I took the api response, used `parseJson` on it, then iterated over it and unmarshaled each item and added it to a sequence
09:35:33*Arrrr quit (Quit: Leaving.)
09:35:34watzonI tried at first to just do `parseJson(response.body).to(seq[Repository])` and that didn't work
09:37:59dom96watzon: report this as an issue please :)
09:38:25watzondom96: Will do :) wasn't sure if this was expected behavior or not
09:38:36dom96and you might have better luck using the traditional JSON API
09:38:59dom96for repo in parseJson(response.body): echo(repo["name"]) # (or whatever the fields are)
09:39:15dom96repo["name"].getStr() # depending on the type
09:43:44FromGitter<krux02> I just found out that in the forum I can execute code blocks
09:43:47FromGitter<krux02> that's cool
09:46:58dom96yep, recent addition by stisa :)
09:53:31FromGitter<andreaferretti> There is also this PR https://github.com/nim-lang/nimforum/pull/111 with improvements
10:00:23watzondom96: Issue logged https://github.com/nim-lang/Nim/issues/6604
10:03:49Araqkrux02: I would still like feedback on the destructors
10:11:16FromGitter<mratsim> @andreaferretti I like how @stisa is worried that 70lines code is too long :P
10:19:28PMunchdom96, aah, Nim devel :P
10:20:15*gokr joined #nim
10:20:44PMunchThe problem was the lines like: 'check (waitFor resp.body) == "Hello World"'. It seemed to parse that as check(waitFor resp.body) and then compare it to Hello World. Has this changed recently?
10:20:49PMunchI thought that was an old change
10:25:29PMunchTrying with devel, now. Choosenim is great :)
10:26:13AraqPMunch: recently it was changed to be finally done consistently
10:26:28PMunchAh right, I'll check on devel and see
10:30:51PMunchOkay, it works on devel
10:31:28FromGitter<alehander42> does somebody has diff issues with karax? some combinat explosions for me with the latest version (it's working fine with a way older version of karax)
10:38:38*Yardanico joined #nim
10:47:13Araqalehander42: report it
10:47:25AraqI know in theory it can blow up but could never trigger it
10:47:44FromGitter<alehander42> I think I have a reproducable example, but I am not sure if am not doing something wrong
10:47:47FromGitter<alehander42> I'll open an issue
10:47:50Araqty
10:49:07watzonAnyone know of a simple way to make query strings?
10:49:53watzonFor instance turn this `{ "type": "private", "id": 50 }` into this `type=private&id=50`
10:59:17AraqYardanico: stream tonight?
11:02:18*Snircle joined #nim
11:04:03PMunchwatzon: var query = ""; for (key, value) in jsonObject: query.add("&" & key & "=" & $value)
11:04:07PMunchSomething like that
11:04:46watzonPMunch: Thanks, I made a proc already, I was just wondering if there was something built in
11:05:44PMunchAh, not as far as I know
11:06:16YardanicoAraq, you'll be streaming?
11:06:39Araqprobably
11:06:51Yardanicoat ~19:00 UTC again, or later?
11:07:06Araqsame time
11:07:12Yardanicoand where's the strawpoll? :)
11:07:28Araqthere are no topics to choose from for you
11:07:54Araqit'll be about "pointer free programming" again :-)
11:07:59Yardanicoah, nice!
11:11:33YardanicoAraq, I'll enable twitch bridge now so I will not forget to do it :P
11:11:41Yardanicooh wow!
11:11:49Yardanicoappveyor takes only 24 minutes to run everything
11:11:53Yardanicoparallel testament ftw
11:12:29*GitDisc quit (Remote host closed the connection)
11:12:37*FromTwitch quit (Remote host closed the connection)
11:13:00Araqpretty sure I broke HTML gen btw
11:13:05Araqit's super slow
11:13:30Araqbut the people who use it will notice and fix it
11:13:36*FromTwitch joined #nim
11:13:53*GitDisc joined #nim
11:13:54*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:14:01PMunchdom96, https://github.com/dom96/jester/pull/127 what do you think?
11:15:13dom96So again, I ask, how much faster is testament now?
11:15:24Yardanicodom96, appveyor is 24 mins only
11:15:30Yardanico:P
11:15:35dom96...
11:15:43dom96What was it before?!
11:15:54Yardanico~50-60 minutes or timeouts
11:15:58Yardanicoso it has 2 cores
11:16:02Yardanicothat's why the speedup isn't that great
11:16:10FromGitter<mratsim> the joy of opensource :P “Upstream broke everything"
11:16:13Yardanicoon 16-core machine it will probably be limited by IO
11:16:25Yardanico(it's already limited by IO probably)
11:16:54YardanicoI'll see how long it takes to run testament on 4-core azure vps
11:16:54dom96Ahh, that's a very nice improvement
11:16:58Yardanicoout of curiousity
11:17:17dom96PMunch: On a first look, looks good
11:17:29dom96I trust you ran the tester? :)
11:17:40Yardanicodom96, don't you have travis connected to jester repo?
11:17:49dom96nope
11:17:50*claudiuinberlin joined #nim
11:17:51dom96Need to do that
11:17:52PMunchOf course, I even added a new test for templates :)
11:17:52Yardanicooh
11:18:43PMunchAnd now I've got 4/4 PRs for hacktoberfest :)
11:18:48dom96PMunch: :D
11:19:11YardanicoAraq, so tester runs in parallel by default now?
11:19:22Araqyeah
11:19:45Araqwell only if you use 'all' since it creates a process per category
11:19:55Araqbut we have over 100 categories so it doesn't matter
11:21:11Araqbut look at the diff, it was trivial to do
11:21:30AraqNim's stdlib can be truely awesome, execProcesses ftw
11:22:52AraqI need to add more checking, it should check that at least 1000 tests have been run
11:27:03*elrood joined #nim
11:29:48*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
11:37:54Yardanicowell maybe it's because of a slow IO on azure, but tester took ~18.5 minutes :)
11:38:03Yardanicowith ~354% cpu usage
11:46:21*Yardanico quit (Remote host closed the connection)
11:51:44*Arrrr joined #nim
11:51:45*Arrrr quit (Changing host)
11:51:45*Arrrr joined #nim
11:55:25*dddddd quit (Remote host closed the connection)
12:02:57FromGitter<krux02> I think the speed of the tests could be improved a lot if small tests are merged into a single test
12:05:07FromGitter<krux02> Araq: I just saw that you wrote me, what feedback about destructors would you like to have
12:08:46*Arrrr quit (Ping timeout: 255 seconds)
12:13:20*wuehlmaus joined #nim
12:14:06wuehlmaushi, all. i have a problem with apple having gcc in /usr/bin/gcc which actually is clang. how can i point --cc: to have gcc-7 e.g.
12:14:53wuehlmausmy gcc-7 is in /usr/local/bin
12:15:28FromGitter<krux02> when you call gcc on apple it calls clang?
12:15:40wuehlmausyes
12:15:49FromGitter<krux02> well that is wrong in the first place
12:15:49wuehlmaus/usr/bin/gcc is not gcc :(
12:15:54*arecaceae quit (Remote host closed the connection)
12:15:55FromGitter<krux02> report an error to apple
12:16:12*arecaceae joined #nim
12:16:23FromGitter<krux02> when you call cc it should call the system's default C compiler
12:16:36FromGitter<krux02> that command can be either gcc or clang
12:16:41FromGitter<krux02> or another compiler
12:16:44wuehlmausit uses clang
12:16:58FromGitter<krux02> but gcc really should be gcc notheng else otherwise it is wrong
12:17:04wuehlmaus--cc=gcc sadly does use /usr/bin/gcc which is clang in disguise
12:17:45FromGitter<krux02> Sorry I don't use apple for reasons, this is just another bullet point on that list
12:17:46wuehlmausbut say, i want a special version of gcc , how can i do that?
12:18:00FromGitter<krux02> I think with homebrew
12:18:13wuehlmausif --cc= only uses gcc as input
12:19:57FromGitter<krux02> I wuould guess it it --cc=/usr/bin/mycompiler
12:21:25wuehlmausgcc.path %= /usr/local/bin seems to work in mim.cfg
12:22:05wuehlmausnim.cfg
12:23:58cremWhat do you use for backup, on a file level? (ideally the same thing to backup from linux,windows and mac)
12:24:46*wuehlmaus left #nim ("Aus, die Maus")
12:27:57*wuehlmaus joined #nim
12:31:46Viktor_defer does not work in async procs at the moment, correct?
12:35:13*Ven joined #nim
12:35:13*Ven quit (Client Quit)
12:40:16dom96indeed
12:42:55*claudiuinberlin joined #nim
12:43:47*arnetheduck joined #nim
12:48:56*wuehlmaus left #nim ("Aus, die Maus")
12:53:27*Jesin quit (Quit: Leaving)
12:53:57FromGitter<krux02> how does publishing in nimble work again?
12:54:24FromGitter<krux02> it would be cool if a git tag would be enough
12:54:55FromGitter<krux02> I mean releasing a new verison
12:55:03elroodwrite a git hook then?
12:55:31FromGitter<krux02> elrood: ehem, no
13:03:02*gokr quit (Ping timeout: 260 seconds)
13:03:31dom96it is enough...
13:03:49dom96I mean, your package needs to be in the packages list
13:03:57dom96but releasing new versions is a case of simply tagging
13:14:54*sleepyqt joined #nim
13:18:47GitDisc<awr> hello all
13:22:09GitDisc<awr> i have a question: when you create a distinct type and need to a convert a variable of that type back to its base type, is there a way you can do that generically? or do you have to refer to the specific base type it's coming from always?
13:23:04GitDisc<awr> say like "type Whatever* = distinct int; var x :Whatever", is there like a "x.base" or is the only thing I can do "x.int"
13:23:13euantorYou have to update the version in the `.nimble` file too, don't you? Not just a simple tag
13:29:22FromGitter<Varriount> awr: You might be able to do something with a macro
13:30:02FromGitter<Varriount> Use one of the type information procedures to get the original type definition, then extract the base from that
13:31:49*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:31:56FromGitter<krux02> I made a new version of glm
13:32:02FromGitter<krux02> I gave it Version 1.0.1
13:32:14*claudiuinberlin joined #nim
13:32:36*claudiuinberlin quit (Client Quit)
13:38:50*Arrrr joined #nim
13:38:50*Arrrr quit (Changing host)
13:38:50*Arrrr joined #nim
13:42:21*JappleAck joined #nim
13:42:26*skrylar joined #nim
13:44:06*claudiuinberlin joined #nim
13:47:26FromGitter<krux02> dom96: would it be possible to make nimble depend on tagging versions only? I mean no nimble file that specifies a version
13:47:36FromGitter<krux02> I think it is kind of redundant
13:48:08*JappleAck quit (Ping timeout: 255 seconds)
13:48:58dom96We could do this, but I don't want to. For multiple reasons: I don't think it's trivial to find the git tag that a given commit hash is under
13:49:18dom96and I want to support Nimble packages that don't have a Git/Hg repo associated with them
13:53:31FromGitter<krux02> dom96: the later one can be supported, when the version assignment is optional
13:54:22dom96Hrm, true. Make an issue, I'll consider it.
13:56:12FromGitter<krux02> and the first one "git checkout <hash>; git describe --abbrev=0 --tags"
14:02:00*Jesin joined #nim
14:04:22*Jesin quit (Remote host closed the connection)
14:05:46*JappleAck joined #nim
14:09:27*Jesin joined #nim
14:14:31*derlafff quit (Remote host closed the connection)
14:15:01*Jesin quit (Quit: Leaving)
14:20:44*nsf quit (Quit: WeeChat 1.9)
14:21:35cremhttps://damn.dog/ guess a wikihow article by image. :) Pretty fun.
14:22:34FromGitter<Yardanico> @Araq: what date can be considered as a birthday of Nim ? :)
14:22:45FromGitter<mratsim> @krux02 @wuehlmaus yep macOS disguising GCC is a pain, and Apple clang doesn't support OpenMP ... I still think it's the best dev environment because UNIX + you don't have think about all the GUI stuff, Linux driver support/incompatibilities and what not.
14:24:23FromGitter<Yardanico> well I don't have to think about linux driver support/incompatibilities and GUI too :P ⏎ install lxqt, install nvidia binary driver = profit, everything works
14:25:00FromGitter<Yardanico> though I'm on windows right now (because of games)
14:25:31*PMunch quit (Quit: Leaving)
14:28:01FromGitter<gokr> Been on Ubuntu for many years now, all works just fine.
14:30:50*gokr joined #nim
14:35:13FromGitter<mratsim> The worse thing on Linux imo is updating your kernel and suddenly your WiFi drivers don't work anymore ...
14:35:46*derlafff joined #nim
14:36:22FromGitter<mratsim> But that's bleeding edge for you
14:37:24FromGitter<gokr> Thing is... on Ubuntu these days, at least in my experience, these things don't really happen.
14:38:33watzonIs there any way to run `nim -c` quietly?
14:38:37watzonSorry, `nim c`
14:38:49FromGitter<gokr> I used to play around with a source distro years back, sure, time sink. But with Ubuntu on a good laptop - stuff just works.
14:41:59FromGitter<gokr> Just checked, yeah, I got this machine in 2012, and its just been smooth sailing through all updates since "Precise Pangolin". It also autodetected all hardware IIRC.
14:43:24watzongokr: so far I've found Fedora to be the same way. Even 27 beta which I'm currently testing
14:44:52FromGitter<gokr> yeah, Linux has come a looooong way since the early days. In fact, I always find it MUCH harder to install Windows (the few times I have tried) than Ubuntu. With Windows I always end up chasing driver downloads from a slew of vendor websites. Not so with Ubuntu.
14:46:06*couven92 joined #nim
14:51:42FromGitter<andreaferretti> In fact I was recently forced to switch my Ubuntu laptop for a Mac and I have a few issues with networking (when reattaching cables) and external screen that I did not have under Ubuntu
14:51:46FromGitter<andreaferretti> Go figure
14:54:43FromGitter<Varriount> @gokr Do you still use a Desktop?
14:55:09FromGitter<gokr> No, laptop. Lenovo x220.
14:55:09FromGitter<Varriount> Most laptops and pre-made desktops come with the correct drivers, and Windows update generally keeps them updated.
14:56:05FromGitter<gokr> yeah, it was a long time ago I installed Windows - so it's hopefully much better there too
15:00:45*xet7 quit (Quit: Leaving)
15:03:44*miran_ joined #nim
15:04:03*nhywyll joined #nim
15:04:05*miran_ quit (Client Quit)
15:04:48*derlafff quit (Ping timeout: 240 seconds)
15:05:27*derlafff joined #nim
15:05:44*miran_ joined #nim
15:08:02couven92Araq, I get a `nimcache\r_windows_amd64\stdlib_system.c(5653): error C2124: divide or mod by zero` when compiling Nim with vcc from newest origin/devel!
15:12:57*dddddd joined #nim
15:13:07*Snircle quit (Quit: Textual IRC Client: www.textualapp.com)
15:13:13FromGitter<Yardanico> @mratsim guess what? I'm using bleeding-edge Antergos (it's basically Arch Linux), so I always have newest linux kernel & drivers :P
15:13:18FromGitter<Yardanico> and everything still works
15:13:27FromGitter<Yardanico> maybe I'm just lucky ? :)
15:15:12FromGitter<mratsim> Maybe you didn't run Arch for 7 years ;), well to be honest it's as rare as the pulseaudio fiasco but it's always when I least want it :p
15:23:12*Trustable joined #nim
15:23:58watzonOk so I'm trying to get a good JsonNode to queryString implementation going and I'm hitting a roadblock
15:24:09watzonHere is what I have now
15:24:09watzonhttps://gist.github.com/watzon/fc2144bd003d1e6afc9dd78d869683e0
15:24:44watzonGranted it's not very good and only works for string values, anything else seems to get ignored
15:26:48couven92nim creates non-compilable code for me! :( https://github.com/nim-lang/Nim/issues/6606
15:29:18cremThat's a puzzle generator. Make it compileable.
15:29:37*miran_ quit (Quit: Leaving)
15:30:38*couven92 quit (Quit: Client disconnecting)
15:31:10*miran_ joined #nim
15:44:02*vlad1777d joined #nim
15:45:05*xet7 joined #nim
15:45:57*arnetheduck quit (Ping timeout: 240 seconds)
15:47:22watzonCan anyone improve on this? https://gist.github.com/watzon/fc2144bd003d1e6afc9dd78d869683e0
15:49:35*xet7 quit (Ping timeout: 240 seconds)
15:59:22euantorI'd probably use `case` on `val.kind` rather than having two nested `if`s
15:59:45euantorAnd I'd probably not build an intermediate seq, but build the string in one go
16:01:50miran_building lists (seqs) and then concatenating them to a string is a python way of doing this :)
16:02:47miran_i'm guessing watzon is coming from python world?
16:03:21*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
16:03:26FromGitter<dandevelo> What is wrong with this inheritance code? https://play.nim-lang.org/?gist=0daa8a71af40d37ef3cd9e9c12977fbf
16:03:38watzonLol no actually, I kinda hate python. I just couldn't think of a better way to do it
16:04:48*xet7 joined #nim
16:05:05euantorSomething like this is how I would do it: https://play.nim-lang.org/?gist=c1ba96da145d80493554e10e8111aeb7
16:06:23miran_watzon: i rarely hear that somebody hates python... what are your reasons? :)
16:06:46FromGitter<dandevelo> If you have a derived object, how do you pass that object to a function that only accepts the base type?
16:07:06FromGitter<dandevelo> Here is what I am trying to do: https://gist.github.com/anonymous/0daa8a71af40d37ef3cd9e9c12977fbf
16:08:12watzonmiran_: I have a plethora, but I'd have to get back into python to remember most of them. I hate PIP and the way imports are handled to start, It also has a lot of very odd behavior
16:08:31watzonI mostly like the syntax though, which is one thing that got me interested in nim
16:09:25watzoneuantor: that's what I'm talking about! Haha
16:09:35miran_you mean explicit imports (where you exactly know what is coming from where; unlike nim)? :)
16:10:42*gokr quit (Ping timeout: 258 seconds)
16:11:16watzonmiran_: No haha, that part is nice. I can't remember really, it's been a while since I've worked in it.
16:11:34watzonI just remember being extremely frustrated every time I start
16:12:36miran_watzon: if this was long time ago, things might have changed for the better. probably not all of your complaints, but currently python (3.6) is quite nice
16:13:03watzonmiran_: Not too terribly long, just last year
16:13:21miran_heh, then it's probably mostly the same :)
16:13:24*ofelas joined #nim
16:13:52watzonLooking at my github it would be September, 2016 since I last touched it
16:14:14watzonSince then I've been mainly focused on Crystal, Node, and Nim
16:14:27FromGitter<dandevelo> Anyone can help with this? https://play.nim-lang.org/?gist=0daa8a71af40d37ef3cd9e9c12977fbf
16:15:35watzondandevelo why is your `DoSomething` proc capitalized?
16:16:29FromGitter<dandevelo> @watzon just habit I guess :) is that wrong?
16:16:48watzonYes haha. At least as far as standards go
16:17:26watzonOnly types should be capitalized as far as I know. And constants, but those should be all caps
16:18:01FromGitter<dandevelo> got it
16:18:53FromGitter<dandevelo> @watzon do you know what's wrong with that code?
16:19:18watzonWell this compiles, don't know how right it is though
16:19:19watzonhttps://play.nim-lang.org/?gist=8837738165c8c34361ca94a97c10aede
16:22:08FromGitter<dandevelo> So you changed the ptr to a ref, right?
16:22:55*obadz- joined #nim
16:23:07*nhywyll quit (Ping timeout: 260 seconds)
16:23:27dom96no constants shouldn't be all caps
16:23:37dom96They should follow the type naming convention
16:23:45dom96or the variable naming convention
16:23:57dom96I prefer the latter
16:24:27*Andris_zbx quit (Remote host closed the connection)
16:25:05*obadz quit (Ping timeout: 240 seconds)
16:25:08*obadz- is now known as obadz
16:27:17FromGitter<alehander42> I never understood that in nim code, in 80% of other languages constants are in CAPS_LOCK, why not here?
16:30:05watzondom96: Interesting, didn't know that
16:30:18watzondandevelo yes
16:30:37dom96I think the reason is that we don't believe consts deserve to be emphasised this way
16:30:41watzonAnd cleaned up the code a little
16:34:52FromGitter<alehander42> I think they do deserve to be emphasised in some way, and the most logical one is the one that will suprise the least programmers coming to Nim : all caps (but I can see that is a subjective matter)
16:35:12dom96Why do you think they deserve to be emphasised?
16:36:21*nhywyll joined #nim
16:37:08FromGitter<alehander42> it's useful to know immediately that a variable is always constant and that it probably signifies some fundamental limit/truth for the program (and is not just some global variable that can be changed in unknown places)
16:37:43FromGitter<dandevelo> Is there any good resource on object inheritance in Nim?
16:40:17dom96alehander42: keep in mind that 'let' variables in Nim are immutable as well
16:40:23dom96and consts aren't always global
16:40:42FromGitter<alehander42> I know that's actually hated by most people, but e.g. I like that in Ruby global variables themselves must be `$name` which immediately throws in your face the fact that a global variable is used somewhere (or many of them)
16:41:55FromGitter<alehander42> well, honestly, if I had my own language, I'd make let variables default, and I'll also add a sigil for mutable variables, but I can see that's not very practical, so I am defending some middle ground here :D
16:42:58dom96Araq would argue that this is the IDEs job
16:43:19dom96to notify you of whether an identifier is a proc/type/mutable var/immutable var/const
16:44:54FromGitter<alehander42> I kinda agree with deferring some of this work to the IDE
16:45:32federico3alehander42 Python has the double underscores for a similar reason
16:45:38FromGitter<alehander42> but it's just not as effective: e.g. how do I know a name is a mutable var / const ? I have to move my mouse over it, or to go to its definition
16:45:56FromGitter<alehander42> and it's very hard to immediately assess stuff for a bigger block of code
16:46:01FromGitter<alehander42> this way
16:46:01*Sentreen quit (Quit: WeeChat 1.6)
16:46:17FromGitter<alehander42> (maybe an IDE can just show me hints for all on a shortcut, yeah)
16:47:04*Sentreen joined #nim
16:47:10FromGitter<alehander42> actually the __ in python suck, they're very inconsistent compared to the naming of "magic" methods in ruby
16:47:29FromGitter<alehander42> or nim
16:48:19FromGitter<dandevelo> How do you get a pointer to a base object from a reference to the derived object?
16:48:56federico3If a language requires an IDE to be usable, it's not expressive enough
16:49:53dom96this is about readability
16:49:55dom96not expressivity
17:10:43*cspar joined #nim
17:18:49shodan45what if I use a text editor like https://en.wikipedia.org/wiki/Ed_(text_editor) ? ;)
17:19:25*ofelas quit (Quit: shutdown -h now)
17:20:23*Sentreen quit (Quit: WeeChat 1.6)
17:20:49FromGitter<alehander42> `` line can be used to affect line information of the annotated statement as seen in stack backtraces:` why do we need that in assert definition ? it breaks stepping in lineDir:on , because asserts are generated on 3 #line <x> which confuses gdb (it thinks that it goes line x, line x + 1, line x)
17:21:10*Sentreen joined #nim
17:36:00GitDisc<GooRoo> @shodan45 then probably you've lost in 20th century and there is no Nim yet
17:36:32*Sentreen quit (Quit: WeeChat 1.6)
17:37:06*Sentreen joined #nim
17:38:01shodan45GooRoo: you time-ist!
17:44:02*claudiuinberlin joined #nim
17:44:59*Ven joined #nim
17:45:22*Ven is now known as Guest6907
17:45:35*miran_ quit (Ping timeout: 248 seconds)
17:46:41FromGitter<Varriount> dom96: "If a language requires an IDE to be usable" -> *Glares at Java*
17:47:12FromGitter<Varriount> federico3 ^
17:49:31FromGitter<kdheepak> I'll chime in and say that I'm finding myself using Nim on remote machines often, and often I'm just reading the existing code base. Or reading code on GitHub.
17:52:19*nsf joined #nim
17:53:21FromGitter<kdheepak> I bring this up because I have a suggestion of nim devs, ( or at least I'd like to hear what their thoughts are on this ). Currently Nim uses a post fix `*` character to signify that a identifier is exported. What are peoples thoughts on using an optional `export` statement at the top of the file to do the same thing. Nim can support both, but imho `export` is easier to quickly glance at and see what procedures are
17:53:21FromGitter... being exported i.e. what functionality the library author is intending to expose.
17:53:27FromGitter<mratsim> @dandevelo do you just need the base type or a pointer to another object? In any case inheritance only works for ref or plain objects
17:54:21FromGitter<mratsim> If you want a pointer to another object just add a field “parent: ref Base” to your Derived
17:54:23*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:54:52FromGitter<mratsim> if you want to know the base type from the derived object I think you need the getType macro/template
17:57:10FromGitter<Yardanico> @kdheepak can you have an example of your statement?
17:58:00dom96@kdheepak have you tried it? I think this might work already
17:58:10dom96you can definitely export things from imported modules
17:58:42*Sentreen quit (Quit: WeeChat 1.6)
17:58:53*Sentreen joined #nim
17:59:02*miran_ joined #nim
17:59:03FromGitter<mratsim> export only works for imported proc/types, but not for types defined in the current file
17:59:43*Sentreen quit (Client Quit)
17:59:46FromGitter<kdheepak> @Yardanico I like how julia (https://github.com/JuliaLang/julia/blob/master/base/mathconstants.jl#L11) does this.
18:00:11FromGitter<kdheepak> @dom96 well what do you know.
18:00:28FromGitter<kdheepak> Nim somehow has every feature I like and more.
18:01:40FromGitter<kdheepak> Actually, I don't think this is doing exactly what I was implying it should.
18:01:45FromGitter<mratsim> Ah I see, but with forward declaration it should be at the bottom ;). I suggest you open a RFC on Nim bug tracker to allow “export” on proc/types defined withing a module
18:02:11dom96yeah, should be a trivial addition to the language
18:02:13FromGitter<kdheepak> @dom96 Using the `export` statement requires it to be defined in another module already, correct?
18:02:54FromGitter<mratsim> @kdheepak yes see Araq’s comment: https://forum.nim-lang.org/t/3269
18:03:11FromGitter<mratsim> > export is about forwarding an imported symbol, it cannot be used to export a local symbol.
18:05:06*Sentreen joined #nim
18:05:07FromGitter<mratsim> The forum “feature” were new users can post and bring a topic to the top but their contributions is hidden brings too much suspense to Nim forum. I’m dying from anticipation >_>
18:05:44dom96Fixed :)
18:05:51dom96The forum desperately needs a "moderation queue"
18:09:03FromGitter<Yardanico> Just give me moderator rights on the forum and I'll solve all Earth problems :P
18:09:22FromGitter<mratsim> 1) Earth implodes ===> Fixed :P
18:10:01*Guest6907 quit (Ping timeout: 240 seconds)
18:11:42FromGitter<kdheepak> Thanks all. I've submitted an issue here #6607.
18:13:14*claudiuinberlin joined #nim
18:13:45*gokr joined #nim
18:14:23GertmHow do I go from the @"stuff" things in Jester to a normal string?
18:15:24FromGitter<Yardanico> you get a normal strings with @"stuff"
18:15:25*xet7 quit (Remote host closed the connection)
18:15:26FromGitter<Yardanico> *string
18:15:41GertmHmm, strange. I must be doing something else wrong then.
18:17:43GertmYes, I misread the error message. Thanks.
18:21:42watzonWhat's the best way to auto-generate documentation?
18:22:28watzonI know of the `nim doc` command, but it seems like that just takes one file and builds an html file in the same directory
18:23:42federico3it does
18:23:57dom96all the docs?
18:23:58dom96./koch docs
18:24:17FromGitter<Yardanico> watzon: for nim?
18:24:19FromGitter<Yardanico> or for your project?
18:24:36watzonMy project
18:25:16watzonHow is it done for nim itself? I can't seem to find any scripts that have a doc generation command
18:25:41dom96for file in walkFiles("./*.nim"): exec "nim doc2 " & file # or similar
18:25:51dom96:)
18:26:09federico3should --project do this in future?
18:28:27*Ven_ joined #nim
18:29:59watzonI feel like doc generation would be a nice thing to have be a part of nimble
18:30:35watzonThere could be a docDir param and it already know's the source files
18:35:47FromGitter<Gooseus> so did I read there was gonna be a stream soon @dom96 ?
18:36:40dom96Araq's apparently in an hour
18:36:45FromGitter<Yardanico> yes
18:36:52dom96Somebody should add a countdown feature to NimBot
18:37:01FromTwitch<yardanico> checking twitch bridge just to be sure
18:37:03dom96to make arbitrary countdowns
18:37:16dom96or you can add it to the FromTwitch bot I guess
18:37:20FromGitter<alehander42> I think it's nice that `*` is required, it's a little syntactic weight on public members which redirects the power of laziness to a bit more encapsulation :D
18:38:40watzonAnyone have a link to Araq's twitch?
18:38:41FromGitter<Gooseus> cool cool, looking forward to it... @Varriount you around? I heard you had maybe worked on an aws sdk at one point?
18:38:51watzonWhat's the stream going to be about?
18:39:13dom96actually, not an hour, 20 minutes
18:39:16FromGitter<Yardanico> pointer free programming
18:39:30FromGitter<Yardanico> watzon: https://go.twitch.tv/araq4k
18:39:40Araqhmm I should prepare my talk. oh well
18:39:52FromGitter<Yardanico> 20 minutes - prepare ? :)
18:41:25FromGitter<mratsim> Well “last minute powerpoint” is a thing :P
18:42:04gokrWoaaaahhh....
18:42:19FromGitter<Gooseus> if bill o'reilly was good for anything, it was his approach to going on air
18:42:26FromGitter<Gooseus> https://media.giphy.com/media/A34x7CEKUkCyc/giphy.gif
18:42:30gokrI think Pony just went from "quite interesting" to ... "possibly hot".
18:42:38gokrhttps://blog.wallaroolabs.com/2017/10/why-we-used-pony-to-write-wallaroo/
18:43:27dom96Every time I see things about Pony I wonder what it offers that Nim doesn't
18:44:04FromGitter<Yardanico> actors
18:44:05FromGitter<Yardanico> probably
18:44:10FromGitter<Yardanico> I mean built-in ones
18:44:23dom96oh? https://nim-lang.org/docs/actors.html
18:44:36FromGitter<Yardanico> they have more performance
18:44:51dom96What are you basing that assessment on?
18:45:51FromGitter<Yardanico> dom96: well, why does this module has "Note: This whole module is deprecated. Use threadpool and spawn instead." ? :)
18:46:01*Arrrr quit (Read error: Connection reset by peer)
18:46:10FromGitter<Yardanico> nim doesn't have good built-in "green threads" (yet)
18:46:20FromGitter<mratsim> Pony can say “J.P. Morgan built something in Pony"
18:46:47FromGitter<superfunc> If I change my name to J.P. Morgan, so can we :)
18:47:06FromGitter<mratsim> but I think their 5 different capabilities can be done in Nim
18:47:12FromGitter<Yardanico> yes they can
18:47:17FromGitter<mratsim> I used to work for J.P. Morgan and it was all Java ;)
18:47:20FromGitter<Gooseus> jeez... does anyone maintain an ever updating multi-dimensional comparison of programming languages out there?
18:47:35FromGitter<Yardanico> it would be incredibly hard to do
18:48:19FromGitter<mratsim> The thing is, comparisons are usually 2D because, Tables are 2D, Graphs are 2D, everything is 2D !
18:48:52FromGitter<mratsim> We could use “Dimensionality Reduction” techniques like PCA or SVD but I guess we would lose everyone ;)
18:49:10FromGitter<Gooseus> right, but you can many 2D tables comparing multiple dimensions and then pair those with benchmarks for various demonstrations of capabilities or something...
18:49:25watzonIs there any way to iterate over files in a directory with nimscript instead of Nim? nimscript can't import the os module to use walkDir
18:49:37FromGitter<mratsim> You can’t really benchmark ergonomics though or expressiveness
18:50:32FromGitter<Gooseus> but I was thinking it'd be more like a encyclopedic project for someone to build, like a taxonomy and history
18:50:54FromGitter<Gooseus> you'd use something like rosetta stone to compare expressiveness
18:50:55FromGitter<mratsim> Ah i see
18:51:04Araqan actor is just a nice word for "we replaced a function call 'x = f(a, b)' by 'send someChannel, a, b; let x = recv(differentChannel)'
18:51:27FromGitter<Gooseus> yeah, see I also want a good taxonomy of these terms that explain things like that
18:51:30FromGitter<mratsim> I sa something from O’Reilly the other day, it was language family, roots, etc, but it stopped at 2004
18:51:58Araqnothing that makes me excited, the first rule of building distributed systems is "don't build distributed systems"
18:56:00FromGitter<Yardanico> btw, vscode changed their icon back to blue color :P
18:56:10FromGitter<Yardanico> https://code.visualstudio.com/blogs/2017/10/24/theicon
18:56:11federico3Araq: and the second is "if you really have to, make them very simple"
18:56:58GitDisc<GooRoo> @Yardanico I've just got used to the orange one. And now again 
18:59:11FromTwitch<d0m96> Kappa Kappa
18:59:25FromGitter<kdheepak> I think the real reason pony is doing well is that they have a pony emoji on their github information. Nim could use one too -> 
18:59:38FromGitter<kdheepak> What is the significance behind the crown btw?
18:59:56dom96kdheepak: lol, did you see our GitHub readme?
19:00:16FromGitter<alehander42> maybe nim is the real son of queen elisabeth 2
19:00:39FromGitter<Yardanico> @kdheepak Nim was "Nimrod" firstly
19:01:10FromGitter<Yardanico> but many people got weird references to some stupid meanings instead of the true one - https://en.wikipedia.org/wiki/Nimrod
19:01:14FromGitter<superfunc> Ah, the good old days
19:01:20FromGitter<Yardanico> maybe also of other reasons, but Nimrod was changed to Nim
19:01:34dom96nah, that was the reason :)
19:01:52dom96and the only reason really
19:01:55FromGitter<Yardanico> there's still some references to nimrod though: https://github.com/nim-lang/Nim/search?q=Nimrod
19:02:12dom96It was a good decision to change the name. Probably one of the best decisions we've made
19:02:22FromGitter<alehander42> nim is better, because it's easier to remember and you can build more puns for tools and libraries based on a shorter word
19:02:23FromGitter<kdheepak> Ah. I knew it was called nimrod, but didn't know this meaning. TIL.
19:02:31FromGitter<Yardanico> yeah, Nim is short yet very unique
19:02:42FromGitter<Yardanico> google "nim", you don't even have to google "nimlang"
19:02:45dom96Nimble also used to be called Babel
19:02:51FromGitter<Yardanico> yeah, I saw that :P
19:03:07dom96Yardanico: open a private tab and try that again
19:03:16*_RPG_ joined #nim
19:03:18FromGitter<alehander42> yep, I see this google problem with other languages all the time, crystal subreddit had loads of magic crystals for healing people attacking them
19:03:25FromGitter<Yardanico> dom96: let me see
19:03:30dom96that might not even be enough in fact
19:03:32FromGitter<Yardanico> still nim
19:03:37dom96I think Google knows who you are based on IP
19:03:44*dom96 tries Tor
19:04:00miran_try DDG ;)
19:04:04FromGitter<Yardanico> ok
19:04:17dom96of course Google won't let me use it via Tor...
19:04:18FromGitter<Yardanico> It shows nim
19:04:24FromGitter<Yardanico> dom96: xD
19:04:28FromGitter<Yardanico> https://duckduckgo.com/?q=nim&t=h_&ia=web
19:04:38FromGitter<mratsim> Nim is better than Go and Rust but not by much ….
19:04:45*claudiuinberlin quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:04:55dom96"Not by much". u wut m8?
19:04:56GitDisc<GooRoo> perhaps the worst language name is io
19:05:01*gokr quit (Ping timeout: 240 seconds)
19:05:12FromGitter<mratsim> As a “searchable name"
19:05:17FromGitter<mratsim> ;)
19:05:25dom96Yeah, I know that's what you meant
19:05:32dom96I'm still u wut m8ing
19:05:35dom96:P
19:05:40dom96It's far more searchable
19:05:43FromGitter<Yardanico> well there's a game called rust :P
19:05:46FromGitter<Yardanico> but yeah
19:05:47dom96I mean, "Go", really?
19:05:56FromGitter<Yardanico> yeah
19:05:58FromGitter<Yardanico> IDK how
19:06:00dom96That's like one of the most common words in the English language
19:06:06FromGitter<Yardanico> it shows golang first
19:06:20FromGitter<Yardanico> maybe they've made a lot of PR stuff and optimizations in search engines :P
19:06:24dom96Again, it knows your preferences :)
19:06:30dom96Google knows you're a programmer
19:06:38FromGitter<alehander42> it's amazing that it manages to be less googlable than D
19:06:39FromGitter<Yardanico> yeah, I know that
19:06:42FromGitter<mratsim> well even C and D were probably hard to search at first
19:07:06dom96lol
19:07:10dom96Finally got through to Google via Tor
19:07:22FromGitter<Yardanico> and what's the result?
19:07:28miran_eh, be me. couple of months ago. try to search stuff related to F#. ungh.
19:07:30FromGitter<alehander42> but I agree that it doesn't really matter so much because most people get the right results anyway
19:07:33FromGitter<dom96> (https://files.gitter.im/nim-lang/Nim/hBkF/Screen-Shot-2017-10-26-at-20.06.59.png)
19:07:42FromGitter<superfunc> Go is a terrible name
19:07:46FromGitter<Yardanico> @dom96 dafuq
19:07:49dom96Pretty good
19:07:50*ipjk joined #nim
19:08:01FromGitter<Yardanico> arabic tor node ?P
19:08:04dom96But yeah, it gave me an Arabic Google
19:08:21FromGitter<Yardanico> and it says "google.fr" wtf
19:08:46dom96yeah
19:08:54FromGitter<mratsim> Groovy and Terra were probably hard to search :P
19:09:16dom96kinda creepy huh?
19:09:19*Ven_ quit (Ping timeout: 248 seconds)
19:09:24FromGitter<Gooseus> ha, I asked that question about king nimrod yesterday and nobody said anything... I had a feeling it had to do with the biblical tower of babel story
19:09:39FromGitter<Yardanico> that's why nimble was babel
19:10:05*derlafff quit (Ping timeout: 240 seconds)
19:10:08GitDisc<GooRoo> it's not Arabic btw
19:10:13GitDisc<GooRoo> it's Hebrew
19:10:37FromGitter<alehander42> if it looks like squares on LSD , it's hebrew
19:10:50FromGitter<Yardanico> well I can't know how all languages look :P
19:11:15FromGitter<Yardanico> @Araq: what about your stream ? :)
19:11:39FromTwitch<karyoten> So it's Creative + Programming :)
19:11:50FromGitter<Yardanico> yay!
19:11:58FromGitter<Yardanico> hacktoberfest email
19:12:08FromGitter<Yardanico> about redeeming t-shirt
19:12:45miran_Yardanico - yeah, got that mail on monday
19:13:12Araqhello guys?
19:13:17FromTwitch<gooro0> @araq4k we hear you, just go on
19:13:22FromGitter<alehander42> yep
19:13:25miran_now i wait and hope customs won't decide to tax it and/or put a fee on it
19:13:27FromGitter<Gooseus> of course, in the story nimrod was a dick and the tower of babel pissed of god so much that he made everyone involved unintelligible to each other... which I guess is the biblical reason for every other language but hebrew?
19:13:34FromGitter<superfunc> thanks for putting the shirts together @dom96 im super stoked
19:15:24*Ven joined #nim
19:15:39*couven92 joined #nim
19:15:47*Ven is now known as Guest20545
19:15:58dom96superfunc: :D
19:16:07dom96Hope you like them :)
19:17:27dom96looks like I'll have to miss the beginning of Araq's stream
19:21:55*Snircle joined #nim
19:22:11GitDisc<treeform> link to stream?
19:22:17FromTwitch<yardanico> https://go.twitch.tv/araq4k
19:22:23GitDisc<treeform> ty vm
19:22:41*Guest20545 quit (Ping timeout: 248 seconds)
19:23:18*gokr joined #nim
19:26:02*Ven_ joined #nim
19:27:25FromTwitch<treeform> is e@id sameas e[id] ?
19:27:51FromTwitch<gooro0> yep
19:27:52FromTwitch<treeform> `e@id` same as e[id]
19:28:00FromTwitch<treeform> ok, can't type it
19:28:44couven92treeform, you can see his definition for the @ template in line 20
19:29:14*Snircle quit (Ping timeout: 255 seconds)
19:29:46FromTwitch<treeform> yeah I see it now. thanks!
19:29:53FromTwitch<treeform> I though it was a feature
19:30:48*claudiuinberlin joined #nim
19:31:29*Snircle joined #nim
19:33:44couven92oooohhh ugly hack!
19:33:58FromTwitch<yardanico> where ? :)
19:34:30couven92what he's going to do! :P
19:34:45FromTwitch<yardanico> It's not an ugly hack, it's a good feature :P
19:34:51FromTwitch<yardanico> I think this will be in the compiler in the future
19:35:01FromTwitch<yardanico> but I *might* be wrong
19:35:57couven92not sure about just blindly using the first param though
19:36:02FromTwitch<treeform> is he making a "pointer" that points at a openArray and then an index ?
19:36:12*gokr quit (Ping timeout: 260 seconds)
19:36:15FromTwitch<yardanico> he's making a macro to hide all unsafe stuff from you
19:36:20couven92the ptrs macro should really accept the index or name of the parameter to reference!
19:36:36couven92Araq ^
19:36:51dom96hrm, I have to turn up the volume quite a lot this time to hear him
19:36:59dom96anybody else?
19:37:02FromTwitch<yardanico> dom96: it's fin efor me
19:37:06FromTwitch<treeform> fine for me
19:37:26dom96weird
19:37:36FromTwitch<gooro0> Wait... It's a Slack icon in the taskbar, isn't it? Why the hell don't we use Slack then?! :)
19:37:58FromTwitch<yardanico> it's a Xored company slack channel
19:38:01miran_dom96: yes, slightly quieter than usually
19:38:05FromTwitch<d0m96> because we need a Slack<->IRC bridge plus Sign up website
19:38:16FromTwitch<yardanico> http://www.xored.com/
19:38:26FromTwitch<d0m96> Yardanico: Oh? Are you sure?
19:38:33FromTwitch<yardanico> yes I am 100% sure
19:38:40FromTwitch<gooro0> where is my rolling eyes smile?
19:38:40FromTwitch<d0m96> Ehh, how?
19:38:43FromTwitch<yardanico> you can ask Araq about it :P
19:38:45FromTwitch<d0m96> You can't see his Slack
19:38:48FromTwitch<d0m96> And you're wrong
19:38:58FromTwitch<yardanico> are you sure I'm wrong? :)
19:39:15FromTwitch<d0m96> Yes, because I know for a fact that he's in a Slack that I created for us
19:39:26*Snircle quit (Ping timeout: 252 seconds)
19:39:33FromTwitch<yardanico> well are you sure he's only in this channel?
19:39:42FromTwitch<gooro0> A bit of offtopic, sorry
19:39:58FromTwitch<yardanico> yeah, sorry
19:40:05FromTwitch<d0m96> No, but he's certainly in more than just the Xored channel :)
19:41:24couven92we should really move all non-stream discussions to #nim-nologs or #nim-offtopic while the stream is in progress, so that we don't distract him with his fancy macro! :P (purposefully not mentioning his nick here!)
19:42:01FromTwitch<yardanico> well sadly there's no gitter room for #nim-offtopic :(
19:43:27FromTwitch<yardanico> lol :P
19:43:52FromTwitch<treeform> Why is it a {.ptrs.} macro over whole function vs some thing like a = safePtr(b)
19:44:06couven92Araq, pretty sure it'd node.ident instead of repr, but iirc you can also simply do $ as it works for both ident and symbol nodes?
19:45:21FromTwitch<karyoten> This is when you need a fuzzy matcher + ripgrep
19:45:23dom96I promised I would create a Gitter room for us, so here it is https://gitter.im/nim-lang/twitch
19:45:32*Snircle joined #nim
19:45:36couven92dom96, +1
19:45:48FromTwitch<yardanico> ask oprypin to bridge it to #nim-offtopic
19:45:57*Ven_ quit (Ping timeout: 240 seconds)
19:46:33dom96I'm sure he'll see that message
19:48:15*Trustable quit (Remote host closed the connection)
19:48:52*Vladar quit (Quit: Leaving)
19:49:13FromTwitch<treeform> yep, thanks
19:50:51couven92Araq why copy instead of just returning n in the else block?
19:51:46couven92ah! of course sorry
19:52:43FromGitter<zacharycarter> https://imgur.com/a/Pauuy
19:53:04FromTwitch<yardanico> zacharycarter: if you're interested - https://go.twitch.tv/araq4k :)
19:53:36FromGitter<zacharycarter> sweet thanks bud :)
19:56:24couven92Araq shouldn't you technically bindSym"int" and other question: if you have to cast is it better to use unsigened int for indicies?
19:56:52FromTwitch<yardanico> they take less memory, probably because of that
19:57:01FromTwitch<yardanico> and also because uint can't be negative :)
19:57:41couven92yardanico exactly, I want to make sure that I do not have negative indicies by accident
19:58:55*Ven joined #nim
19:59:18*Ven is now known as Guest34872
19:59:44FromGitter<mratsim> You can use “Natural” or “Positive” instead of uint though
20:00:17FromTwitch<yardanico> it won't work if your program gets indices as an input at runtime when compiled with release mode
20:00:43FromTwitch<yardanico> because range checks are disabled with -d:release
20:00:54FromGitter<mratsim> Always test without release first ;)
20:01:16FromTwitch<yardanico> well I mean it won't work in -d:release
20:01:48couven92"naming is hard"
20:02:44FromGitter<mratsim> I feel your pain, there is a “autoIndent” option in the workspace
20:03:06*smt` is now known as smt
20:03:18FromTwitch<yardanico> it was fine before though
20:03:23FromGitter<mratsim> "editor.autoIndent": false,
20:03:24*derlafff joined #nim
20:03:27FromTwitch<yardanico> but in one update vscode fucked up indentation detection
20:03:30FromTwitch<yardanico> :
20:03:32FromTwitch<yardanico> :/
20:03:36FromGitter<mratsim> It changed during summer
20:05:24FromTwitch<treeform> why use repr vs $ ?
20:06:02couven92Araq ^
20:07:28*derlafff quit (Ping timeout: 240 seconds)
20:13:22*pyloor joined #nim
20:16:15couven92I almost expected the macro names ptrsToRuleThemAll now! :D
20:18:32couven92Araq, isOpenArray should return bool, no?
20:19:22FromTwitch<treeform> do people use openArray? I always use a seq? Should I use it more?
20:19:48couven92treeform yes, because people calling your code could use arrays as well
20:21:05couven92so as he says: it's both more restrictive (you might say: safer), but it also gives flexibility
20:21:47*gokr joined #nim
20:23:36couven92Araq, what about params where there is no type info at position ^2
20:23:52couven92e.g. where there is a default value that gives the type implicity
20:27:52FromTwitch<treeform> bye
20:27:55FromTwitch<yardanico> bye !
20:28:27*miran_ quit (Ping timeout: 240 seconds)
20:28:48*Guest34872 quit (Ping timeout: 240 seconds)
20:29:35*huonw quit (Ping timeout: 240 seconds)
20:32:04*huonw joined #nim
20:35:48FromGitter<mratsim> Julia got a big spot on Nvidia blogs, when is it Nim turn: https://devblogs.nvidia.com/parallelforall/gpu-computing-julia-programming-language/ (Note: Julia has been broken for more than a year on the biggest competitive data science website and no one cares)
20:37:59dom96One of us needs to get a job at Nvidia and write a blog post about Nim :)
20:44:39Araqcouven92, I broke html generation for the tester btw
20:44:42Araqyou need to fix it
20:44:47couven92:)
20:44:59Araqit's complexity is O(n^2) and doing weird things
20:45:07Araq*its
20:45:17couven92Araq, will look into it
20:45:32couven92any thoughts on https://github.com/nim-lang/Nim/issues/6606 is the meantime?
20:45:55couven92+1 for parallel testament btw! :)
20:46:13Araqer, what?
20:46:21Araqthat commit is about parsecsv
20:46:45couven92no, earlier today that was HEAD of origin/devel
20:46:50AraqI think you mean the commit that changed NaN handling again?
20:46:57couven92is just included the commit so that the line number match
20:47:09AraqI don't understand you
20:47:10*JappleAck quit (Ping timeout: 255 seconds)
20:48:24couven92I wrote down line numbers in the output in the issue. For the line numbers to make sense, I stated in which git state I was in when I discovered the error, so that the line numbers would make sense
20:52:18Araqok, do this
20:53:21Araqgit log -p lib\nimbase.h
20:53:23*huonw quit (Ping timeout: 246 seconds)
20:54:37*UxerUospr joined #nim
20:54:46couven92Araq, looking at the history of nimbase.h... why?
20:54:58Araqbecause it's a regression, right?
20:55:33couven92I have no idea! I wrote down the issue two minutes before I went to the bus station, I don't know what has happened here.
20:55:40couven92But sure, might be a regression
20:56:05*huonw joined #nim
20:56:05GitDisc<treeform> What are peoples thoughts? Should i use nim's async stuff or normal network+thread stuff for a websocket+mysql server?
20:56:39*derlafff joined #nim
20:58:52couven92Araq, ah! I see what you mean now! line 403 in sysstr.nim deals with NaN and the most recent change to nimbase.h is to the NaN constant
20:59:00couven92okay
20:59:01GitDisc<treeform> does the async stuff only matter for 10000+ of concurrent users?
20:59:32GitDisc<treeform> mysql stuff does not appear to be async so using async stuff with it defeats the performance?
21:01:23*derlafff quit (Ping timeout: 252 seconds)
21:02:15*claudiuinberlin quit (Quit: Textual IRC Client: www.textualapp.com)
21:02:40GitDisc<treeform> It seems like ton of read operations do a select check on the socket FD, is that performant?
21:02:48*JappleAck joined #nim
21:03:24UxerUosprdumb question: to split a module into multiple files, should I be "import"ing them or "including" them. The manual indicates "include" is the way to go, but "import" works for me right now.
21:03:59AraqUxerUospr, if 'import' works it's usually the better option
21:04:06UxerUosprAlong those lines, do imported/included files get compiled into the final binary?
21:04:39UxerUospror do I need to have them compiled separately?
21:04:52UxerUosprAraq: Okay, thanks!
21:06:47UxerUosprI'm just thinking about C headers and how the .c files get compiled separately. I'm trying to figure out what I need to "build" in my nimble script, if anything.
21:07:21*Viktor_ quit (Quit: Viktor_)
21:07:25GitDisc<treeform> UxerUospr, nim will figure things out and build the stuff for you
21:07:34GitDisc<treeform> i think it strips out things that are not used
21:07:49GitDisc<treeform> just `nim c yourfile.nim`
21:08:02GitDisc<treeform> and all of the imports/includes will be built and linked
21:09:17UxerUosprtreeform: Got it. That's what I figured but I was needing some confirmation. Thanks a bunch!
21:10:36GitDisc<treeform> nim works like a modern language should none of this make, build, link crap, its still there its just hidden from you.
21:11:04FromGitter<mratsim> @UxerUospr: include is like telling nim to copy paste the content into a single file. With import, files are compiled separately then linked together. It has the advantage that you don’t need to recopile everything if you change a single file, only this file will be recompiled. In both cases Nim will do whole program optimisation i.e. eliminate code that is not used
21:11:54UxerUosprtreeform: yeah, that's really nice. I've only done compiling in C, so, not modern.
21:12:23couven92Araq, the Windows SDK defined `NAN` as `INFINITE * 0.0`
21:12:51UxerUospr@mratsim: thanks for the explanation. Very cool.
21:13:18couven92can we, should we use that for NaN in nimbase.h?
21:13:29Araqcouven92, so no div by zeros?
21:13:39Araqbut how do they get inf?
21:14:12couven92`#define _HUGE_ENUF 1e+300 // _HUGE_ENUF*_HUGE_ENUF must overflow` and then `#define INFINITY ((float)(_HUGE_ENUF * _HUGE_ENUF))`
21:14:40couven92so basically: take a really BIG number that gets overflowed into INFINITY
21:14:41couven92:P
21:14:48Araq-.-
21:14:57couven92interesting approach I say!
21:15:33couven92but well... I guess that would work, since floats and doubles have fixed sizes and precsions!
21:15:40Araqwell see if it makes a difference
21:15:45couven92okay
21:17:17FromGitter<Gooseus> anyone ever look at creating a Dash docset for nim? - https://kapeli.com/docsets
21:17:43FromGitter<Yardanico> We have devdocs.io, but you're free to do it :)
21:18:41couven92Araq, for testing, do we have a Nim NaN constant?
21:18:58Araqecho NaN
21:19:02Araq(yes)
21:19:44couven92of course we do!
21:19:56FromGitter<Gooseus> ah, ok, cool hadn't heard of those... wonder if there is an easy way to convert to support on Dash as well
21:20:32FromGitter<Gooseus> devdocs def serves my purpose for now
21:21:27*UxerUospr quit (Quit: leaving)
21:21:32couven92Araq, btw I still cannot compile Nim with -d:release
21:21:55couven92the same old error that I found months ago... :(
21:22:16Araqcan look at it again tomorrow
21:23:04FromGitter<mratsim> @gooseus, you can probably just lift Python bindings for Dash. I also saw 2 implementations of Nim doc —> sphinx docs in wild repos
21:23:36FromGitter<mratsim> Dash is mac only :/ but the integration is interesting.
21:24:15ipjkmratsim: Zeal is a dash alternative, that's crossplatform. https://zealdocs.org/
21:24:18couven92Araq should `echo NaN` produce `-nan(ind)`? :O
21:24:23*JappleAck quit (Quit: Leaving)
21:24:25*bkerin joined #nim
21:24:48couven92why is it negative, and what does ind mean?
21:24:55bkerinis 'nim idetools' not supported anymore?
21:25:14FromGitter<mratsim> @ipjk, this ugly gtk look :/
21:25:39bkerinam trying to get the vim plugin working and it wants to run nim idetools but that fails and it looks like nimsuggest is the new way>
21:26:25Araqyup, use nimsuggest
21:26:48ipjkmratsim: there are others too, velocity looks ok.
21:28:37bkerinhmm any vim plugins that use it yet?
21:30:46*sleepyqt quit (Read error: Connection reset by peer)
21:32:20*skrylar quit (Remote host closed the connection)
21:39:36GitDisc<awr> why don't stack traces work when using nimrtl?
21:43:01FromGitter<mratsim> @bkerin use the vim plugin from zah
21:43:20FromGitter<mratsim> https://github.com/zah/nim.vim
21:43:41*derlafff joined #nim
21:44:21*xet7 joined #nim
21:47:37couven92Uhm, I just got failed for Nim compile on Ubuntu: `dfa.nim(386, 31) Error: attempting to call undeclared routine: 'missingOrExcl'`
21:48:16couven92ah! old Nim
22:00:55*elrood quit (Quit: Leaving)
22:03:53bkerinhttps://nim-lang.org/docs/nimsuggest.html is out of sync with reality
22:06:02bkerinanything special to start contributing or just start making pull requests?
22:15:09*darkn0de joined #nim
22:18:03*Mat4 joined #nim
22:18:25FromGitter<Varriount> bkerin: Start making pull requests.
22:18:37FromGitter<Varriount> @Gooseus You rang?
22:19:33*Mat4 quit (Client Quit)
22:22:16*MyMind quit (Read error: Connection reset by peer)
22:23:03darkn0dedom96, awesome book. just arrived. great work.
22:23:22dom96thanks! :)
22:23:35*MyMind joined #nim
22:26:37FromGitter<Varriount> @dom96: I'm going to order a Nim mug. Don't know about a t-shirt yet.
22:26:47dom96Great :)
22:26:49dom96I ordered both
22:32:21*nsf quit (Quit: WeeChat 1.9)
22:40:36bkerinanyone have a working vim/nimsuggest setup? fixing nim.vim is being a pain
22:44:05FromGitter<Varriount> bkerin: What's broken about the current plugin?
22:44:39bkerinuses nim idetools which doesn't exist anymore, needs to be switched to nimsuggest
22:45:04bkerinlooks like output is the same though so maybe I got it about fixed
22:48:18*Jesin joined #nim
22:52:45*MyMind quit (Quit: WeeChat 1.6-dev)
22:57:43*Sembei joined #nim
22:57:59*nhywyll quit (Quit: nhywyll)
23:01:52bkerinany ideas what should be fed to nimsuggest when no projectfile.nim exists?
23:03:01bkerinjust sending current file seems sort of weird
23:03:56*cspar quit (Read error: Connection reset by peer)
23:04:16*cspar joined #nim
23:13:59*vivus joined #nim
23:15:50*FromGitter quit (Remote host closed the connection)
23:15:58*FromGitter joined #nim
23:17:04oprypinyardanico, dom96, #nim-offtopic <-> https://gitter.im/nim-lang/twitch
23:19:41*gokr quit (Ping timeout: 240 seconds)
23:19:50*libman joined #nim
23:19:52bkerinis nim check deprecated?
23:20:05bkerinnim --help doesn't show it
23:21:59bkerini dont mean to be negative but the docs are gonna scare people away from nim, they do not seem well synced with the default download
23:29:46couven92bkerin, run `nim --advanced` to get additional possible commands that are not regularly used
23:29:59couven92thesere you'll also find `check`
23:34:05*couven92 quit (Quit: Good Night!)
23:57:48*dhalinar2 joined #nim
23:58:23*bkerin quit (Ping timeout: 248 seconds)