<< 27-11-2016 >>

00:07:21*Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:22:16*kulelu88 joined #nim
00:25:42*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
00:29:31*Matthias247 quit (Read error: Connection reset by peer)
00:42:17*chemist69 quit (Ping timeout: 260 seconds)
00:47:28*bjz joined #nim
00:49:21*xet7_ joined #nim
00:52:00*xet7 quit (Ping timeout: 246 seconds)
00:58:03*ybroze joined #nim
00:58:15*Sembei quit (Ping timeout: 260 seconds)
01:00:40*chemist69 joined #nim
01:09:59*mophed joined #nim
01:10:24*mophed left #nim (#nim)
01:26:20*yglukhov joined #nim
01:30:47*yglukhov quit (Ping timeout: 256 seconds)
01:31:30*[ui] quit (Quit: Connection closed for inactivity)
01:35:48*chemist69 quit (Ping timeout: 258 seconds)
01:38:31vktecIf someone has a moment, could they take a look at one or both of the PRs I've got on the packages repo (one to correct a mistake with my previous package, one to add a new package)?
01:50:37*ybroze quit (Ping timeout: 240 seconds)
01:51:07*ybroze joined #nim
01:53:22*arnetheduck joined #nim
01:53:26*chemist69 joined #nim
01:58:17*ybroze quit (Ping timeout: 240 seconds)
02:13:08*bjz_ joined #nim
02:14:47Varriount|Mobilevktec: I assume you mean the nimble package repository?
02:14:52vktecYes
02:16:00*bjz quit (Ping timeout: 246 seconds)
02:18:41*gangstacat quit (Quit: Ĝis)
02:19:17*BitPuffin|osx quit (Ping timeout: 240 seconds)
02:30:05*gangstacat joined #nim
02:35:55*dddddd quit (Remote host closed the connection)
02:43:37*chemist69 quit (Ping timeout: 260 seconds)
02:45:51*ybroze joined #nim
02:51:33*ybroze quit (Ping timeout: 260 seconds)
02:54:01*ybroze joined #nim
02:59:11*chemist69 joined #nim
02:59:17*ybroze quit (Ping timeout: 248 seconds)
03:00:35*vlad1777d quit (Remote host closed the connection)
03:13:36*ybroze joined #nim
03:21:59*ybroze quit (Ping timeout: 258 seconds)
03:27:48*yglukhov joined #nim
03:32:37*yglukhov quit (Ping timeout: 260 seconds)
03:42:30*Demos joined #nim
03:49:12*djiin joined #nim
03:53:31*couven92 quit (Quit: Client disconnecting)
03:54:18*vktec quit (Quit: So long and thanks for all the fish)
03:54:24*vktec joined #nim
03:57:18*vktec quit (Client Quit)
03:57:26*vktec joined #nim
03:58:25*vktec quit (Client Quit)
04:15:39*chemist69 quit (Ping timeout: 258 seconds)
04:17:45*vktec joined #nim
04:18:53*chemist69 joined #nim
04:40:46*ybroze joined #nim
04:43:43*rynsin joined #nim
04:45:16*ybroze quit (Ping timeout: 250 seconds)
04:48:19*rynsin quit (Ping timeout: 260 seconds)
04:49:38*yglukhov joined #nim
04:52:47*ybroze joined #nim
04:54:09*yglukhov quit (Ping timeout: 252 seconds)
04:59:03*ybroze quit (Ping timeout: 260 seconds)
05:00:43*ybroze joined #nim
05:07:04*ybroze quit (Ping timeout: 260 seconds)
05:07:09*chemist69 quit (Ping timeout: 246 seconds)
05:25:26*bjz joined #nim
05:25:30*chemist69 joined #nim
05:25:44*bjz_ quit (Ping timeout: 250 seconds)
05:44:25*rynsin joined #nim
06:08:48*chemist69 quit (Ping timeout: 245 seconds)
06:22:24*chemist69 joined #nim
06:47:00*nsf joined #nim
06:49:38*chemist69 quit (Ping timeout: 245 seconds)
06:51:00*yglukhov joined #nim
06:55:22*yglukhov quit (Ping timeout: 256 seconds)
07:01:38*Demos quit (Ping timeout: 258 seconds)
07:02:39*Demos joined #nim
07:10:11*chemist69 joined #nim
07:27:19*kulelu88 quit (Quit: Leaving)
07:46:26*ybroze joined #nim
08:11:02*ybroze quit (Ping timeout: 244 seconds)
08:28:25*chemist69 quit (Ping timeout: 256 seconds)
08:43:08*rynsin quit (Quit: rynsin)
08:48:56*chemist69 joined #nim
08:52:34*yglukhov joined #nim
08:56:53*yglukhov quit (Ping timeout: 252 seconds)
08:57:47*Demos quit (Ping timeout: 258 seconds)
09:25:21*Matthias247 joined #nim
09:39:41*themagician joined #nim
09:41:57*chemist69 quit (Ping timeout: 240 seconds)
10:00:38*chemist69 joined #nim
10:14:57*chemist69 quit (Ping timeout: 256 seconds)
10:34:59*Matthias247 quit (Read error: Connection reset by peer)
10:35:35*[ui] joined #nim
10:35:40*chemist69 joined #nim
10:50:51*wuehlmaus joined #nim
10:51:30wuehlmausgood morning, today i looked at the roadmap. Does this suggest we are not far away from 1.0 ? many issues seem to have been resolved.
10:51:55wuehlmausthis would make my joy complete :)
10:54:42wuehlmausi don't hold my breath :)
10:56:38*Sembei joined #nim
11:01:01dom96AFAIK the roadmap isn't up to date.
11:08:26wuehlmausdom96: i bet you should know :)
11:09:05*yglukhov joined #nim
11:09:10*yglukhov quit (Remote host closed the connection)
11:09:16wuehlmausi only saw 'after 1.0' issues so i imagined the best :)
11:09:27wuehlmausi wish you guys all the best!!!
11:19:09*yglukhov joined #nim
11:19:38*chemist69 quit (Ping timeout: 245 seconds)
11:33:27Varriount|MobileHm
11:35:04Varriount|MobileI was reading http://www.drdobbs.com/avoiding-the-visual-c-runtime-library/184416623 and https://blogs.msdn.microsoft.com/oldnewthing/20140411-00/?p=1273 , and have been wondering
11:35:38Varriount|MobileHow feasible would it be to dynamically load the C runtime?
11:36:58Varriount|MobileIf you create your own C runtime entry point, then dynamically load msvcrtXXX and call it's entry point, would there be any problems?
11:38:15*chemist69 joined #nim
11:38:19*elrood joined #nim
11:43:37*yglukhov quit (Remote host closed the connection)
11:54:47federico3a multiplatform tray icon lib would be nice
11:56:24Varriount|Mobilefederico3: Not quite what I was talking about, but a good thing to wish for nevertheless.
11:56:43*vlad1777d joined #nim
11:56:49federico3Varriount|Mobile: that wasn't in reply to your question, just another thought
11:57:09Varriount|MobileOh, sorry.
11:58:04Varriount|Mobilefederico3: The problem with a cross-platform tray library is that the concept of a "tray" doesn't necessarily translate very well across desktop environments
11:59:06*Kingsquee quit (Quit: https://i.imgur.com/qicT3GK.gif)
11:59:59Varriount|MobileAbout the only thing most of them have in common (if they have a tray at all) is that an icon is present, is sometimes animated/visible, and can be clicked with mouse buttons.
12:00:16federico3Varriount|Mobile: if it's only a matter of creating a little icon and maybe running one command when it' clicked it might be portable enough
12:00:37federico3isn't that enough for most use cases? :)
12:01:39Varriount|MobileHm. Most of my tray icons show a menu on right click
12:02:23*Snircle joined #nim
12:03:08Varriount|Mobilefederico3: I wonder if (on Windows) an application needs a window in order to show a tray icon.
12:03:35federico3a visible window? probably not
12:07:15*yglukhov joined #nim
12:08:07Varriount|Mobilefederico3: Looks like you need a window though, visible or not
12:08:26Varriount|MobileWhich means message pumping, etc
12:08:37Varriount|MobileBlech
12:11:24Varriount|MobileAraq: Yay! Common sense comes at last: https://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c-runtime-crt-refactoring/
12:12:19*enthus1ast quit (Quit: WeeChat 0.4.2)
12:13:07federico3Varriount|Mobile: eg. this Python lib does the trick https://github.com/moses-palmer/pystray/tree/master/lib/pystray
12:23:28*yglukhov quit (Remote host closed the connection)
12:24:07*yglukhov joined #nim
12:25:42Varriount|Mobilefederico3: You could probably translate that library fairly easily, at least for Windows
12:28:41elroodhow useful would that be, though? setting up a tray icon only involves a few api calls. you'd be doing a lot of abstraction work for different desktop environments for fairly little gain
12:29:56elroodmight make sense for a high-level interpreted language like python, for something compiled with access to low-level interfaces like nim, not so much
12:30:55elrooddon't want to spoil the fun though, if you feel like it would be worth the hassle, go for it
12:32:49federico3libui will do the trick, once ready
12:33:17*desophos quit (Read error: Connection reset by peer)
12:40:53AraqVarriount|Mobile: dunno about common sense, I prefer static linking
12:44:18Varriount|MobileAraq: Generally, so do I, especially on Windows
12:46:11Varriount|MobileSince WinSxS has been something of a failure, everyone bundles their dlls work their applications anyway
12:50:47Varriount|MobileAraq: It just irks me that Mingw-compiled executables (ab)use the presence of msvcrt.dll, which is ancient.
12:51:53AraqVarriount|Mobile: agreed and Nim should directly target the Win API and get rid of this FILE* nonsense
12:52:37*chemist69 quit (Ping timeout: 260 seconds)
12:58:42*yglukhov quit (Remote host closed the connection)
13:01:21*yglukhov joined #nim
13:05:25*djiin quit (Ping timeout: 258 seconds)
13:11:15Varriount|MobileAraq: I think a good solution might be to stick with exposing FILE through the file handle type, and using _get_osfhandle behind the scenes
13:11:18*chemist69 joined #nim
13:14:29Varriount|MobileI wonder how common it odd for cross-platform libraries to use Windows file handles rather than C file descriptors
13:14:39FromGitter<tekjar> Hi. I'm trying to use if else condition as an expression --> https://glot.io/snippets/ekpek92m04
13:14:52FromGitter<tekjar> What's the mistake in that example?
13:14:59*yglukhov quit (Remote host closed the connection)
13:15:50FromGitter<tekjar> It works if I remove 'var' in if condition
13:17:17*yglukhov joined #nim
13:22:10Varriount|Mobiletekjar: I believe that's a bug
13:22:36Varriount|MobileAlthough assignments aren't usually of that form.
13:26:42cheatfateVarriount|Mobile, there many problems which `msvcrt.dll` handles for Nim, and FILE handles maybe simpliest
13:27:13cheatfate`setjmp`,`longjmp` is most problematic
13:28:05Varriount|Mobilecheatfate: I'm not talking about abandoning the C library, just writing a mechanism to load an official version
13:29:11Varriount|MobileAlthough I'm fairly sure setjmp and longjmp are intrinsics
13:29:41cheatfateVarriount|Mobile, not available for public
13:29:59Varriount|MobileWhat?
13:30:31*Sembei quit (Ping timeout: 260 seconds)
13:31:34Varriount|Mobilecheatfate: What's not available for public?
13:33:01cheatfateVarriount|Mobile, intrinsics
13:33:20cheatfateintrinsics is something compiler inserts to your code without importing libraries
13:33:28Varriount|MobileYes
13:33:54cheatfatelook at the exports of `msvcrt.dll`
13:34:04cheatfatenumber 710
13:34:28*dddddd joined #nim
13:35:12cheatfate1159, 1201
13:35:17Varriount|Mobilecheatfate: That doesn't necessarily mean that they are always used.
13:35:41cheatfateok look at the imports of any windows nim executable
13:35:57Varriount|MobileAnyway, how would using different versions of msvcrt complicate using setjmp/longjmp?
13:36:04Varriount|MobileI'm on my phone
13:37:43cheatfatewhile you are using `msvcrt.dll` your code will run on any windows version... i think even NT4 can run nim executable
13:38:21cheatfateif you make it linkable to most modern `crt` you will need to bring this annoying `vcruntime` distros with nim executable
13:43:26Varriount|Mobilecheatfate: Which is why I proposed writing a loader stub to seek out an official version of the C runtime library
13:45:07Varriount|MobileThe problem with msvcrt.dll is that's it's A) Unsupported/unofficial , and B) Not optimized for modern systems
13:45:52cheatfateVarriount|Mobile, what does it mean unsupported/unofficial it comes with every windows
13:46:49Varriount|Mobilecheatfate: https://blogs.msdn.microsoft.com/oldnewthing/20140411-00/?p=1273
13:47:32Varriount|MobileIt was originally meant to be used only by the *system* libraries, not external applications.
13:49:21elroodwhat benefits would you expect from using more recent version of the windows runtime, if the one you can reliably expect to be present will still only be the old msvcrt?
13:50:05Varriount|Mobileelrood: Bug fixes and C99 support, for one.
13:50:24cheatfateVarriount|Mobile, this link you give me, dont call msvcrt.dll unofficial or unsupported and not optimized for modern systems
13:50:32Varriount|MobileAs one comment from that post put it:
13:50:45Varriount|Mobile"The horror of MinGW piggybacking on MSVCRT instead of implementing its own Windows-compatible CRT is the reason one can't printf a long double in MinGW: MinGW uses 80-bit long doubles, while the CRT considers a long double the same as a double…"
13:51:30*[ui] quit (Quit: Connection closed for inactivity)
13:51:43elroodVarriount|Mobile, sure, but still one can only confidently rely on what msvcrt provides, right? more modern implementations of memory allocators alone would be worth it probably, but apart from that, what's the motivation?
13:51:56Varriount|Mobilecheatfate: It's unsupported for use by non-system applications
13:52:19Varriount|Mobilehttps://blogs.msdn.microsoft.com/vcblog/2014/06/10/the-great-c-runtime-crt-refactoring/
13:53:16Varriount|Mobile" In many parts of the code, optimization techniques that were valid and useful decades ago not only obfuscated the code and made it difficult to maintain, but also hampered the modern compiler’s ability to optimize the code."
13:54:54elroodno one is questioning the usefulness of a modernized runtime. the important point is whether you can count on it being present on the system you are expecting your code to run on
13:55:40Varriount|Mobileelrood: Which is why I was contemplating the possibility of writing a C runtime loader
13:56:15cheatfateVarriount|Mobile, so you want to add something which will looks for appropriate crt runtime dll?
13:56:28Varriount|MobileYes.
13:56:58cheatfateVarriount|Mobile, and i want to remove this dependency at all
13:57:42Varriount|MobileYou mean, no CRT dependency at all?
13:57:48cheatfateVarriount|Mobile, yep
13:58:43Varriount|MobileSounds a bit hard to do, especially considering the fact that any other C libraries used by Nim will most certainly require it anyway
13:59:07cheatfateVarriount|Mobile, most of Nim code for windows don't use C libraries
13:59:31cheatfatei think 99% of windows nim code do not use C libraries
13:59:53Varriount|Mobilecheatfate: But C wrappers (pcre, sqlite) still do.
14:00:14cheatfateVarriount|Mobile, but i dont think its Nim problem
14:01:12cheatfateVarriount|Mobile, if your nim executable don't use `msvcrXXX` but `pcre.dll` uses it, it will be loaded in memory anyway
14:01:32cheatfateso there no problems with wrapper libraries
14:01:56cheatfatethe only problem is to write stub code which will not use c runtime
14:02:46cheatfatealmost all functions of runtime has appropriate alternatives inside of `kernel32.dll`, `ntdll.dll`, `user32.dll`, `advapi32.dll`
14:04:05cheatfatebut main problem for me to rewrite stub is how to compile `setjmp`/`longjmp` which can be implemented only via assembler
14:05:00*stisa joined #nim
14:05:26*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
14:05:57Varriount|MobileBy the way, here's another piece of hope for the future: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4028.pdf
14:06:54cheatfateyeah and C++ is also becomes a problem
14:07:11cheatfatebecause it handles exceptions in some other way
14:10:49cheatfateehh, but nobody cares about windows here :)
14:11:09cheatfateto help me with windows stub library
14:26:53cheatfateits funny windows headers has _setjmp instrinsic but didn't have _longjmp, mingw has both intrinsics
14:28:33*chemist69 quit (Ping timeout: 246 seconds)
14:28:33stisalooks like enums with holes do not work in js? This: https://glot.io/snippets/ekpgg1ns4l works with c, but gives an error with js.
14:33:40*couven92 joined #nim
14:38:30*PMunch joined #nim
14:48:56*chemist69 joined #nim
14:53:07dom96stisa: bug report please
14:53:22*yglukhov quit (Remote host closed the connection)
15:08:29stisadom96: https://github.com/nim-lang/Nim/issues/5062
15:08:59dom96stisa: thanks!
15:09:16*stisa quit (Quit: Leaving)
15:16:53*PMunch quit (Ping timeout: 248 seconds)
15:20:07*PMunch joined #nim
15:21:39*Demos joined #nim
15:29:06*chemist69 quit (Ping timeout: 246 seconds)
15:37:23*deech joined #nim
15:38:45*Senketsu quit (Ping timeout: 260 seconds)
15:39:33*deech left #nim (#nim)
15:49:28*chemist69 joined #nim
15:54:28*PMunch quit (Quit: leaving)
16:05:15*yglukhov joined #nim
16:05:30*deech joined #nim
16:07:46deechHi all, I'm testing out a small snippet using the compiler as a dependency and when I build I get 'Error: cannot open 'rstast''. It's using the config file:'/home/deech/Downloads/nim-0.15.2/config/nim.cfg' since I built Noim from Github.
16:09:26*[ui] joined #nim
16:10:45*Matthias247 joined #nim
16:15:35Araqadd lib/packages/docutils to your Nim search --path
16:15:42deechnm, had to add 'path="$lib/packages/docutils"' to nim.cfg.
16:16:00deechThanks!
16:18:33Araquse the Nim from github for this, the compiler API changed
16:21:36*chemist69 quit (Ping timeout: 246 seconds)
16:30:49*yglukhov quit (Remote host closed the connection)
16:42:02*chemist69 joined #nim
16:44:16deechIs there a version of Nim syntax that isn't indentation sensitive for codegen purposes? Thanks!
16:52:13Araqcodegen is better done by generating the AST and using the AST to text renderer
16:52:18Araqlike c2nim does it.
16:54:13Araqor you use a macro.
16:57:45deechThanks!
17:26:04*brechtm quit (Remote host closed the connection)
17:27:56*vendethiel quit (Ping timeout: 250 seconds)
17:28:04*vendethiel joined #nim
17:32:39*vendethiel quit (Ping timeout: 244 seconds)
17:35:41*dmi00 joined #nim
17:35:59*dmi0 quit (Ping timeout: 260 seconds)
17:47:44*yglukhov joined #nim
17:51:56*yglukhov quit (Ping timeout: 250 seconds)
18:04:07*yglukhov joined #nim
18:08:07*Demos_ joined #nim
18:11:04*libman joined #nim
18:11:19*Demos quit (Ping timeout: 258 seconds)
18:11:30*[ui] quit (Quit: Connection closed for inactivity)
18:25:03*vendethiel joined #nim
18:25:41*Matthias247 quit (Read error: Connection reset by peer)
18:43:28*ybroze joined #nim
18:44:19*Demos joined #nim
18:44:21*dmi00 quit (Ping timeout: 248 seconds)
18:46:58*Demos_ quit (Ping timeout: 258 seconds)
18:49:40*kulelu88 joined #nim
19:06:36*xet7_ is now known as xet7
19:11:05*ludocode quit (Ping timeout: 260 seconds)
19:11:30*ludocode joined #nim
19:29:11Varriount|MobileAraq: You mean we shouldn't be parsing and generating code using regexes?
19:30:01Varriount|Mobile:p
19:32:39*rynsin joined #nim
19:33:12*rynsin quit (Client Quit)
19:33:42*rynsin joined #nim
19:38:39*rynsin quit (Ping timeout: 268 seconds)
19:51:46*dmi00 joined #nim
19:58:48*desophos joined #nim
20:09:06*chemist69 quit (Ping timeout: 246 seconds)
20:14:47*irrequietus joined #nim
20:21:53*Varriount|Phone joined #nim
20:24:06*Varriount|Phone quit (Read error: Connection reset by peer)
20:25:28*Varriount|Mobile quit (Ping timeout: 245 seconds)
20:27:34*chemist69 joined #nim
20:50:41*bjz joined #nim
20:52:04*Varriount|Phone joined #nim
20:52:43*yglukhov quit (Remote host closed the connection)
20:58:40*yglukhov joined #nim
21:03:06*yglukhov quit (Ping timeout: 256 seconds)
21:06:56*Varriount|Phone quit (Ping timeout: 252 seconds)
21:12:09*Varriount|Phone joined #nim
21:14:05*rynsin joined #nim
21:16:18*rynsin quit (Max SendQ exceeded)
21:17:05*rynsin joined #nim
21:22:52*Matthias247 joined #nim
21:24:28*nsf quit (Quit: WeeChat 1.6)
21:27:15*Jesin joined #nim
21:27:42*Jesin quit (Remote host closed the connection)
21:35:24libmanHope y'all help me share, share, and downright push Nim news on social media - ex see my post in http://forum.nim-lang.org/t/2631/2 ;)
21:36:23libmanIf Facebook/Google is not making you do CAPTCHA yet, then you're not sharing as hard as I am. :P
21:38:42*chemist69 quit (Ping timeout: 258 seconds)
21:41:01*PMunch joined #nim
21:41:07*rynsin quit (Quit: rynsin)
21:42:52*libman quit (Quit: Leaving.)
21:43:31*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
21:54:04*Kingsquee joined #nim
21:55:41*PMunch quit (Quit: leaving)
21:57:59Varriount|PhoneAraq: I'll be pushing up a new version of the scripts I developed to convert Windows header files into forms suitable for c2nim
21:58:20*chemist69 joined #nim
21:59:28Varriount|PhoneWhile the resulting files still need some hand editing, it's nowhere near the amount the unprocessed ones require.
22:00:22*yglukhov joined #nim
22:00:42*brechtm joined #nim
22:06:29*yglukhov quit (Ping timeout: 248 seconds)
22:20:06*rynsin joined #nim
22:21:52*bjz joined #nim
22:28:13*dmi00 quit (Ping timeout: 256 seconds)
22:29:41*Trustable joined #nim
22:30:17*dmi00 joined #nim
22:33:03*bjz quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
22:37:13*brechtm quit (Remote host closed the connection)
22:45:49*yglukhov joined #nim
22:46:21*ybroze quit (Ping timeout: 256 seconds)
22:50:25*yglukhov quit (Ping timeout: 260 seconds)
22:50:46*deech quit (Remote host closed the connection)
23:08:16*irrequietus quit (Ping timeout: 250 seconds)
23:21:02*Trustable quit (Remote host closed the connection)
23:28:24*Varriount|Phone quit (Ping timeout: 260 seconds)
23:32:08*Varriount|Phone joined #nim
23:37:56*ftsf_ joined #nim
23:39:55FromGitter<ephja> is it possible to do s[x] *= y where `[]` is overloaded?
23:40:31cheatfateephja i think it possible if `[]` is returns `var type`
23:41:16cheatfatebecause `*=` takes first argument by reference as `a: var type`
23:50:04Varriount|PhoneMight also be possible with a ref type too
23:51:12FromGitter<ephja> nope. `s[x] = y` won't work either unless []= is defined
23:56:23FromGitter<ephja> would this be the best solution if it had worked?
23:56:23*elrood quit (Quit: Leaving)