<< 07-06-2016 >>

00:35:47*yglukhov joined #nim
00:40:30*yglukhov quit (Ping timeout: 260 seconds)
00:41:28*desophos quit (Remote host closed the connection)
00:43:39*akaisora quit (Ping timeout: 246 seconds)
00:51:38*brson quit (Quit: leaving)
00:52:43*brson joined #nim
00:58:48*pregressive joined #nim
01:00:09*desophos joined #nim
01:00:40*brson quit (Quit: leaving)
01:04:14*yglukhov joined #nim
01:05:59*fredrik92 quit (Read error: Connection reset by peer)
01:07:20*chemist69 quit (Ping timeout: 260 seconds)
01:08:46*yglukhov quit (Ping timeout: 252 seconds)
01:09:41*nimster joined #nim
01:12:15nimsterhello nim gurus. I have a module, which I am testing using 'unittest'. The tests are defined in a separate file. Is there any way to access the non-exported fields in the module for the purposes of unit tests?
01:14:21dom96You can 'include' the module. But shouldn't unit tests only test the public interface of your modules?
01:18:31nimsterI have included it. Yes, I'm testing the public interface ... but a method might alter the internal state which is not exercised within the scope of the particular test
01:19:26*brson joined #nim
01:20:37*chemist69 joined #nim
01:25:01nimsterOh, sorry dom96. You said 'include' rather than import
01:25:04nimstergood thought
01:26:13dom96:)
01:39:52*brson quit (Quit: leaving)
01:40:31*yglukhov joined #nim
01:41:33*fastrom joined #nim
01:43:37*nimster quit (Quit: Page closed)
01:45:09*yglukhov quit (Ping timeout: 276 seconds)
01:57:28*zacts quit (Ping timeout: 258 seconds)
01:58:30*fastrom quit (Quit: Leaving.)
02:11:19*zacts joined #nim
02:16:56*yglukhov joined #nim
02:21:28*yglukhov quit (Ping timeout: 264 seconds)
02:52:57*yglukhov joined #nim
02:53:27*desophos_ joined #nim
02:57:16*yglukhov quit (Ping timeout: 258 seconds)
02:58:36*desophos_ quit (Ping timeout: 276 seconds)
03:16:34*pregressive quit (Remote host closed the connection)
03:29:25*yglukhov joined #nim
03:34:00*kulelu88 quit (Quit: Leaving)
03:34:28*yglukhov quit (Ping timeout: 272 seconds)
03:44:32*girvo quit (Quit: leaving)
03:53:36*yglukhov joined #nim
03:57:54*xet7 joined #nim
03:58:05*yglukhov quit (Ping timeout: 250 seconds)
04:01:37*zaquest quit (Ping timeout: 244 seconds)
04:17:51*yglukhov joined #nim
04:22:27*yglukhov quit (Ping timeout: 276 seconds)
04:53:59*yglukhov joined #nim
04:58:27*yglukhov quit (Ping timeout: 244 seconds)
05:30:02*yglukhov joined #nim
05:33:53*endragor joined #nim
05:34:23*yglukhov quit (Ping timeout: 250 seconds)
05:54:36*yglukhov joined #nim
05:57:17*fgimian joined #nim
05:58:29*yglukhov_ joined #nim
05:59:00*yglukhov quit (Ping timeout: 246 seconds)
06:07:01*alexsystemf__ quit (Read error: Connection reset by peer)
06:07:35*alexsystemf__ joined #nim
06:08:41*jcosborn joined #nim
06:13:29jcosbornI noticed flyx found a change in getType()
06:13:40*chemist69 quit (Ping timeout: 264 seconds)
06:13:52*brainjuiced joined #nim
06:14:17jcosbornI added the first empty field to match the AST one gets when declaring an object type
06:15:06*chemist69 joined #nim
06:15:26jcosbornThe first child is for pragmas, which aren't currently filled, so it is just empty for now
06:16:08*endragor_ joined #nim
06:17:15jcosbornI thought this was probably an oversight in getType, so changed it, but if it is better to preserve backward compatibility, it can be reverted by removing line 192 of vmdeps.nim (result.add ast.emptyNode).
06:19:27*endragor quit (Ping timeout: 276 seconds)
06:28:22*yglukhov_ quit (Remote host closed the connection)
06:28:54*endragor_ quit (Remote host closed the connection)
06:29:30*endragor joined #nim
06:32:16brainjuicedHi everybody!
06:53:48*rok joined #nim
06:54:42Araqjcosborn: argh, you could have told me earlier
06:55:08AraqI wasn't aware and now we released it with this undocumented breaking change...
06:55:17Araqhi brainjuiced
07:06:03cheatfateAraq, https://github.com/nim-lang/Nim/issues/3847 this bug was resolved only partially
07:06:25cheatfatei think it must be reopened
07:06:44Araqok
07:06:56Araqhow about fixing it?
07:10:16cheatfateAraq, to fix it, we need function like recvUntil(`delimeter` or `size`) {.async.}
07:10:33cheatfatebut most of asynchttpserver must be rewrited to use not recvLine but recvUntil
07:11:07*brainjuiced quit (Quit: Page closed)
07:11:18cheatfate^^^ this is my `hello nim` bug...
07:15:18*filcuc joined #nim
07:16:56cheatfatei have started my work with nim from this bug... just because wanted to help, but when i have made recvuntil() function i understand that i need to have timeouts too, because somebody can easily make send (GET /{a}{1 second}{b}{1 second}...)
07:17:38*gokr joined #nim
07:18:19cheatfatebut old sleepAsync slows down whole asynchttpserver by 2x times so i have started to work with hardware timers
07:18:36cheatfateand i'm still working on it
07:19:38*bjz joined #nim
07:19:56Araqah well.
07:20:12Araqwe need to release 0.14.2 I think.
07:26:12*yglukhov joined #nim
07:27:36*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:29:09*fredrik92 joined #nim
07:35:47*bjz joined #nim
07:41:01*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
07:43:12*Arrrr joined #nim
07:44:29*bjz joined #nim
07:49:48cheatfate0.14.1 already released?
07:49:56Arrrrhttp://nim-lang.org/news/2016_06_07_version_0_14_0_released.html
07:50:04ArrrrHah, i was about to post that
07:50:06ArrrrIt seems so
07:50:56cheatfateand i think we need to change #topic for #nim channel
07:51:55fredrik92anyone know why my IRC (HexChat) can't display the Nim rune in the #topic properly?
07:53:20fredrik92and why it worked on my work computer, but on none of the other computers I have?
07:53:26cheatfatedom96, it also broken links in "Language Additions" part of http://nim-lang.org/news/2016_06_07_version_0_14_0_released.html
07:54:44*zaquest joined #nim
07:55:20Arrrrhttps://www.reddit.com/r/programming/comments/4mxyn3/nim_language_0140_gets_released/
08:00:22*s4 joined #nim
08:03:45GangstaCatjust a little detail, on the random module's docs, the links for the implementation website/source doesn't works http://nim-lang.org/docs/random.html
08:09:27*alexsystemf__ quit (Quit: Connection closed for inactivity)
08:09:58*rok quit (Quit: rok)
08:14:23*fgimian quit (Quit: Textual IRC Client: www.textualapp.com)
08:14:35Araqhmm source code links are all broken, yay
08:15:30ArrrrThe best time for that
08:17:00*Trustable joined #nim
08:20:34*desophos_ joined #nim
08:21:00Araqoh no, not again:
08:21:07Araqerror: Your local changes to the following files would be overwritten by checkout:
08:21:09Araq bootstrap.sh
08:21:10Araq lib/pure/unittest.nim
08:21:26Araqsomebody messed with unix exec bits again.
08:21:38Araqgit is just unusable on windows.
08:24:57*desophos_ quit (Ping timeout: 244 seconds)
08:25:28*elrood joined #nim
08:28:47*coffeepot joined #nim
08:30:19elroodhi guys. not quite sure whether i should, considering you're planning for 0.14.2 already, but: congrats on the release
08:30:55coffeepotcame here to say the same, congratulations on the release guys :D
08:35:24Araqso. source code links should work now.
08:36:00Araqelrood: the release is fine, the installers are not... how surprising.
08:37:08dom96good morning
08:38:32ArrrrHello and congratz, good work. You should update the channel topic and your twitter
08:38:51ArrrrWell, now that i see your twitter, is not necessary
08:39:42*coffeepot quit (Remote host closed the connection)
08:41:41*PMunch_ joined #nim
08:41:42*PMunch_ quit (Remote host closed the connection)
08:41:51*PMunch joined #nim
08:44:24*Demon_Fox quit (Ping timeout: 276 seconds)
08:44:28elroodfredrik92, most likely the fonts available to hexchat don't render that glyph. you could try installing symbola or unifont
08:44:40fredrik92while compiling nimsuggest with 0.14.0 compiler: ~\.nimble\pkgs\compiler-0.13.0\compiler\semfold.nim(485, 53) Error: type mismatch: got (BiggestInt, float64)
08:45:34PMunchHmm, that path doesn't seem right
08:46:13fredrik92yeah, how did I set the nimblepkg path in the nim command line again?
08:46:22fredrik92Is it --lib?
08:46:30dom96that path looks fine
08:46:48dom96how are you compiling nimsuggest?
08:47:09fredrik92nim compile -d:release --cc:vcc --os:windows --cpu:amd64 --nimcache:"%CD%\..\obj" -o:"%CD%\..\bin\nimsuggest" nimsuggest
08:47:23PMunchdom96, shouldn't it be compiler-0.14.0?
08:48:53fredrik92dom96, I just compiled everything else with the new Nim compiler, i.e. c2nim, nimble, nimfix (whatever that is), nimgrep (whatever we need that for) and niminst (what is that anyway) on Windows...
08:48:56dom96PMunch: oh, you're right.
08:49:05fredrik92worked like a charm
08:49:24dom96fredrik92: try: nimble install nimsuggest
08:49:52dom96or nimble c nimsuggest (if you cloned nimsuggest yourself)
08:50:25fredrik92Oops: could not load: (ssleay64|libssl64).dll
08:50:38PMunchNimfix is a tool to help you upgrade from Nimrod (<= version 0.9.6) to Nim (=> version 0.10.0).
08:50:47PMunchI don'tthink you need that fredrik92
08:51:13fredrik92ssleay64.dll is required by nimble, right?
08:51:16PMunchUnless it's automatically used for some older packages in nimble
08:51:49dom96fredrik92: yep
08:51:52dom96Unfortunately :\
08:51:57fredrik92PMunch, I just compile everything that is in the usual Windows install package, and hey, there's nimfix
08:52:02dom96http://nim-lang.org/download/dlls.zip should have it
08:52:27PMunchNimgrep appears to just be a command line tool for regex searches. But again it might be used by something in the Nim ecosystem
08:52:30fredrik92dom96, ok... That's the reason I have only compiled with nim so far
08:52:43*dom96 quit (Changing host)
08:52:43*dom96 joined #nim
08:54:18dom96fredrik92: nimble needs to install a newer `compiler` package for you
08:54:29PMunchNiminst is a tool to generate installers for Nim based programs. Not 100% sure what kind of intsallers but I would assume for Windows
08:54:33dom96alternatively, you might be able to delete ~/.nimble/pkgs/compiler-0.13.0
08:55:08AraqPMunch: no it's for unix too
08:55:52PMunchOh it is? Does it create complete packages? If so, which format?
08:55:59fredrik92hmm... any good ideas how I can avoid having the dlls in the same dir as nimble? so that the dlls do not fuck up other variants of those dlls in other places of my PATH?
08:56:06*bjz quit (Ping timeout: 276 seconds)
08:56:57*bjz joined #nim
08:57:02*desophos quit (Read error: Connection reset by peer)
08:57:24AraqPMunch: .deb format iirc
08:57:37fredrik92(because if I ever would want to use nimble, I guess I would have to have those dlls for nimble)
08:58:15*gokr quit (Read error: Connection reset by peer)
08:58:27*gokr joined #nim
08:58:57*coffeepot joined #nim
08:59:39dom96Arrrr: thank you for posting on the forum :)
09:01:21*Demon_Fox joined #nim
09:01:48fredrik92dom96, the nimble dlls don't work, as I have compiled nimble with the VCC compiler
09:02:11fredrik92MinGW uses different linkage and stuff...
09:02:21*yglukhov_ joined #nim
09:02:31dom96D:
09:02:40fredrik92(yeah, I know, just use MinGW!) any other ideas?
09:03:23coffeepotthis one was an unexpected addition! :) "include statements are not restricted to top level statements anymore."
09:03:24PMunchAraq, okay nice
09:03:30dom96"We need to make Nimble use openssl by default" they said... :P
09:04:02dom96fredrik92: Either you can get VCC-compatible OpenSSL DLLs from ... somewhere.
09:04:20dom96or you can compile Nimble yourself without the `-d:ssl` flag (by removing it from nimble.nim.cfg)
09:04:53fredrik92But then Nimble would be insecure with downloading, right?
09:05:08dom96yes, but only the package list.
09:05:12*yglukhov quit (Ping timeout: 276 seconds)
09:06:17fredrik92May I write a PR that uses a preprocessor for Windows and then calls the native Windows API SChannel functions for SSL?
09:06:56fredrik92So that we rid ourselved from the DLL dependencies?
09:07:18Araqfredrik92: that would be insanely good
09:08:27Araqdom96: your niminst changes are all nim specific :-(
09:08:45fredrik92okay then... let's see...
09:09:06dom96Araq: how so?
09:09:06Araqdon't write a preprocessor thoug, patch the stdlib
09:09:18fredrik92ok
09:09:20fredrik92any way to specify multiple lib directories with --lib?
09:09:24Araqniminst is not only for producing nim's convoluted installer
09:09:59Araqit's a general tool. "nimble" specific installation options that are unconditionally inserted
09:10:05dom96Araq: I know, what I added should be configurable though.
09:10:36Araqdunno, this whole setup is just bonkers
09:10:47dom96what's wrong with it?
09:10:59Araqpeople keep forgetting to add new stuff
09:11:12Araqit's never configurable enough
09:11:58Araqmaybe a nim specific tool is easier to maintain
09:13:00Araqmaybe niminst should just be a nim library
09:13:30Araqpeople can integrate it into their nimscripts or dream up of other ways of how to use it
09:14:43Araqkoch could import it, rather than executing it.
09:16:29*yglukhov_ quit (Remote host closed the connection)
09:16:54dom96sure
09:17:03dom96I doubt many people use niminst
09:17:37Araqthat's their fault, it's awesome :P
09:18:43Araqits configuration is limiting though
09:19:20dom96it's much easier to install things using Nimble :P
09:19:34fredrik92dom96, this worked: nim compile -d:release --cc:vcc --os:windows --cpu:amd64 --nimcache:"%CD%\..\obj" -o:"%CD%\..\bin\nimsuggest" --noNimblePath --path:"%CD%\.." nimsuggest
09:20:23fredrik92where %CD%\.. is the Nim git repo root directory
09:20:33dom96fredrik92: oh yes, `--noNimblePath` would have the same effect as you removing the compiler-0.13.0 dir
09:20:51Araqthat's how I always compile nimsuggest ...
09:21:08fredrik92dom96, yeah... I removed that compiler-0.13.0 package anyway
09:21:48dom96nimsuggest needs --path:"$nim" in its nim.cfg
09:22:20fredrik92Araq, yes, I know there was something you could do... But I didn't remeber the right switch... I tried the --include and --lib switches first
09:23:11Araqniminst/debcreation.nim is entirely nim specific
09:27:25*chemist69 quit (Ping timeout: 250 seconds)
09:37:02fredrik92I now have 64-bit Windows binaries for Nim (with tools) from the latest devel commit
09:38:41*gokr1 joined #nim
09:39:02*gokr quit (Ping timeout: 260 seconds)
09:44:09*Demon_Fox quit (Quit: Leaving)
09:44:12*chemist69 joined #nim
09:47:52*gokr1 quit (Ping timeout: 264 seconds)
09:51:10*gokr joined #nim
09:55:02*yglukhov joined #nim
09:55:21*gokr1 joined #nim
09:55:22*gokr quit (Ping timeout: 244 seconds)
09:57:51*yglukhov quit (Remote host closed the connection)
10:00:33*yglukhov joined #nim
10:03:39*yglukhov quit (Remote host closed the connection)
10:06:01*gokr1 quit (Ping timeout: 240 seconds)
10:07:05*gokr joined #nim
10:18:24dom96So many nice comments in r/programming https://www.reddit.com/r/programming/comments/4mxyn3/nim_language_0140_gets_released/ :)
10:19:34*gokr quit (Quit: Leaving.)
10:19:39*gokr1 joined #nim
10:23:16*Sembei joined #nim
10:24:11*yglukhov joined #nim
10:27:36*nsf quit (Quit: WeeChat 1.4)
10:28:26*yglukhov quit (Ping timeout: 244 seconds)
10:29:43*fastrom joined #nim
10:46:29*yglukhov joined #nim
10:47:35*desophos joined #nim
10:51:22PMunchdom96, great to see :) And a lot of people seem to be interested as well :)
10:52:01*desophos quit (Ping timeout: 250 seconds)
10:54:09*akaisora joined #nim
10:56:46*attiti joined #nim
10:58:19attiticongrats on the release. when do you guys think 1.0 will be out? I want to "sell" it inside my company, but that's hard to do without an official release.
10:59:32Araqnumber of high priority bugs: 12
10:59:55Araqthe progress can always be measured by the number of critical bugs
10:59:56attitiAraq: oh, cool. Sounds doable :) but maybe some of them are really hard?
11:00:16Araqhah, good point.
11:00:34attitiNim is my favorite language now, really looking forward to use it commercially
11:02:11PMunchAccording to the reddit post dom96 posted recently there are already people using it commercially
11:02:30*fastrom quit (Quit: Leaving.)
11:02:53attitiPMunch: yeah, but I'm probably not able to use it before 1.0 in my comp. Stupid mgmt.
11:03:29attitiAraq: do you provide courses for companies on request? Support contracts?
11:04:38PMunchWell that makes sense, suddenly everyone could up and leave and your company would be in the shits using a language no-one maintains :P
11:05:01attitisomething like that :)
11:05:11*fastrom joined #nim
11:09:11coffeepotare documentation comments still part of the syntax tree?
11:11:50*attiti quit (Quit: leaving)
11:15:13fredrik92Araq, regarding SSL in Nim's stdlib, you were talking about the SSL functions in lib/pure/net.nim, right?
11:18:29Araqcoffeepot: yes
11:18:34fredrik92Araq, Ah, you'd probably want be to write a wrapper for SChannel in lib/wrappers?
11:20:04Araqyeah and then make the stdlib use that on windows
11:21:57coffeepotcool :)
11:22:17fredrik92According to MSDN SChannel supports TLS 1.0,1.1,1.2 and SSL 2.0,3.0 That would be sufficient for what Nim uses OpenSSL for?
11:31:25ArrrrDon't forget winXP, whose native ssl is quite old
11:32:41fredrik92Holy... This actually calls for a wrapper library for the entire WinAPI :/
11:33:22AraqArrrr: I think it's fine to keep the old stuff as fallback for winXP
11:35:27fredrik92Actually, from https://msdn.microsoft.com/en-us/library/aa374716(v=vs.140).aspx for the AcquireCredentialsHandle (SChannel) function, it says: Minimum Supported Client: Windows XP
11:59:56*gokr joined #nim
12:00:25*gokr1 quit (Quit: Leaving.)
12:03:02*akaisora quit (Read error: Connection reset by peer)
12:06:18*akaisora joined #nim
12:07:42*gokr quit (Read error: Connection reset by peer)
12:07:47*gokr1 joined #nim
12:16:18*gokr1 quit (Ping timeout: 276 seconds)
12:17:17*gokr joined #nim
12:20:03*TheLemonMan joined #nim
12:27:00*gokr1 joined #nim
12:27:07*gokr quit (Read error: Connection reset by peer)
12:33:32*gokr joined #nim
12:33:36*gokr1 quit (Quit: Leaving.)
12:35:31*gokr quit (Client Quit)
12:35:35*gokr1 joined #nim
12:49:05*fgimian joined #nim
12:51:17*gokr1 quit (Quit: Leaving.)
12:51:22*gokr joined #nim
13:09:28*gokr quit (Ping timeout: 264 seconds)
13:10:40*fgimian quit (Quit: Textual IRC Client: www.textualapp.com)
13:32:01*jeffc_ quit (Read error: Connection reset by peer)
13:53:14dom96Araq: https://www.reddit.com/r/programming/comments/4mxyn3/nim_language_0140_gets_released/d3zdsjd
13:53:23dom96Think you could add a bit more detail to the release notes?
13:55:08*donank joined #nim
13:58:29Araqhow so?
13:58:40AraqIMO they are pretty detailed
13:59:01*nsf joined #nim
13:59:02Araqok, so they link to the sections in the manual, but that's a good thing
14:00:02fredrik92In the docs, I do not find common Nim defines (like debug, release, windows, etc.), do we have sth. like that?
14:02:51*donank quit (Quit: Page closed)
14:08:54flyxfredrik92: http://nim-lang.org/docs/nimc.html mentions a few. most prominent is -d:release
14:10:29dom96Araq: did you read what the person said on Reddit?
14:13:49Araqnah I have a browser nanny on reddit
14:15:37dom96disable it temporarily then
14:16:01PMunchAraq, http://pastebin.com/22HYeNaf
14:16:13PMunchThat's the comment
14:23:11*gokr joined #nim
14:24:01ArrrrI can't see how a changelog would be written for 'outsiders'
14:27:31elroodhm.. any hints on how one'd pass an rpath flag to gcc/ld via nim?
14:29:19elroodpassL doesn't seem to support enclosing with quotes, and ld apparently expects the value to be passed separated by a space
14:29:51elroodi might just be missing something obvious, of course
14:32:28*donank joined #nim
14:33:11elrood-passC;-Wl,-rpath,. does not seem to get processed at all, unfortunately
14:35:43cheatfate{.passC:"-Wl -rpath".}
14:37:48*M-Quora quit (Remote host closed the connection)
14:37:49*M-max quit (Write error: Connection reset by peer)
14:38:54elrooda) that not usable on the command line, b) rpath needs a value, and c) as said, it does not have any effect in the linking stage, even if given a value. so, thanks, but i don't think that helps
14:39:45cheatfate{.passL:"-Wl -rpath".}
14:39:55Arrrrcheck mate
14:40:03elroodseems like it *g
14:40:11cheatfate{.passL:"-Wl -rpath=/home/bin".}
14:40:22Arrrri think you can actually --passL:
14:41:04Arrrr-l, --passL:OPTION pass an option to the linker
14:41:16Arrrrhttp://nim-lang.org/docs/nimc.html
14:41:17elroodcheatfate, i don't mean to be rude and i appreciate your attempts to help, but have you actually tried what you are suggesting or are you just randomly throwing things at me? ;)
14:42:38elrood-rpath apparently needs to have its value separated by a space, the = does not work as one'd expect it to do usually, at least not for me
14:45:57elroodArrrr, sure, that's what i've been trying to use, but to no avail
14:47:52*PMunch quit (Quit: leaving)
14:49:07*zacts quit (Ping timeout: 264 seconds)
14:50:00ArrrrWell i can tell you i have no idea, maybe Araq does, or maybe it should be treated as a bug
14:50:42*M-max joined #nim
14:52:51elroodwell, thanks anyways. will give it a try again in a few, when the sun shines less hot, and probably file a bug then
15:02:19Araqdom96: I will update the news tonight
15:02:39dom96Araq: ok
15:02:41*zacts joined #nim
15:03:15*donank quit (Ping timeout: 250 seconds)
15:03:47Araqelrood: not sure how shell quoting rules work, I put complex configuration in a config file
15:04:31Araqand once you do that you have passL: """-Wl -rpath="/home/bin"""" available
15:05:02dom96I might see about updating the news in a while. I'll let you know if I do.
15:12:43*Rush__ is now known as Rush
15:17:41*gokr quit (Read error: Connection reset by peer)
15:20:29*Jesin quit (Quit: Leaving)
15:22:19*endragor quit (Remote host closed the connection)
15:24:09*endragor joined #nim
15:27:41*TheLemonMan quit (Quit: "It's now safe to turn off your computer.")
15:42:11*M-Quora joined #nim
15:45:47fredrik92how do I check the bitness in Nim? i.e. 64-bit vs. 32-bit?
15:54:44fredrik92I mean I can specify e.g. --cpu:amd64 in the Nim command-line... how does that translate into a when stmt?
15:55:31cheatfatefredrik92, sizeof(int) == 8 (64bit), sizeof(int) == 4 (32bit)
15:57:17*s4 quit (Quit: Konversation terminated!)
15:57:37def-fredrik92: when hostCPU == "i386": ...
16:00:19dom96Any of you guys have a lobste.rs account?
16:00:27def-dom96: i think so
16:01:11dom96def-: any chance you could get me an invite? :)
16:01:36*PMunch joined #nim
16:01:46*stefantalpalaru joined #nim
16:04:13elroodAraq, Arrrr, cheatfate: --passL:-Wl,-rpath,. is somewhat cryptic and odd but works. would be nice if passL could heed enclosing quotes, that'd be more intuitive imho. and i probably should've more distinctly expressed i was looking for a commandline solution, apologies for any misunderstandings in that regard
16:04:59elroodthanks for the suggestions
16:05:23stefantalpalaruproblem with git HEAD: the generated install.sh does not install the bin/nim binary - the "bindir" variable in the '*' case is only used for a mkdir. no actual file is copied in it
16:05:55stefantalpalarualso, many shell variables in there need to be quoted in order to support destination paths with spaces in them
16:09:11dom96stefantalpalaru: does v0.14.0 install successfully?
16:09:32stefantalpalarulet me see
16:11:33*brson joined #nim
16:12:35stefantalpalaruyes, 0.14.0 installs it
16:12:58dom96okay, good. I guess Araq broke it with his recent changes then.
16:13:44*fredrik92 left #nim ("Leaving channel")
16:15:37*pregressive joined #nim
16:16:26*akaisora quit (Read error: Connection reset by peer)
16:22:15dom96Araq: I updated the news
16:22:20*coffeepot quit (Ping timeout: 250 seconds)
16:40:19*endragor quit (Ping timeout: 250 seconds)
16:45:23*filcuc quit (Read error: Connection reset by peer)
16:51:33*yglukhov quit (Ping timeout: 240 seconds)
16:52:37*brson quit (Quit: leaving)
16:52:45*brson joined #nim
16:56:22*gokr joined #nim
17:19:49*stefantalpalaru quit (Quit: Leaving)
17:22:16*Sembei quit (Ping timeout: 252 seconds)
17:36:50*mistyhands joined #nim
17:40:40*mistyhands quit (Client Quit)
18:20:16*akaisora_ joined #nim
18:22:04*akaisora_ quit (Read error: Connection reset by peer)
18:26:28*akaisora joined #nim
18:36:33*vendethiel quit (Quit: q+)
18:38:14*zaquest quit (Ping timeout: 272 seconds)
18:40:32cheatfateThis recent path changes makes nim to generate very pretty errors :)
18:40:37cheatfate"Error: Error: ambiguous identifier: 'SocketHandle' --use winlean.SocketHandle or winlean.SocketHandle"
18:42:17*zaquest joined #nim
18:45:12*yglukhov joined #nim
18:52:35cheatfatei think it will be good to have warning about duplicated imported modules...
18:55:23cheatfate^^^ from different locations i mean
18:59:26*Demos joined #nim
19:00:17DemosHey so on my version of nim Len("hello\nworld")==12
19:00:17*Salewski joined #nim
19:00:52DemosAm I being an idiot or is this mega strange
19:01:26DemosSidenote:I'm on mobile but I'll look at the logs when I get back to the office
19:02:03*Sergio965 quit (Ping timeout: 240 seconds)
19:03:00*akaisora quit (Ping timeout: 260 seconds)
19:03:09*akaisora joined #nim
19:03:31SalewskiIn the last days, when I was working on a GtkSourceView syntax highlight file, I noticed that I was not sure if module names must start with a lower case letter. I did a very short search in the manual only.
19:04:46*joebo quit (Ping timeout: 244 seconds)
19:05:18ArrrrDemos: strickly speaking yes, there are 12 characers, may you want to try unicode.runeLen https://glot.io/snippets/efexlmhy1g
19:05:26*Demos quit (Quit: Bye)
19:05:38*Demos joined #nim
19:06:01DemosUmm what. There are 11 characters. Including one newline
19:06:19flyxDemos: newline are two characters on Windows
19:06:20cheatfateDemos its because you think `\n` must have only 1 byte length, but Nim uses `\n` to be dependent on OS
19:06:53*Demos_ joined #nim
19:07:01*Sergio965 joined #nim
19:07:01cheatfateso on windows `\n` - is equal to C's "\r\n", but on Unix - is equal to C's "\n"
19:07:04SalewskiKeywords must start with lower case, if I am not totally wrong. And predefined types like int? I think they must start with lower case, but why do we not allow Int also. Other user defined types start with capital letter generally, so someone my like Int better?
19:07:05*Demos_ quit (Client Quit)
19:07:23*Demos_ joined #nim
19:07:34Demos_That is insane.
19:07:47Arrrrmaybe to differenciate system types from user defined types
19:08:19*Demos__ joined #nim
19:08:21Demos__How can I insert just a newline
19:08:25cheatfateDemos_, you can use `\l`
19:08:45*Demos__ quit (Client Quit)
19:09:15*Demos__ joined #nim
19:09:29Demos__This behavior seems really strange
19:09:43Demos__And likely to cause bugs like the one I've been chasing
19:10:12Demos__Where a package designed on Unix failes on windows because all the text is different
19:10:21Demos__Also problems interfacing with c
19:10:56*Demos quit (Ping timeout: 258 seconds)
19:12:18*Demos_ quit (Ping timeout: 276 seconds)
19:17:48SalewskiAnother remark, while I am still logged in: Syntax highlighting generally works better with tabs! For spaces, user may like one, two or more spaces as indent steps, that is not that easy to handle. So I generally like tabs better :-)
19:17:53*Salewski quit ()
19:22:04AraqDemos__: can you elaborate of why it caused a bug?
19:22:29Demos__This is with aws request signing.
19:23:20*Arrrr quit (Quit: WeeChat 1.4)
19:23:28Araqwell I'm willing to deprecate \n, so that people need to use \L or \W or \P
19:23:33Demos__They specify the signature as containing the sha256 hash of query\nheaders\n stuff
19:23:39*Matthias247 joined #nim
19:24:03Demos__The library constructed this canonical query string using \n, which seems like a reasonable thing to do
19:24:12Demos__But ofc the hashes were wrong
19:24:21Araqwhere \W means "Windows newline", \L means newline and \P "platform specific"
19:24:46Demos__Would \W and \w be the same?
19:24:52Araqsure
19:25:02Demos__Yeah that sounds reasonable to me
19:25:22Demos__But if \n stays it should really be the same as in c
19:25:26Araqor maybe we redefine silently what \n means
19:26:21Araqpeople complained about \n before, but only real bugs make me listen to people ;-)
19:26:38Demos__Does nim distinguish between 'wb' and 'w' modes for files?
19:26:52Araqno, it always opens everything in binary mode.
19:26:58Demos__OK that's good
19:27:15Araqthat's the reason why \n is platform specific ;-)
19:27:56Demos__Yeah w mode is annoying in c
19:28:46Demos__I like silently changing (maybe with a deprecated warning) \n and adding newlines that don't appear in c.
19:29:08*Demon_Fox joined #nim
19:30:12Araqbetter to deprecate it, I think. who knows what it will break otherwise.
19:30:40Demos__Yeah. I bet a ton of stuff uses it
19:31:01Araqthat said, '\n' never was valid Nim because it cannot fit in a single char.
19:31:43Demos__Yup this lib used "\n"
19:31:58*joebo joined #nim
19:34:22Araqand echo "foo\nbar" does the right thing (tm) when stdout is in binary mode
19:34:49Araqso ... it's just "slightly different than C and people read Nim's docs anyway"
19:35:28Demos__Yup. But for something as small as newlines people may not bother to read the docs. I'm not sure
19:35:51Demos__It probably won't be a problem if you actually test your code on windows
19:37:50*TheLemonMan joined #nim
19:39:04AraqI always considered C's way to extremely hacky. "ok, so newline is a single char and when it's not we'll translate every input/output operation (whatever that means for mmap())"
19:50:21*Salewski joined #nim
19:52:44SalewskiOK tested myself, module names may start with upper case letter, but as expected var a: Int # does not compile. For me that is OK, maybe some people will define type int = Int in their code.
19:54:35AraqSalewski: I voted upper cased primitive types because it's annoying to type
19:54:40Araq*voted against
19:55:02Araqand while upper cased modules are allowed, you shouldn't use them.
19:56:55SalewskiYes I know, same for me. What I said was only that some people may like upper case better for predefined type, because it is more consistent, for user defined types in upper case.
19:59:52*Parashurama joined #nim
19:59:52Parashuramahey everyone.
20:00:06SalewskiBut still I would like to use tabs. There should be really no problem when all indent is ONLY tabs for a file. Only problem is github with 8 spaces for one tab. (I know I can use Nim's substitution mechanism for tabs.)
20:00:50ParashuramaAraq_: I've got a strange error with latest devel and 0.14v with sequence[^1] syntax see: https://github.com/nim-lang/Nim/issues/4295
20:01:59tautologicotabs are evil
20:03:25SalewskiThey are not, and I like to decide myself.
20:04:05tautologicofor a language with significant whitespace it is better to avoid the possibility of error
20:04:23tautologicoeditors can translate from tabs to spaces without issue
20:05:02SalewskiOnly mixing spaces and tabs is evel, no problem when only tabs for indentation.
20:05:19tautologicoif you allow both, mixing will occur
20:06:09tautologicoand you said yourself, when you view a file with tabs in a place that interprets tabs differently than what your editor uses, things get wonky
20:06:20tautologicothis does not happen with spaces
20:07:20ParashuramaAraq: I've got a strange error with latest devel and 0.14v with sequence[^1] syntax see: https://github.com/nim-lang/Nim/issues/4295
20:08:12dom96Salewski: What's wrong with simply using spaces?
20:08:27SalewskiAnd as I said one hour before, making flexible syntax highlighting schemes is more easy with tabs, my GtkSourceView scheme works only with 2 spaces indent really good :-( No mixing, compiler should not allow mixing!
20:10:18Araqso detect the amount of spaces used for indentation.
20:10:28Araqit's trivial to do.
20:11:32SalewskiDom: Well, for GtkSourceView scheme I wanted that odd indent steps are shown. I can do that for fixed 2 spaces steps, but user have to modify the syntax file for other indent sizes to work well.
20:14:38Araqthe editor that I wrote in my spare time can detect the number of spaces that is used for indentation.
20:15:27SalewskiFor Python some people prefer and use tabs also. Tabs are nice, only one key instead of 2 spaces, each user can set tab size as he likes, and can watch a file without reformat.
20:16:30AraqIn practice I've yet to found a file that allows me to set the number of spaces for tabs ...
20:16:36Araq*to find
20:16:45Araqthey all mix tabs and spaces.
20:17:18Araqand for good reasons too, you cannot align text horizontally with tabs
20:17:19gokrCongrats guys on getting 0.14 out
20:17:22SalewskiAraq: Yes I have seen your editor, GtkSourceView is not that flexible. But it is nice and easy to use, I was positive surprised how fine it is. At least for Linux.
20:17:50AraqSalewski: come on, adding this feature on top of GtkSourceView is easy enough.
20:18:51SalewskiMaybe, I have recently talked to one of the developers, I may ask him.
20:23:17*namnguyen joined #nim
20:24:09AraqParashurama: interesting regression :-)
20:27:12ParashuramaAraq: yeah and a very annoying one. :) But hopefully it's not too hard to diagnose.
20:27:32AraqI ignore git bisect results and instead fix the issue ok?
20:27:50Araqgit bisect is totally unreliable.
20:29:19ParashuramaAraq: Well I'm don't usually have issues with it (if using a custom test script). but I don't work on huge codebases.
20:30:56ParashuramaAraq: When switching around in the commits sometimes I had a crash building the compiler. I had to recompile koch to solve them. Is it normal?
20:32:54Araqdunno, I don't use git bisect.
20:34:52ParashuramaAraq: but you understand the principle? binary search on commit that works and those that don't identifying the bad commit in LOG(N) time (theoretically)
20:35:39Araqlol
20:36:57AraqParashurama: the bug always was there.
20:37:13Araqit was not triggered before that change in system.nim though due to luck.
20:37:34ParashuramaAraq: that some serious luck.
20:39:01*Mat4 joined #nim
20:39:07Mat4hi all
20:40:49Mat4I've seen the new version is out, congrats
20:46:28Araqthanks
20:46:32AraqParashurama: fixed.
20:48:42*pregressive quit (Remote host closed the connection)
20:55:32ParashuramaAraq: nice, and thank you for the quick response.
20:56:11*desophos joined #nim
21:00:26*Parashurama quit (Quit: ChatZilla 0.9.92 [Firefox 46.0.1/20160511224154])
21:06:34*PMunch quit (Quit: leaving)
21:08:21*Jesin joined #nim
21:10:11*Ven joined #nim
21:26:31Mat4ciao
21:26:42*Mat4 left #nim (#nim)
21:27:20*Salewski quit ()
21:28:04namnguyenthis video is great wrt compiler and tooling https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg-on-Modern-Compiler-Construction
22:03:08*Demos__ quit (Quit: Bye)
22:11:29*elrood quit (Quit: Leaving)
22:26:40*Jesin quit (Quit: Leaving)
22:40:54*Jesin joined #nim
22:49:29*Trustable quit (Remote host closed the connection)
22:54:47*Matthias247 quit (Read error: Connection reset by peer)
22:55:32*TheLemonMan quit (Quit: "It's now safe to turn off your computer.")
22:55:55*fastrom quit (Quit: Leaving.)
23:03:35*xet7 quit (Quit: Leaving)
23:06:32*yglukhov quit (Remote host closed the connection)
23:29:53*get_drunk joined #nim
23:39:16*Demos joined #nim
23:40:06*get_drunk quit (Quit: Page closed)
23:48:53*desophos quit (Ping timeout: 250 seconds)
23:51:17*pregressive joined #nim
23:51:54*pregressive quit (Read error: No route to host)
23:52:24*pregressive joined #nim
23:57:03*Rush quit (Read error: Connection reset by peer)
23:57:17*pregressive quit (Ping timeout: 258 seconds)
23:58:18*RushPL joined #nim