<< 10-11-2014 >>

00:01:09Varriountflaviu: Also, I can't find where to set that information in the configuration file.
00:01:26flaviuVarriount: Edit buildbot/info/*
00:01:32gokrslave_dir/info/host & admin
00:01:34flaviuThere are two files in that dir
00:01:39flaviuyep
00:01:54Araqer, can anybody reproduce https://github.com/Araq/Nimrod/issues/1560 ?
00:02:01Araqworks for me (tm)
00:02:20Araqbut hrm bug report is for 0.9.4
00:04:23Araqand I remember there was a related bugfix
00:05:06Varriountflaviu: Ok, done.
00:05:30Varriountflaviu: I'll probably have to restart the slaves. I'll do that as soon as they're done testing.
00:05:41flaviuSure, sounds good!
00:05:48Varriountflaviu: I wonder how long the tester will take on the armv5 device...
00:06:31flaviuWell, csource bootstrap finishes in 20min..
00:07:31flaviuVarriount: Have you set it up to chmod +x nim?
00:08:36Varriountflaviu: I've set it to copy whatever python's stat shows from one executable to the other
00:08:58Varriountflaviu: https://github.com/nim-lang/nim-buildbot/blob/master/normalize_nim.py
00:09:29*dom96 quit (Changing host)
00:09:29*dom96 joined #nimrod
00:09:32Varriountflaviu: Although, the armv5 slave may not have gotten that update before it restarted.
00:10:31Varriountflaviu: There's a hidden step that runs at the beginning of the main build operation which updates a script directory. It only shows if something goes wrong.
00:10:58dom96why ChanServ, why?
00:11:22Varriount:<
00:12:01*BlaXpirit-UA quit (Quit: Quit Konversation)
00:12:24VarriountAraq: Any particular reason the csources binary has to be built with -O3 ?
00:13:01flaviuI restarted it, lets see what happens
00:13:55gokrVarriount: IIRC koch will consider the boot a success if old nim compiler == new. As in "files are equal".
00:14:33AraqVarriount: there is no reason.
00:16:59*uku quit (Ping timeout: 250 seconds)
00:17:02gokrAraq: But ... if you don't then I presume the koch boot will need one more "loop" to get to binary equal files, right?
00:19:54Varriountgokr: That's right.
00:20:11Varriountgokr: Booting from csources usually takes 3 loops
00:20:39NimBotnim-lang/nimforum new_async 707393a Dominik Picheta [+0 ±1 -0]: Added hr style.
00:20:39NimBotnim-lang/nimforum new_async 5d90a9e Dominik Picheta [+0 ±1 -0]: Add spacing between page num links.
00:21:56gokrVarriount: Right, so its very unlikely in any case that it matches with the one from csources.
00:23:02gokrSo the question is - is it slower to compile csources with -O3, and let that compile next iteration (kinda fast) OR compile csources with a lesser -O and then compile next iteration kinda slow? :)
00:24:03*boydgreenfield joined #nimrod
00:24:53gokrVarriount: Ok, time to crash. I will fix autostart via systemd tomorrow, and... for 32 bits, I need to put the slave into a vagrant box I think.
00:25:12gokrDocker doesn't seem to do 32 bits.
00:26:29gokrgnite
00:27:45Araqdom96: http://build.nim-code.org/irclogs/ doesn't work
00:29:02dom96nim-code.org?
00:29:14dom96why should it?
00:29:15Araqer, i mean http://build.nim-lang.org/irclogs/
00:29:37dom96yeah yeah, I need to move us to Digital Ocean anyway
00:34:09NimBotAraq/Nimrod devel b6e006f Araq [+1 ±4 -0]: fixes #1646
00:34:09NimBotAraq/Nimrod devel 9df3d9c Araq [+0 ±2 -0]: Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
00:36:33Araqgood night
00:42:14flaviuCan we use -Og for bootstrapping with gcc?
00:56:00*boydgreenfield quit (Quit: boydgreenfield)
01:00:24*boydgreenfield joined #nimrod
01:10:41*kniteli quit (Ping timeout: 244 seconds)
01:18:46*johnsoft quit (Ping timeout: 256 seconds)
01:19:09*johnsoft joined #nimrod
01:20:25*darkf joined #nimrod
01:22:23*kniteli joined #nimrod
01:45:02*brson quit (Quit: leaving)
02:02:25*askatasuna quit (Quit: WeeChat 1.0.1)
02:17:06*boydgreenfield quit (Quit: boydgreenfield)
02:32:15*kemet joined #nimrod
02:33:15*kemet quit (Remote host closed the connection)
02:34:07*q66 quit (Quit: Leaving)
02:39:28*ARCADIVS joined #nimrod
03:11:41*boydgreenfield joined #nimrod
03:23:33*boydgreenfield quit (Quit: boydgreenfield)
03:24:43*boydgreenfield joined #nimrod
03:41:09*boydgreenfield quit (Quit: boydgreenfield)
03:50:39*q66[lap] quit (Read error: Connection reset by peer)
03:52:42*q66[lap] joined #nimrod
04:00:40*kniteli quit (Ping timeout: 244 seconds)
04:12:56*kniteli joined #nimrod
04:23:22*ali joined #nimrod
04:23:25*ali left #nimrod (#nimrod)
04:23:33*kniteli quit (Ping timeout: 265 seconds)
04:35:16*kniteli joined #nimrod
05:00:42*flaviu quit (Ping timeout: 265 seconds)
05:01:22VarriountAraq: There's a bit of a problem....
05:01:29Varriountwith the tester.
05:02:09*kniteli quit (Ping timeout: 265 seconds)
05:06:43VarriountAraq: On Windows, when a program crashes, the Windows Error Reporting dialogue shows up. This blocks the tester program from exiting.
05:08:55VarriountAraq: Now, there are two ways to stop the error dialogue from coming up. Either I can disable them globally by editing a registry key
05:09:25VarriountAraq: Or the program itself can disable them from appearing via an API call.
05:11:55VarriountAraq: Now, personally, I would prefer not to disable the error dialogue globally (through the registry)
05:13:12VarriountIt means I can't tell when background processes start acting up. Plus, it means that if someone else wants to run a tester on windows, they have to do the registry edit.
05:14:12*kniteli joined #nimrod
05:15:57VarriountAraq: Is it possible for the compiler to add the api call that disables error reporting to the start of nim main?
05:16:34VarriountAraq: Then it could just be a matter of the tester setting some compiler switch to disable the error dialogue.
05:19:28VarriountAraq: http://stackoverflow.com/questions/396369/how-do-i-disable-the-debug-close-application-dialog-on-windows-vista
05:23:58*kniteli quit (Ping timeout: 265 seconds)
05:36:38*kniteli joined #nimrod
05:37:30*boydgreenfield joined #nimrod
05:39:10*Demos quit (Quit: Leaving)
05:43:29*kniteli quit (Ping timeout: 272 seconds)
05:55:04*kniteli joined #nimrod
06:00:34*boydgreenfield quit (Quit: boydgreenfield)
06:01:01*kemet joined #nimrod
06:06:01*kniteli quit (Ping timeout: 265 seconds)
06:08:20*fowl quit (Ping timeout: 256 seconds)
06:11:42*fowl joined #nimrod
06:17:58*kniteli joined #nimrod
06:24:42*bjz joined #nimrod
06:25:55*kemet quit (Ping timeout: 272 seconds)
06:27:11*kniteli quit (Ping timeout: 272 seconds)
06:35:59*uku joined #nimrod
06:39:52*kniteli joined #nimrod
06:43:05*BitPuffin quit (Ping timeout: 264 seconds)
06:44:28VarriountAraq: Also, is there some wierd way in which 'koch test' produces output? The build slave on windows keeps killing the test process because it's not recieving proper output.
07:01:15*saml_ quit (Quit: Leaving)
07:05:44*BlaXpirit joined #nimrod
07:15:24*boydgreenfield joined #nimrod
07:33:12*boydgreenfield quit (Quit: boydgreenfield)
07:34:14*q66[lap] quit (Read error: Connection reset by peer)
07:36:17*q66[lap] joined #nimrod
07:36:31*rpag quit (Ping timeout: 258 seconds)
07:37:22gokrMorning fellas!
07:38:45gokrVarriount: I have a bunch of computers here at home that aren't doing... anything useful... :)
07:39:05gokrThinking of smacking a 32 bit Ubuntu 14.04 on one of them, and using that as the 32 bit slave.
07:41:57*uku quit (Ping timeout: 245 seconds)
07:44:48gokrBrian Rice, cocreator of Slate (slatelanguage.org), retweeted one of my Nim tweets. He has 800 followers, so... good :)
07:51:17Varriountgokr: Neat!
07:51:29Varriountgokr: I'm going to bed right now. :p
07:51:39gokrI see the 64 bit build came through :)
07:51:54gokrWhere do you live? I perhaps asked before
07:52:08VarriountEast US
07:52:15gokrWhere there?
07:52:25gokrMy coworker Ron lives outside Baltimore.
07:52:26VarriountVirginia, near Washington DC
07:52:41gokrok cool.
07:52:42VarriountBaltimore is about an hour away from where I live.
07:52:55gokrAh, I might visit him in ... easter.
07:53:05gokrThat's an idea at least.
07:53:07VarriountMaybe we could have a get together.
07:53:12gokrYeah!
07:53:22gokrI live outside Stockholm, Sweden.
07:53:33gokrSo its 9 in the morning here :)
07:53:44Varriount2 in the morning/night here.
07:53:50gokrYeah, I know :)
07:54:03gokrGood work there on the bot
07:54:16gokrFor our own purposes I am actually playing with Gitlab
07:54:28VarriountI'll investigate the output troubles with the tester tomorrow. I'm going to bet it's got something to do with output redirections
07:54:28gokrIt has a CI thingy included.
07:54:46gokrCool, I will see if I can set up one of my old laptops here as a 32 bit builder.
07:54:49Varriountgokr: CI is only really useful for us if it works on a wide range of platforms.
07:55:33gokrYeah, but Gitlab CI has a similar approach that ... Buildbot. I think?
07:55:49VarriountYeah.
07:55:52gokrDrone on the other hand, I agree, seemed limited on platforms given its docker focus.
07:56:16Varriount"GitLab CI is on-premises software that you can install and use on your server(s)."
07:56:27VarriountHm, sounds interesting.
07:56:33gokrIts actually bundled with Gitlab now.
07:56:41gokrAnd Gitlab seems awfully neat actually.
07:56:46gokrBasically a github clone.
07:56:56gokrI am toying with it on that same server - it was trivial to install.
07:58:16gokrWe use a fairly old Redmine + manual git repos today. That works, but Gitlab would cover it all - and better.
07:58:16VarriountAnyway, goodnight gokr, see you later.
07:58:20gokryeah, gnite!
08:06:09*rpag joined #nimrod
08:10:09*superfunc joined #nimrod
08:12:17*uku joined #nimrod
08:13:07*boydgreenfield joined #nimrod
08:19:49*gokr left #nimrod (#nimrod)
08:20:25*wan joined #nimrod
08:28:28*Trustable joined #nimrod
08:53:36*q66[lap] quit (Read error: Connection reset by peer)
08:54:12*q66[lap] joined #nimrod
08:55:30*kniteli quit (Ping timeout: 256 seconds)
08:55:56*kniteli joined #nimrod
09:02:31*BlaXpirit quit (Quit: Quit Konversation)
09:02:52*boydgreenfield quit (Quit: boydgreenfield)
09:08:03*kniteli quit (Ping timeout: 272 seconds)
09:14:52*Trustable quit (Remote host closed the connection)
09:15:45*Trustable joined #nimrod
09:19:27*kniteli joined #nimrod
09:21:06*gokr joined #nimrod
09:21:42*johnsoft quit (Ping timeout: 265 seconds)
09:22:12*johnsoft joined #nimrod
09:42:44gokrDid the "effects" pragma go away?
09:56:39*kniteli quit (Ping timeout: 244 seconds)
09:57:46*kniteli joined #nimrod
09:58:33*kemet joined #nimrod
10:02:44*kemet quit (Client Quit)
10:05:01*uku quit (Ping timeout: 250 seconds)
10:06:38gokrDamn, this exception model seems quite neat.
10:07:29gokrI presume methods trips the tracking though.
10:15:25*kniteli quit (Ping timeout: 265 seconds)
10:18:50*uku joined #nimrod
10:22:42*superfunc quit (Quit: Connection closed for inactivity)
10:27:49*kniteli joined #nimrod
10:36:05*kniteli quit (Ping timeout: 272 seconds)
10:41:17gokrOk, so now a little Pentium-M laptop here at home is the 32 bit buildslave :)
10:41:30gokrNot useful for much else anyway.
10:44:28*q66[lap] quit (Read error: Connection reset by peer)
10:45:19*q66[lap] joined #nimrod
10:48:29*kniteli joined #nimrod
11:00:51*kniteli quit (Ping timeout: 265 seconds)
11:06:38*q66[lap] quit (Ping timeout: 250 seconds)
11:14:34*kniteli joined #nimrod
11:27:22*kemet joined #nimrod
11:28:28*BlaXpirit joined #nimrod
11:28:53*kniteli quit (Ping timeout: 265 seconds)
11:44:04*kniteli joined #nimrod
11:46:07*rpag quit (Ping timeout: 245 seconds)
11:51:26*Jehan_ joined #nimrod
11:53:56*kniteli quit (Ping timeout: 244 seconds)
12:04:57*uku quit (Ping timeout: 260 seconds)
12:07:39*kniteli joined #nimrod
12:09:03*Araq_ joined #nimrod
12:09:40Araq_Jehan_: your PR actually breaks every threading program on windows with thread local storage emulation ... but I'm working on it
12:16:09*kniteli quit (Ping timeout: 272 seconds)
12:22:23gokrThe 32 bit laptop seems to work fine. But the tests do take some time :)
12:25:25*gokr_ quit (Ping timeout: 250 seconds)
12:28:49*kniteli joined #nimrod
12:31:31gokrAraq_: Am I correct in viewing the Exception model as basically being "just" like in Java, but instead of making "checked" being an attribute of the Exception itself (and thus strictly under control of the author of the raise) in Nim its an attribute of the caller (using the raises: pragma - or not using it)?
12:32:29Araq_gokr: it's Java's done right. which means "do not get in my way" defaults and a smarter compiler behind it.
12:32:53gokrYes.
12:33:29gokrI did some fiddling (later article) and... I do get the "raises Exception" thingy when calling for example parseJson(string).
12:33:42gokrIt seems to originate from outOfMem handling or something.
12:34:09gokrSo I need to handle both JsonParsingError and Exception.
12:35:40gokrI read a bit about the logic around the tracking, and I suspect these "Exception" pops up when the compiler notes "something can be raised here, just not sure what", right?
12:39:12Araq_right. Well I need to add some warning so it's easier to see where these come from.
12:39:52*kniteli quit (Ping timeout: 265 seconds)
12:48:32gokrI also noted that... if I make a module with a foo proc - and it claims "raises: []" - then I can compile that fine, as long as I don't try to call it. But if I add a call to it - then of course it notices that hey, this foo proc can raise an unlisted exception.
12:50:23Araq_nah, I think you notice that because your proc is generic
12:50:40Araq_and so the raises list is checked at instantiation time
12:50:41gokrhmmm, it uses return auto.
12:50:51gokraha.
12:51:17gokrAh!
12:51:30gokrYou are ever so correct.
12:51:41gokrOk, that's better :)
12:54:49*BitPuffin joined #nimrod
12:55:17*kniteli joined #nimrod
12:58:39*xcombelle joined #nimrod
13:05:32gokrAh, 32 bit build came through :)
13:05:43*uku joined #nimrod
13:06:15gokr2h 20 min. cough.
13:06:49*Jehan_ quit (Quit: Leaving)
13:07:38Araq_we can optimize the test suite
13:07:42*kokozedman joined #nimrod
13:08:03gokrNot that bad for a 512Mb Pentium-M though :)
13:08:13Araq_and also have "low priority" tests
13:08:30Araq_that only need to be run before a release
13:08:42Araq_to ensure no regression happened
13:08:48kokozedmanhey guys, is there an existing Google Protobuf project for Nim?
13:10:41gokrNot that my quick googling shows.
13:10:49Araq_kokozedman: dunno. checked Nimble/Babel?
13:11:40gokrMy babel says no.
13:12:16gokrback later
13:13:36kokozedmanI've been looking for a while, but didn't come across anything... so I asked
13:13:47kokozedmangokr does confirm there isn't then
13:14:09gokrWell, I am fairly n00bish so... don't trust me :)
13:15:13*kniteli quit (Ping timeout: 265 seconds)
13:17:05Araq_Varriount: sure, disabling the error popup is what system/excpt.nim should default to.
13:20:11*lyro quit (Quit: WeeChat 0.4.3)
13:22:06Araq_kokozedman: just wrap some C protobuf lib via c2nim ;-)
13:24:19*Jehan_ joined #nimrod
13:26:02Jehan_Araq: Huh, I'm honestly not sure why that would have broken something. All it does is insert C code that should compile pretty much always; the compiler proc is always there and it checks the functionality that it uses with `when declared`.
13:28:11*kniteli joined #nimrod
13:29:21*dirkk0 joined #nimrod
13:29:21Araq_Jehan_: setStackBottom sets a thread local variable
13:29:44Araq_the TLS is not initialized yet at this point though
13:29:48Araq_and hence it crashes
13:29:51Jehan_Oh, I see.
13:29:55kokozedmanAraq_: this is what I'm trying to do, not really sure how to work with c2nim... but trying
13:30:17Araq_kokozedman: gokr has written a nice article about it
13:30:34Jehan_Ugh, that's an annoying corner case.
13:30:41kokozedmanoh, thanks...
13:31:00Jehan_I'll have a look at it later.
13:31:01kokozedmangokr: do you mind sharing the link to your c2nim article?
13:32:43gokrcheck http://goran.krampe.se/category/nim
13:32:56Araq_Jehan_: well I have a fix ... that for some reasons doesn't work at all
13:33:25Araq_will look at it again later
13:33:36Jehan_Araq: Details? I can't promise that I'll be able to look at it until tonight, though (work).
13:34:41*kniteli quit (Ping timeout: 272 seconds)
13:38:55*saml_ joined #nimrod
13:41:12Araq_well I just introduced another compilerproc initThreadVarsEmulation that's called before setStackBottom by the codegen
13:41:37Araq_but the crash remains
13:41:58Araq_but I did it half-asleep, so I'm sure it's something trivial
13:48:42*dirkk0 quit (Quit: This computer has gone to sleep)
13:56:58*kniteli joined #nimrod
13:57:28*dirkk0 joined #nimrod
14:04:48*darkf quit (Quit: Leaving)
14:04:55*dirkk0 quit (Read error: Connection reset by peer)
14:06:21gokrkokozedman: I presume you found it: http://goran.krampe.se/2014/10/16/nim-wrapping-c/
14:11:13*kniteli quit (Ping timeout: 265 seconds)
14:12:05kokozedmangokr: yes, I did... being sucked-in by your other Nim articles ;-)
14:12:15gokr:)
14:12:38*saml_ quit (Quit: Leaving)
14:23:05*BlaXpirit-UA joined #nimrod
14:25:59*BlaXpirit quit (Ping timeout: 272 seconds)
14:27:02gokrgitlab is really neat.
14:28:59*kniteli joined #nimrod
14:39:48*kniteli quit (Ping timeout: 265 seconds)
14:58:11*kniteli joined #nimrod
15:03:34*Jehan_ quit (Quit: Leaving)
15:04:30*Araq_ quit (Quit: ChatZilla 0.9.91 [Firefox 33.0/20141011015303])
15:04:32*dom96_ quit (Ping timeout: 250 seconds)
15:04:44*dirkk0 joined #nimrod
15:06:17*saml joined #nimrod
15:07:10*kniteli quit (Ping timeout: 244 seconds)
15:10:11*kws joined #nimrod
15:11:09*kws left #nimrod (#nimrod)
15:16:35*ARCADIVS quit (Quit: ARCADIVS)
15:19:27*kniteli joined #nimrod
15:24:03kokozedmanhow to get suggestions working in Aporia? I already enabled it in preferences, but it always end-up with a red text saying there is nothing
15:24:41kokozedman(Nim compiled from master branch)
15:38:49*kniteli quit (Ping timeout: 272 seconds)
15:49:26*bjz_ joined #nimrod
15:49:37*bjz quit (Read error: Connection reset by peer)
15:52:06*kniteli joined #nimrod
15:59:03*kemet quit (Ping timeout: 250 seconds)
15:59:34*bjz_ quit (Ping timeout: 244 seconds)
16:00:00*bjz joined #nimrod
16:00:25*untitaker quit (Ping timeout: 255 seconds)
16:03:25*kniteli quit (Ping timeout: 265 seconds)
16:06:53*untitaker joined #nimrod
16:15:56*kniteli joined #nimrod
16:23:47*kemet joined #nimrod
16:26:57*kniteli quit (Ping timeout: 272 seconds)
16:32:36*mko joined #nimrod
16:39:46*kniteli joined #nimrod
16:40:52*dirkk0 quit (Quit: Leaving)
16:44:16*Matthias247 joined #nimrod
16:47:55*kniteli quit (Ping timeout: 244 seconds)
16:59:29*kniteli joined #nimrod
17:00:22*uku quit (Ping timeout: 240 seconds)
17:02:07gokrkokozedman: There may be some issue with Aporia and latest Nim, it kinda... stopped working for me when I moved to devel. Haven't investigated.
17:03:31gokrVarriount: Got the 32 bit working on an old laptop here, running Peppermint 5. So both Linux build slaves are now working.
17:03:51gokrTime to unpack a new TV bench :)
17:11:05*kniteli quit (Ping timeout: 265 seconds)
17:16:34NimBotnim-lang/nimforum new_async 4d45981 Dominik Picheta [+0 ±1 -0]: Fixes sidebar style on smaller screens.
17:38:13*bjz quit (Read error: Connection reset by peer)
17:38:21*bjz joined #nimrod
17:49:59*Jehan_ joined #nimrod
17:51:57*irrequietus joined #nimrod
17:54:15*q66[lap] joined #nimrod
17:59:56*uku joined #nimrod
18:00:14*lbmn joined #nimrod
18:03:16Araqgokr: isn't that simply caused because it's now "nim" so aporia can't find it anymore?
18:04:04gokrCould be.
18:04:33gokrI did change the compiler command to use "nim" instead of nimrod - but the suggest is probably wired to nimrod.
18:05:10*Matthias247 quit (Read error: Connection reset by peer)
18:06:35*q66 joined #nimrod
18:08:32ldleworkgokr: well does it start working if you put a link?
18:08:51gokrI haven't tried, a bit busy right now
18:12:13*dom96_ joined #nimrod
18:15:07lbmnThe future belongs to whatever language has the shortest domain name (tcl.tk being an exception). Don't delay, get a nim.xx domain name today! 3:)
18:26:35*kniteli joined #nimrod
18:27:30*tillzy joined #nimrod
18:27:32ldleworkisn't there a .im ?
18:28:13wanIf you could buy back nim.pl
18:31:19lbmn.la (language) was open last time I checked.
18:32:46*kniteli quit (Ping timeout: 265 seconds)
18:44:57*kniteli joined #nimrod
18:49:18*tillzy quit (Quit: tillzy)
18:52:35*kniteli quit (Ping timeout: 265 seconds)
19:04:15*kniteli joined #nimrod
19:17:11*Trustable quit (Quit: Leaving)
19:18:38*tillzy joined #nimrod
19:19:06*kniteli quit (Ping timeout: 265 seconds)
19:25:41kokozedmanwhat's the way to create a ptr SomeType from within Nim?
19:26:27kokozedmanmight be doing things wrong, but I'm trying to bing a C library, and there is no function to create the struct, it's up to the user to allocate it
19:26:39kokozedmanhow to do that "allocation" right within Nim?
19:28:06*kemet quit (Ping timeout: 264 seconds)
19:31:08Araqyou can use cast[ptr SomeType](alloc(sizeof SomeType)) or better just declare it as SomeType and use addr to get a pointer to it
19:32:13*rpag joined #nimrod
19:32:58NimBotnim-lang/nimforum new_async 9e7b889 Dominik Picheta [+0 ±1 -0]: Syntax highlighting colors implemented.
19:32:58NimBotnim-lang/nimforum new_async fb24365 Dominik Picheta [+0 ±3 -0]: Better form styles. Implemented new design for post preview.
19:33:25*EXetoC quit (Ping timeout: 264 seconds)
19:45:17*kemet joined #nimrod
19:49:23*kniteli joined #nimrod
19:50:32kniteliHey guys, I was wondering if anyone else has tried using the vecmath library from nimble lately? I get a compile error on something the manual says should work (unless I'm misunderstanding it)
19:51:25kniteliVecmath does this: result = TMatrix[TMatrix.N - 1, TMatrix.M - 1, TMatrix.T, TMatrix.O]()
19:51:45kniteliWhere TMatrix looks like this: type TMatrix*[N: static[int]; M: static[int]; T; O: Options] = object
19:51:46kniteli data*: array[0..M*N-1, T]
19:53:11Araq-.-
19:53:50Araqyeah yeah yeah this matrix stuff doesnt work
19:55:33kniteliand the compiler doesn't like it
19:55:33*kniteli quit (Remote host closed the connection)
19:55:54*kniteli joined #nimrod
20:11:41*xcombelle quit (Ping timeout: 250 seconds)
20:13:33*uku quit (Ping timeout: 244 seconds)
20:22:27*xcombelle joined #nimrod
20:26:41*uku joined #nimrod
20:30:21*Mat3 joined #nimrod
20:30:35Mat3hello
20:34:45*Dispatch joined #nimrod
20:41:58*Matthias247 joined #nimrod
20:42:01NimBotnim-lang/nimforum new_async 2ac0f93 Dominik Picheta [+0 ±1 -0]: Margin bottom for <pre> code.
20:42:50*flaviu joined #nimrod
20:44:14Araqhi Mat3
20:44:36Mat3hi Araq
20:50:02*kniteli quit (Ping timeout: 265 seconds)
20:51:01lbmnhttps://www.facebook.com/copyfree.org/photos/a.220472174811436.1073741828.220434508148536/313302362195083/?type=1
20:51:54lbmnIf some Nimrod fan does more blogging about it, I'll do more sharing. ;-)
20:52:25*xcombelle quit (Quit: Quitte)
20:56:01ldleworklbmn: About what
20:57:52lbmnNim(rod).
20:59:50lbmnex. https://www.facebook.com/copyfree.org/posts/313308992194420
21:00:25lbmnWrite about how Nim compares to other languages, write more tutorials, etc. More blogs == more attention == more contributions, eventually.
21:00:40ldleworklbmn: http://blog.ldlework.com/a-cursory-look-at-meta-programming-in-nim/
21:01:01lbmnExcellent!
21:01:14*brson joined #nimrod
21:01:35*ehaliewicz joined #nimrod
21:02:01*kniteli joined #nimrod
21:02:28*Dispatch quit (Ping timeout: 246 seconds)
21:10:30Mat3Araq: I tested some register allocation schemes between different C style calling conventions. It is generally possible to reserve at least two registers in a safe way, directly accessing them though inline assemblation. Because it is not guaranteed a C compiler can use them for optimization purposes procedures need to be hinted as 'volatile' of course
21:11:37Mat3^can not
21:11:50AraqI see
21:13:22gokrlbmn: I presume you saw my articles?
21:13:51*kniteli quit (Ping timeout: 272 seconds)
21:15:46lbmnI might have missed posting them. URLs?
21:16:02lbmnI'll try to keep up with http://www.reddit.com/r/nimrod/ from now on.
21:16:19gokrlbmn: http://goran.krampe.se/category/nim
21:16:23ldleworklbmn: mind posting my article to the reddit?
21:16:46gokrA whole slew of articles there. Feel free to spread, at least one of them has already seen some reddit action I think.
21:24:30*Dispatch joined #nimrod
21:24:45*kniteli joined #nimrod
21:26:17*johnsoft quit (Ping timeout: 264 seconds)
21:27:10*johnsoft joined #nimrod
21:31:52lbmnI don't use Reddit, I run the Copyfree Facebook Page.
21:38:47*kniteli quit (Ping timeout: 265 seconds)
21:43:17gokrlbmn: Right, sorry.
21:45:34*bjz quit (Ping timeout: 255 seconds)
21:46:55*bjz joined #nimrod
21:50:17*kniteli joined #nimrod
21:51:01*irrequietus quit ()
21:58:50gokrlbmn: But anyway, my articles are free to link to or whatever you wish. :)
21:59:41gokrAnd I have 2-3 more brewing, just need time to make them. I think the next one will be about "seq" and the one after that, probably Exception handling.
22:05:05ldleworkWe need a "Why Nim when there's Rust?" post
22:05:18*Dispatch quit (Quit: Page closed)
22:05:18ldleworkits like the only question I ever get when I bring up Nim :(
22:05:57gokrMmm, you need people like Araq and Jehan etc to try to answer that. I don't know Rust, and I know too little Nim :)
22:06:30ldleworkgokr: I have the same problem answering
22:06:34gokrBut obviously there are differences, Jehan pointed out the obvious fact - Rust doesn't do GC, Nim does in an optional way.
22:06:35ldleworkThough I have looked at Rust
22:07:03gokrAlso, the error handling with I wrote about - seems very primitive in Rust.
22:07:03*kniteli quit (Ping timeout: 272 seconds)
22:11:22Mat3gokr: Rust appeal to C affiniates (one goal of this language is mimic C's syntax as much as possible)
22:12:33ldleworkMat3: yeah I totally feel that when I see the patterns and destructuring and ... wait what
22:18:10*kniteli joined #nimrod
22:22:19Araqldlework: how does Rust do --taintMode? how does it async+await? how does it deal with overflows? (hint: it doesn't)
22:22:33Araqthe languages are vastly different
22:22:44ldleworkAraq: I don't know anything you just said
22:23:24Araqyou might as well ask "why do we need Ruby when there's Lisp"
22:23:48*kniteli quit (Ping timeout: 265 seconds)
22:23:49Mat3well, that's a good question I think
22:24:00gokrSo in most aspects you mention and I did - one could say Rust is "lower level", right?
22:24:11ldlework:(
22:25:17gokrI mean, it doesn't do overflows - does it do bounds checks? The error handling model is... well, it seems almost non existent to me. Async stuff is a high level construct, as is GC one could claim.
22:25:50gokrBut it does do more advanced type inference possibly, or?
22:28:20Araqgokr: it does bound checks. but it doesn't check for overflows
22:28:29gokrok
22:30:13Mat3gokr: Rust at least has a more solid type system than C and support some higher level abstractions (like generics, lambda expressions and closures)
22:30:13lbmnBecause Rust is a conspiracy by former Java programmers to lower programmer productivity in a new century?
22:32:01gokrMat3: Yeah, I mean... it has a lot of goodies for sure. My impression so far is that its "lower level" and also less focused on being practical and more focused on safety and ... no gc.
22:32:02ldleworkI kind of just want to be able to illuminate why I'm learning Nim instead of Rust
22:32:10ldlework(in all honesty, i don't actually *know*)
22:32:48Araqldlework: because Nim treats you like a genius, Rust like an idiot.
22:33:00ldleworkDangerous proposition
22:33:03ldlework:)
22:33:23Mat3gokr: I think so. Garbage Collection for example is probably disadvantageous for (hard) real time applications
22:33:43ldleworkUnless you're ocaml apparently! :)
22:33:47*ldlework tickles Jehan_
22:34:11gokrPersonally Rust felt all too complicated when I looked at it a year ago. Ok, so it has been simplified so people say. But every time I look at it - I get turned off.
22:34:54ldleworkDunno, Rust seems like a smaller language than Nim
22:35:23*BitPuffin quit (Remote host closed the connection)
22:35:31ldleworkWhen I look at the Docs, I see, normal procedural stuff, plus pointers, patterns, generics and traits
22:35:37gokrldlework: But what is your reaction to the error handling in Rust?
22:35:40ldleworkWhich doesn't make me panic
22:35:44*kniteli joined #nimrod
22:36:02Mat3However, this languages is of same limitation as C for low-level programming (whereby decent C compiler at least offering some useful extensions for that purpose)
22:36:09gokrNot that the error handling is an example of "complicated" - rather... the opposite.
22:36:20bjzAraq: "Nim treats you like a genius, Rust like an idiot." I dunno -
22:36:45ldleworkgokr: can't really say. since I haven't really written anything substantial in Rust, I haven't used it much
22:37:06gokrldlework: But do read that section in their doc. If you can find it :)
22:37:18Araqbjz: oh really? why do macros have to end in ! then? that's language design for notepad users. There are plenty of other examples.
22:37:22gokr(hint: No point in searching for a section called Error handling or similar)
22:38:37ldleworkAraq: PLEASE START BLOGGING
22:38:46ldleworkahem "Writing Articles"
22:39:04Araqbjz: why re-invent exception handling with 'try!'? what problems do exceptions cause in practice in all the languages that happen to have them that are not c++?
22:39:06bjzAraq: When I make a change to something, I know I can just step through the fixes - it will ensure the types/memory management works out. It offloads part of my concerns to allow me to think about other stuff. I guess Nim might be similar though - I don't feel like a simpleton using Rust though.
22:39:16gokrldlework: http://lucumr.pocoo.org/2014/10/16/on-error-handling/
22:39:30Jehan_ldlework: Umm, no.
22:39:55ldleworkJehan_: no what
22:39:56Jehan_ldlework: My point about OCaml was not that it's superior, but that it had soft realtime GC for a couple of decades.
22:40:04ldleworkJehan_: oh hey I was just teasing
22:40:21ldleworkJehan_: I read a lot more about OCaml and I'm willing to conceede there.
22:40:26Jehan_So there's no real excuse for the state of the art to lag behind that.
22:40:41ldleworkJehan_: sorry you got upset last time, I hope you don't carry a grudge
22:40:50bjzAraq: macros use ! for tooling purposes - it lets you know that here you enter code where only matching delimiters are enforced. It means you don't need to know any semantics about the program.
22:40:57Mat3Araq: Because obfuscating postfixes can ease parsing and have the advantage that reading code get a lot harder
22:40:58Jehan_No, I was just getting frustrated, no ill feelings. :)
22:41:20bjzAraq: semantics of the macro I mean
22:41:39Araqbjz: that's totally unnecessary
22:41:52bjzAraq: it may be
22:42:04bjzAraq: that's just what I have been told
22:42:30bjzAraq: nim has much nicer macros than Rust, from what I've seen
22:43:00ldleworkthe macros are what made me stay
22:43:08bjzie. they seem less separate from the rest of the language.
22:43:23bjzAraq: try! will be replaced with something richer in the future.
22:43:45Araqnot to mention that the whole language design was done by brute force. it's nice that they came up eventually with an innovative design, but it still feels like they still don't know what they are doing.
22:43:56bjzAraq: but we can't have exceptions due to all the issues with unwinding
22:44:19Araqand the exception re-inventing way to do error handling is just the latest example of that
22:45:04*kniteli quit (Ping timeout: 265 seconds)
22:46:27bjzAraq: it is an issue about making error codes cleaner, whilst also only having failure that can only be caught at the task boundary. It's neccesary to think a little differently. Nim has the benefit of being garbage collected - Rust does not/
22:47:04bjzAraq: we don't want a repeat of the fiasco that is C++'s exceptions
22:47:22bjzhttps://github.com/rust-lang/rfcs/issues/434
22:48:40bjzAraq: anyway, I feeli like they have taken a very iterative design process, but they have managed to come up with a design that feel quite coherent, and is very simple at its core. That
22:49:21bjzAraq: I was concerned at first design wise - I am usually more of a fan of a more considered approach, as you have taken.
22:49:44bjzAraq: anyway, gotta go
22:50:47bjzAraq: not trying to push Rust on you - just adding an alternative perspective. We are all trying to push the boundaries of the combinatorial space of language design, for the better. :)
22:51:14gokrPersonally I am all for Rust succeeding (whatever that means) - and I felt it had some interesting ideas (borrowing etc) - but... for me personally I have a hard time grasping it.
22:51:27bjzgokr: no worries
22:51:32*flaviu quit (Read error: Connection reset by peer)
22:52:00bjzgokr: we need better docs etc. I think things will become a lot clearer once the dust has settled post 1.0
22:52:23gokrMmm, but some say "its a small language" - but... I don't think it is.
22:52:37gokrThere are literally tons of mechanisms AFAICT.
22:53:03*flaviu joined #nimrod
22:53:12*kemet quit (Ping timeout: 244 seconds)
22:53:50bjzgokr: gotta go, sorry
22:53:55gokrno prob
22:53:57Mat3personally, I dislike Rust's syntax (the same way as I dislike the syntax of C) - I found it hard to read
22:54:01bjzgokr: would love to follow that up
22:54:05bjzMat3: +1
22:54:07gokrSure, I am around :)
22:54:25Araqyou simply cannot have a decent small statically typed language in 2014.
22:54:42Araqthe small languages are all dynamically typed.
22:54:58gokrYou got a point there, but Nim feels (funny enough) smaller than Rust.
22:55:16Araqit also doesn't matter much. what matters is the complexity of the resulting systems.
22:55:42gokrSure, I agree. But there is often IMHO a strong correlation with "lots of mechanisms" and "unreadable mess of code".
22:55:44Mat3hmm, Go is a small but static typed language (one exception of a rule, probably)
22:56:02AraqMat3: that's why I added *decent*
22:56:11Mat3*lol*
22:56:19Araqof course, if you pretend to not need generics, etc. you can stay small
22:56:39Matthias247Mat3: if you ccan call it static typed when you need interface{} for a lot of things :)
22:58:08gokrI have a friend that always said - if you are a good developer you can write good code in any language, C++ too. And he is right, and he was also the top student and a brilliant programmer. I always told him: Yeah, but lots of developers aren't good.
22:58:20*kniteli joined #nimrod
22:58:53*bjz quit (Ping timeout: 244 seconds)
22:59:53gokrSo if you have a "larger" language, like Nim - you need lots of good example code. Libraries. Apps. So that you can learn how the Romans do it.
22:59:53Mat3Matthias247: agree, however dynamic languages offering often more sophisticated methods (like runtime modifications dependent on state changes)
23:00:57gokrNow, Nim has that going. And since Nim also encourages "libraries in source form" its easy to read code and learn. And thank god, Araq and dom96 etc actually try to write readable fairly straight forward code - thus creating a style.
23:01:05flaviuVarriount: Actually, I'm wrong wrt to buildbot being in the arch repos
23:01:18flaviuIt is there, I just messed up the tab completion
23:04:55*lbmn quit (Remote host closed the connection)
23:05:42Araqgokr: we're living in a world where the same guys who insist on reviewing every single line of code that gets written also insist that you cannot reasonably avoid features that are baked into the language...
23:06:39*Matthias247 quit (Read error: Connection reset by peer)
23:12:55*kniteli quit (Ping timeout: 272 seconds)
23:13:54*BlaXpirit-UA quit (Quit: Quit Konversation)
23:24:15*kniteli joined #nimrod
23:28:09*tillzy quit (Quit: tillzy)
23:28:45Mat3ciao
23:28:49*tillzy joined #nimrod
23:29:11*Mat3 left #nimrod (#nimrod)
23:29:18*tillzy quit (Client Quit)
23:40:39*kniteli quit (Ping timeout: 265 seconds)
23:51:57*ehaliewicz quit (Remote host closed the connection)
23:52:00*kniteli joined #nimrod