<< 11-08-2016 >>

00:01:34*filwit quit (Quit: Konversation terminated!)
00:04:01*yglukhov joined #nim
00:08:36*yglukhov quit (Ping timeout: 265 seconds)
00:16:29*kulelu88 quit (Quit: Leaving)
00:21:37*endragor joined #nim
00:26:01*endragor quit (Ping timeout: 244 seconds)
00:26:54*pregressive quit (Remote host closed the connection)
00:27:28*pregressive joined #nim
00:29:12*PMunch quit (Quit: leaving)
00:29:46*nairobi joined #nim
00:31:48*pregressive quit (Ping timeout: 250 seconds)
00:33:52*nairobi quit (Ping timeout: 240 seconds)
00:38:20*kulelu88 joined #nim
00:50:41*ftsf joined #nim
01:02:34*kssreeram joined #nim
01:04:06*endragor joined #nim
01:06:10*yglukhov joined #nim
01:08:13*endragor quit (Ping timeout: 244 seconds)
01:09:42*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
01:11:21*yglukhov quit (Ping timeout: 276 seconds)
01:21:29*endragor joined #nim
01:23:29*brson quit (Quit: leaving)
01:23:48*Trixar_za is now known as Trixar
01:23:49*nairobi joined #nim
01:25:34*Trixar quit (Quit: Leaving)
01:26:18*endragor quit (Ping timeout: 276 seconds)
01:29:33*nairobi quit (Ping timeout: 276 seconds)
01:36:54*kulelu88 quit (Quit: Leaving)
01:46:45*endragor joined #nim
01:48:31*Trixar_za joined #nim
01:51:21*endragor quit (Remote host closed the connection)
01:53:29*chemist69_ joined #nim
01:56:27*chemist69 quit (Ping timeout: 250 seconds)
01:59:57*endragor joined #nim
02:00:32*kingofoz quit (Ping timeout: 240 seconds)
02:01:02*kingofoz joined #nim
02:02:08*pdv joined #nim
02:27:14*kssreeram quit (Ping timeout: 265 seconds)
03:08:05*yglukhov joined #nim
03:11:25*zahary joined #nim
03:12:54*yglukhov quit (Ping timeout: 276 seconds)
03:12:57*zahary quit (Read error: Connection reset by peer)
03:13:55pdvCould anyone please take a look at this? https://github.com/nim-lang/Nim/issues/4597
03:20:41*kssreeram joined #nim
03:28:17*space-wizard joined #nim
03:30:36*kssreeram quit (Quit: My Mac has gone to sleep. ZZZzzz…)
03:47:40*Sentreen quit (Ping timeout: 250 seconds)
03:51:02*space-wizard quit (Quit: My Mac has gone to sleep. ZZZzzz…)
03:51:08*xet7_ quit (Ping timeout: 250 seconds)
03:52:48*Sentreen joined #nim
04:11:29*kssreeram joined #nim
04:31:05*kssreeram quit (Read error: Connection reset by peer)
04:35:55*kssreeram joined #nim
04:40:15*chemist69_ quit (Ping timeout: 250 seconds)
04:42:39*kssreeram quit (Ping timeout: 265 seconds)
04:43:10*chemist69_ joined #nim
04:48:39*kssreeram joined #nim
04:49:35*zahary joined #nim
04:50:40*shodan45 quit (Quit: Konversation terminated!)
04:53:41*ftsf quit (Ping timeout: 250 seconds)
04:54:18*zahary quit (Ping timeout: 276 seconds)
04:59:36*ftsf joined #nim
05:07:41*zahary joined #nim
05:09:30*yglukhov joined #nim
05:14:27*yglukhov quit (Ping timeout: 276 seconds)
05:21:46*kingofoz quit (Ping timeout: 258 seconds)
05:22:44*kingofoz joined #nim
05:35:17*endragor quit (Remote host closed the connection)
05:38:09*brson joined #nim
05:42:07*endragor joined #nim
05:42:17*endragor quit (Remote host closed the connection)
05:42:24*endragor joined #nim
05:43:48*CARAM___ joined #nim
05:48:39*CARAM__ quit (Ping timeout: 250 seconds)
05:48:39*flyx quit (Ping timeout: 250 seconds)
05:48:39*Learath2 quit (Ping timeout: 250 seconds)
05:48:39*saml quit (Ping timeout: 250 seconds)
05:48:48*Lea2 joined #nim
05:49:27*flyx joined #nim
05:49:51*saml joined #nim
05:50:51*CARAM___ is now known as CARAM__
05:56:51*endragor quit (Remote host closed the connection)
06:10:38*flyx quit (Quit: ZNC - http://znc.in)
06:11:15*flyx joined #nim
06:24:36*nairobi joined #nim
06:29:15*nairobi quit (Ping timeout: 264 seconds)
06:47:46*endragor joined #nim
06:51:17*endragor quit (Remote host closed the connection)
06:52:37*chrisheller quit (Ping timeout: 252 seconds)
06:52:48*chrisheller joined #nim
07:01:25*chrisheller quit (Ping timeout: 252 seconds)
07:01:28*chrishel_ joined #nim
07:09:07*chrishel_ quit (Ping timeout: 252 seconds)
07:09:31*chrisheller joined #nim
07:11:31*yglukhov joined #nim
07:16:39*yglukhov quit (Ping timeout: 276 seconds)
07:16:49*chrisheller quit (Ping timeout: 252 seconds)
07:18:57*nairobi joined #nim
07:20:56*Trustable joined #nim
07:22:29*nairobi_ joined #nim
07:22:34*brson quit (Ping timeout: 258 seconds)
07:23:48*nairobi quit (Ping timeout: 276 seconds)
07:28:07*allan0 quit (Ping timeout: 244 seconds)
07:33:37*allan0 joined #nim
07:37:59*nairobi_ quit (Read error: Connection timed out)
07:39:07*nairobi joined #nim
07:41:26*endragor joined #nim
07:41:27*zahary quit (Read error: Connection reset by peer)
07:41:40*zahary joined #nim
07:44:00*brechtm joined #nim
07:44:36*Parashurama joined #nim
07:48:27*allan0 quit (Ping timeout: 264 seconds)
07:54:45*allan0 joined #nim
07:55:14*nairobi quit (Read error: Connection timed out)
07:56:35*nairobi joined #nim
08:02:28*ftsf quit (Quit: :q!)
08:03:53*Arrrr joined #nim
08:03:53*Arrrr quit (Changing host)
08:03:53*Arrrr joined #nim
08:04:48*allan0 quit (Ping timeout: 244 seconds)
08:06:51*miere joined #nim
08:10:41*allan0 joined #nim
08:10:41*brechtm_ joined #nim
08:14:15*brechtm quit (Ping timeout: 258 seconds)
08:23:22*chemist69_ quit (Quit: WeeChat 1.5)
08:28:34*yglukhov joined #nim
08:29:47*chemist69 joined #nim
08:44:03*hendi__ joined #nim
08:48:17Araqpdv: looks like you're close to fixing it :-)
08:48:48AraqI've grown to dislike condition variables because they are so prone to deadlocks
08:53:10pdvNot so much to fixing it, rather to implementing a temporary workaround. Regrettably, I just don't have the time for the permanent solution right now.
08:53:30*hendi__ quit (Ping timeout: 265 seconds)
08:56:17AraqI planned to replace the cond vars with timed cond vars everywhere
08:56:52cheatfateAraq, when closure environment going to be freed?
08:57:27Araqbut posix makes this so messy. with the Win API it's just one additional argument
08:57:45Araqcheatfate: it's GC'ed
08:58:24cheatfateAraq, yeah i know but in what condition GC will free it?
08:59:18*gokr joined #nim
09:01:37cheatfateit will be freed when all objects inside of environment are refed to zero?
09:02:01Araqthat makes no sense
09:14:20*endragor quit (Remote host closed the connection)
09:15:35*zahary quit (Ping timeout: 244 seconds)
09:16:40ArrrrDo converters harm compilation times too much? I never use them.
09:17:09*endragor joined #nim
09:17:17*zahary joined #nim
09:17:35Araqyes, the are currently not handled with intelligence
09:26:59*Parashurama quit (Quit: ChatZilla 0.9.92 [Firefox 48.0/20160728203720])
09:28:50*nairobi quit (Remote host closed the connection)
09:29:27*nairobi joined #nim
09:29:37*nairobi quit (Read error: Connection reset by peer)
09:30:05*nairobi joined #nim
09:31:34*nairobi_ joined #nim
09:32:18*nairobi__ joined #nim
09:34:35*nairobi quit (Ping timeout: 265 seconds)
09:36:10*elrood joined #nim
09:36:24*nairobi_ quit (Ping timeout: 276 seconds)
09:37:03*nairobi__ quit (Ping timeout: 264 seconds)
09:37:37*rusua joined #nim
09:37:43ArrrrHeh, i bet they are not included in v2.
09:50:31*nairobi joined #nim
09:53:36*kssreeram quit (Ping timeout: 258 seconds)
09:55:30*TheLemonMan joined #nim
10:00:41*kssreeram joined #nim
10:06:19gokrSomething confuses me with nimble...
10:10:45gokrAha, I think I understand... so... "nimble install" seems to first build properly for release, and put binaries into bin BUT...
10:11:06gokr...it then looks for the binaries to install first in srcDir and then in binDir...
10:11:30gokr...which means that if there is a binary in srcDir (like say I had one in there built manually) - it will get installed instead!
10:11:48gokrThat has been confusing me like hell for a long time.
10:12:20gokrI run nimble install, it compiles and all - and then when I run it's still an old binary. Not good.
10:12:40gokrdom96: So am I right, this is a bug?
10:17:05*Demon_Fox quit (Quit: Leaving)
10:17:22*euantor joined #nim
10:22:54*kssreeram quit (Read error: Connection reset by peer)
10:25:05*rusua quit (Quit: Textual IRC Client: www.textualapp.com)
10:30:43*kssreeram joined #nim
10:35:08*namnguyen quit (Ping timeout: 250 seconds)
10:47:18*namnguyen joined #nim
11:01:27*Arrrr quit (Ping timeout: 258 seconds)
11:17:13*pdv quit (Remote host closed the connection)
11:18:03*Arrrr joined #nim
11:18:03*Arrrr quit (Changing host)
11:18:03*Arrrr joined #nim
11:24:01*fredrik92 joined #nim
11:38:03*kssreeram quit (Ping timeout: 240 seconds)
11:41:07*euantor quit (Quit: Leaving)
11:46:49*hendi__ joined #nim
11:46:53*michael_campbell joined #nim
11:46:54*miere quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
11:47:11*miere joined #nim
11:53:23*miere43 joined #nim
11:56:10*miere quit (Ping timeout: 250 seconds)
11:56:33*michael_campbell quit (Quit: Textual IRC Client: www.textualapp.com)
12:03:57*zahary quit (Ping timeout: 276 seconds)
12:06:24*zahary joined #nim
12:09:15*zahary1 joined #nim
12:09:16*zahary quit (Read error: Connection reset by peer)
12:11:54*desophos quit (Read error: Connection reset by peer)
12:15:11*michael_campbell joined #nim
12:18:41*Arrrr_ joined #nim
12:20:23*ftsf joined #nim
12:21:34*Arrrr quit (Ping timeout: 258 seconds)
12:25:49*Arrrr_ quit (Read error: Connection reset by peer)
12:28:56*nsf quit (Quit: WeeChat 1.5)
12:36:25*miere43 quit (Read error: Connection reset by peer)
12:41:12literalbeginner here...is there a way to pretty-print any datastructure?
12:45:36flyxliteral: most basic way: echo foo.repr
12:45:48flyxliteral: nicer way: use the marshal module
12:48:10flyxi.e. import marshal; echo $$foo
12:52:34*coffeepot joined #nim
12:56:44literalnice, thanks
12:57:27*brechtm joined #nim
13:01:03*brechtm_ quit (Ping timeout: 264 seconds)
13:01:10*nairobi quit (Remote host closed the connection)
13:07:17*emery joined #nim
13:10:16*kssreeram joined #nim
13:10:18*zahary1 quit (Read error: Connection reset by peer)
13:14:01*nairobi joined #nim
13:14:38*zahary joined #nim
13:16:45*Eyes quit (Ping timeout: 276 seconds)
13:18:04literalso, I got spawn() working, but I'm trying to use it inside a parallel block and I get an error from the disjoint checker: https://gist.github.com/hinrik/379b7e125b3471b41333f31f86994851
13:18:32literalwhat am I doing wrong there?
13:18:42*nairobi quit (Ping timeout: 276 seconds)
13:18:57*nairobi joined #nim
13:21:16*SunDwarf joined #nim
13:21:22*emery quit (Ping timeout: 258 seconds)
13:22:08*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:22:41*coffeepot joined #nim
13:23:41*nairobi quit (Ping timeout: 265 seconds)
13:24:48*brechtm quit (Remote host closed the connection)
13:26:10*coffeepot quit (Client Quit)
13:26:19*coffeepot joined #nim
13:26:54*brechtm joined #nim
13:32:07flyxliteral: not sure why, but parallel has to be inside a proc
13:32:47flyxliteral: I guess this is because of the immutability check. if res is declared inside a proc, it is not a global and that may help the compiler prove that it is immutable
13:34:15literalyeah, works now that I put it into a proc
13:34:50*nairobi joined #nim
13:34:58*euantor joined #nim
13:35:16*xet7_ joined #nim
13:43:45*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
13:43:57*coffeepot joined #nim
13:50:34*nairobi quit (Read error: Connection timed out)
13:51:21*nairobi joined #nim
13:54:27*PMunch joined #nim
13:59:52literalunfortunate that db_sqlite doesn't support SQLite's prepared statements
14:02:39ftsfliteral, could add it? =)
14:06:01*Gonzih quit (Quit: WeeChat 1.5)
14:06:47*Gonzih joined #nim
14:08:33*nairobi quit (Read error: Connection timed out)
14:09:53*nairobi joined #nim
14:10:23*kssreeram quit (Quit: My Mac has gone to sleep. ZZZzzz…)
14:11:20Araqdom96: what is wrong here? https://travis-ci.org/nim-lang/nimble/builds/151501241
14:11:40AraqI only modified readme.markdown :P
14:11:41literalftsf: don't know C, or even Nim, seems like a bit too much work for me atm :P
14:13:14literalI'd need an interface for SQLite's backup interface too...
14:14:21*nairobi quit (Ping timeout: 265 seconds)
14:14:42*zahary quit (Ping timeout: 250 seconds)
14:15:26*nairobi joined #nim
14:17:53*endragor quit (Remote host closed the connection)
14:23:31*chrisheller joined #nim
14:34:43*zahary joined #nim
14:36:29*jjido joined #nim
14:36:48*jjido left #nim (#nim)
14:47:59*brson joined #nim
15:06:28*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:09:57*pregressive joined #nim
15:14:07*cheatfate_ joined #nim
15:14:27*coffeepot joined #nim
15:17:00*cheatfate quit (Ping timeout: 276 seconds)
15:23:54*brson quit (Quit: leaving)
15:25:25*brson joined #nim
15:31:01coffeepotif I have an object I want to use in a thread, what's the best way to copy it and satisfy the compiler?
15:32:39*brson quit (Quit: leaving)
15:33:01*brson joined #nim
15:34:33Araqjust pass it as an arg to the spawn'ed proc?
15:34:41Araqthe compiler injects a deepcopy for you then
15:35:09Araqif you don't want a copy pass it via 'ptr' and be careful
15:37:29*fredrik92 quit (Quit: Shutting down...)
15:38:27coffeepotokay, but what about things like jester, I wanted to pass around an object containing db params. Will deepCopy work if I call it in a thread (as opposed to the compiler injecting it)?
15:39:37coffeepotI mean, assuming jester is threaded. Which I'm not sure it is or not tbh
15:39:53euantorAnybody seen this? It's an interesting look at async Futures elsewhere: http://aturon.github.io/blog/2016/08/11/futures/
15:45:14*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
15:45:27*coffeepot joined #nim
15:46:47*zahary1 joined #nim
15:46:47*zahary quit (Read error: Connection reset by peer)
15:55:07*Jesin quit (Quit: Leaving)
15:59:46*euantor quit (Quit: Leaving)
16:00:52*yglukhov quit (Ping timeout: 250 seconds)
16:01:48*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:04:25*coffeepot joined #nim
16:08:15*zahary1 quit (Ping timeout: 264 seconds)
16:11:58cheatfate_rust is so ugly
16:12:11namnguyenpanic!
16:12:40ftsfis it good though?
16:13:15namnguyeni think it's pretty interesting.
16:13:16namnguyengood? yeah. C is good too.
16:13:28cheatfate_i just tried to read issue about async Futures by rust ^^^. and i can't understand code
16:14:17cheatfate_and even this simple tcp echo server looks ugly https://github.com/alexcrichton/futures-rs/blob/master/futures-mio/src/bin/echo.rs
16:14:33*zahary joined #nim
16:14:43namnguyenthe idea of moving more checks to compile time is a great one. moreover, the checks are provably correct. that alone deserves attention.
16:15:00namnguyenbut the language syntax is really off putting
16:15:48ftsfyeah readability is pretty important
16:16:15cheatfate_async state machine of course will be faster but you need very curved head to accomplish more complex task, then tcp echo server
16:16:56*space-wizard joined #nim
16:17:13namnguyenftsf, which is also why i'm still on the fence with Nim, due to its camelCase naming convention, and the use of * to export symbols.
16:17:29*miere joined #nim
16:17:32*pregressive quit ()
16:17:37namnguyeni can get used to the *, but camelCase is a bigger hurdle for me.
16:17:58ftsfnamnguyen, you don't have to use camel_case
16:18:11dom96namnguyen: the language is style insensitive for a reason, use whatever style you like
16:18:14ftsfbut I agree the case thing is weird, as is the * for readability
16:18:15namnguyeni don't. but the stdlib and other libs do.
16:18:27ftsfnamnguyen, but you can use whatever you want for the stdlib
16:18:54ftsfI was skeptical of it at first
16:19:00dom96cheatfate_: yay, our async is better :)
16:19:01namnguyenftsf, i'm intrigued. what are you saying?
16:19:02ftsfbut I've been developing for a while now and it's never been an issue
16:19:06namnguyenlike, if the function is named "abcDef", i can call it "abc_def"?
16:19:09ftsffooBar is the same as foo_bar
16:19:14ftsfyep
16:19:20ftsfor foobar
16:19:21namnguyenoh, wow. i didn't know that.
16:19:27ftsfor fOOBaR if you really want
16:19:31*pregressive joined #nim
16:19:35ftsfonly the first character's case is important
16:19:43ftsfand _s are ignored
16:19:55ftsfalthough you can't have variables starting with _
16:20:05ftsfwhich i sometimes find irritating
16:20:14ftsfbut it's not a big deal
16:20:21namnguyenftsf, put it... behind then? abc_?
16:20:22dom96yep, that is what I was referring to by saying "style insensitive"
16:20:32dom96namnguyen: That's disallowed too
16:21:04*coffeepot quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client)
16:23:13dom96It's amazing how many people are put off by this
16:23:24ftsfweird things put people off =p
16:23:29dom96I'm working in Python now and getting annoyed by the underscores
16:23:32ftsfchange is hard
16:23:50dom96although I keep changing my mind about style insensitivity
16:23:59ftsflack of static typing makes it hard for me to go back to python
16:24:07namnguyeni do like that abc is the same as aBc or whatever.
16:24:22namnguyenbecause to the human, you don't want to remember small a, cap B, small c
16:24:28namnguyenyou only want to call it abc
16:24:32dom96the project I'm working on is using type annotations and I am encouraged to use them too
16:24:47dom96becomes so much like Nim it's unbelievable
16:24:52namnguyenhowever, the disadvantage is coming up with new names for new functions
16:24:54ftsfyeah, i was looking at those yesterday
16:25:03ftsfthey look useful, what do you use for enforcing the types?
16:25:24namnguyenpytype is pretty good. there was a presentation about it in this year pycon.
16:25:35dom96PyCharm gives some nice soft warnings
16:26:00ftsfcool, might have a look at it for my work project
16:26:17ftsftype checking would have saved a lot of time
16:26:36dom96I'm planning on creating a suite of macros to allow Nim to become very much like Python
16:26:39*euantor joined #nim
16:26:42dom96in particular class definitions
16:33:10ftsfI haven't really been missing much about python
16:33:42ftsfmost difficult thing about switching to nim is the compiler error messages
16:38:14*euantor quit (Remote host closed the connection)
16:45:17gokrdom96: Did you see what I wrote about nimble earlier today?
16:45:33dom96gokr: nope, what time?
16:46:19gokr12.06 ehrm... 6h40min ago
16:47:43dom96gokr: sure, sounds like a bug.
16:48:01dom96If I understand correctly, you defined a ``binDir`` in your .nimble file as well as a ``srcDir`` right?
16:48:02gokrIt really confused me for a long time ;)
16:48:07gokryeah
16:48:13dom96yeah, most definitely a bug
16:48:15dom96please report
16:48:22gokrhttps://github.com/gokr/spry/blob/master/spry.nimble
16:48:33gokrOkidoki
16:49:18*zahary quit (Quit: Leaving.)
16:49:57dom96Araq: lol, not cool regarding Travis
16:50:06dom96and you editing my installation instructions
16:50:14dom96But I give up
16:50:49dom96I don't know how people that installed Nim via apt-get or other package managers will install Nimble now though
16:51:32gokrdom96: I made https://github.com/nim-lang/nimble/issues/247
16:51:32*endragor joined #nim
16:52:00dom96thx
16:53:50*rok joined #nim
16:54:05Araqwe discussed this for hours and you agreed
16:55:58*endragor quit (Ping timeout: 258 seconds)
16:56:14federico3dom96: are you talking about the unholy bundling? https://github.com/nim-lang/nimble/issues/234
16:56:56Araqthe answer to this question is A)
16:57:01dom96Araq: if so then it must have been months ago that we discussed it
16:57:16Araqnext time I'll keep the logs
16:57:32dom96sure, Nimble can be bundled with Nim but no to "They are released with the same version."
16:57:49dom96Araq: I believe you, just would be nice for you to quickly ask once again.
16:59:23*dyce_ quit (Read error: Connection reset by peer)
16:59:48*AnonymousCoward joined #nim
17:01:32dom96I guess in reality my answer to that question is B)
17:01:51*dyce_ joined #nim
17:03:43*euantor joined #nim
17:04:48federico3dom96: so you are going to remove the need of a git clone of Nim to build?
17:05:29dom96No, I can't.
17:05:34*chemist69 quit (Ping timeout: 260 seconds)
17:05:44federico3then it's not B, it's something else
17:06:16dom96federico3: What do you think I should do?
17:07:49dom96I think the best solution is: provide Nimble binaries.
17:08:06dom96There are many applications/libraries which I wouldn't dream of building myself without spending days
17:08:07federico3either go for A or B for real, otherwise C: keep a permanent copy of the few Nim sources you need inside the Nimble repo. Or D: move the needed stuff out of Nim into a new "nim-base" :(
17:08:31dom96So why should we expect every single person wanting to use Nimble to build it themselves?
17:09:02dom96AFAIK B is impossible. Unless I am misunderstanding.
17:09:09federico3why "every"?
17:09:27federico3why is it impossible?
17:09:35dom96Because Nimble depends on the compiler sources
17:10:03dom96The only way to do is to remove Nimscript support
17:10:06dom96*to do it
17:10:14Araqit's really simple: nim+nimsuggest+nimble all reside in $nim/bin and use the same lookup rules to figure how where the heck the stdlib is
17:10:15dom96I'm not sure what you mean by "Why 'every'?"
17:10:17federico3I get that, but why does it has to depend on the sources? both C and D would remove the dependency
17:10:36Araqif 'nim' can find it, then so can 'nimble'
17:10:47dom96Okay
17:10:50dom96so there are actually two issues here
17:10:58Araqpackagers need to do the same with nimble.exe with nim.exe
17:11:01cheatfate_what is A,B,C,D?
17:11:08dom961) Building Nimble isn't easy because there is a dependency on the Nim sources
17:11:29federico3of course Nimble can access the usual Nim installed libraries. It might be the case that some Nim sorces are not being installed ?
17:11:39dom962) Using Nimble isn't easy because it needs to find the standard library, but people love to put it in strange places.
17:11:42Araqand the source based installation has a "nim finish installation" script or whatever that builds nimsuggest and nimble after boostrapping
17:11:51federico3cheatfate_: A and B are listed on the bug report, option C and D are listed above
17:12:15dom96Araq insists that the way to solve 2) is to keep Nimble.exe together with Nim.exe
17:12:45dom96But I think that 2) is mostly solved, with the exception of a few strange bugs.
17:12:48Araqeverything else is more complex than it needs to be and we let the unix beards come up with all the accidentical complexity
17:13:14Araqit's the "source based" installation
17:13:23Araquse your package manager if you want something else.
17:13:32federico3that sounds like A: the binary tarballs contains both Nim and Nimble, also the source tarball contains both sources
17:15:20euantorNim/Nimble are pretty closely linked, IMO it would make sense for them to be distributed together
17:15:55federico3(and the binary package, ideally, should build cleanly from the source package)
17:16:21dom96Okay. So I thought A) meant that the Nimble and Nim repos should merge.
17:16:48dom96But if you just want Nim source tarballs to contain Nimble as well then that's fine with me.
17:16:55Araqno, nobody wants to merge the repos.
17:17:04dom96But these tarballs should contain the latest Nimble version
17:17:11Araqit's always been about the installation instructions and tarballs
17:17:21federico3no need to merge the git repos - the Nim repo could contain a git submodule *OR* the Nimble repo could be pulled just before building the source package
17:17:36euantorYeah, I far prefer there being separate repositories
17:17:44Araqthat's what install_nimble.nims does ...
17:17:47euantorIf nothing else, it makes it clear where issues are
17:17:53dom96Is there a reason why Nimble's versions should match Nim's?
17:18:08Araqno, nim ships with the latest stable nimble release
17:18:14dom96Okay, good.
17:18:23Araqthe koch script already supports this
17:18:43Araqand install_nimble should do so too.
17:18:45federico3release, not the HEAD, right? :)
17:19:02Araqfederico3: yeah that git tag thingie that gives us boners
17:19:27federico3and with that, nimble -v would let the user know exactly what version is running
17:19:52dom96sure
17:20:01Araqthough personally I prefer git HEAD, nimble is stable.
17:20:06dom96And yes, we were already going to do that but IIRC we ran into problems
17:20:20dom96(in the last release)
17:20:36dom96Only problem I can foresee is if latest Nimble release cannot be compiled by latest Nim
17:20:49dom96s/latest Nim/devel nim that's just about to be released/
17:20:54federico3that would block the release, which would be the right thing to do
17:21:02dom96That's what I thought too
17:21:03*libman joined #nim
17:21:22dom96Anybody wanna write this up as the Nim release procedure in the wiki or somewhere? :)
17:21:53federico3me, gladly, but I need to know the other steps you are doing right now
17:21:56dom96Actually we already have this: https://github.com/nim-lang/Nim/wiki/Creating-a-release
17:22:03Araqit's automated as far as I'm concerned
17:22:05dom96so just add it there
17:22:12dom96federico3: that would be brilliant, thanks!
17:22:27dom96Araq: it is?
17:22:30Araqwe spent days on this thing the last time.
17:22:40dom96Araq: where is the automation?
17:22:44Araqin koch.
17:23:12dom96Still, the procedure should be documented
17:23:23federico3yep
17:23:24dom96even if it is "Run `koch genRelease`" or whatever it is
17:23:31dom96but I doubt it's that simple
17:23:42dom96Araq: So please, tell us more about this automation
17:24:13*chemist69 joined #nim
17:24:31*endragor joined #nim
17:24:42dom96I don't see anything in the help
17:24:48Araqkoch tests the source based installation.
17:25:08*yglukhov joined #nim
17:26:13Araqkoch csources -d:release && koch xz && koch testinstall
17:26:43dom96okay cool
17:26:55Araqyou can create an alias aka 'koch genInstall' for that but it's completely futile since you know release building is not so easy
17:27:14dom96So, does 'koch xz' pull nimble into the .xz archive?
17:27:18dom96Precisely
17:27:26dom96That's why we need to document the release process
17:27:58AraqI build the windows installers on windows and the unix installers on Plan 9
17:28:19dom96hah, I don't believe that you use Plan 9
17:28:34dom96We should think about buying a windows server to make builds on
17:28:43dom96and to automate it as much as possible
17:28:44*nairobi quit (Read error: Connection reset by peer)
17:28:50*endragor quit (Ping timeout: 250 seconds)
17:28:53dom96I'm sure there is something that allows installers to be tested automatically
17:29:03Araqwe keep saying this for years now.
17:29:03*kingofoz quit (Ping timeout: 240 seconds)
17:29:18*nairobi joined #nim
17:29:19Araqand the wiki page is kept up to date fyi
17:29:30AraqI always read it when building a release :-)
17:29:43*yglukhov quit (Ping timeout: 258 seconds)
17:29:46dom96yes, well, no offence to everyone here, but nobody is stepping up to help us with this.
17:30:20dom96But perhaps we're making it too difficult
17:30:52Araqhow so?
17:31:12*kingofoz joined #nim
17:31:18dom96These types of infrastructure projects should be pretty fun
17:31:23dom96So I don't get it
17:31:28dom96I had a lot of fun working on NimBuild
17:32:41AraqI used to be able to build everything on Windows. and then people complained about missing +X bits on the files
17:32:56Araqand Nim was about to die because of this
17:33:04Araqand now I build it on Unix.
17:34:15dom96I think if we can get the release process automated enough, we might be able to release once a month regularly.
17:34:36*dom96 adds this to his to do list
17:34:59euantor@dom96: about the WIndows server, http://buyvm.net/kvm-dedicated-server-slices is pretty cheap
17:35:00dom96Maybe it would encourage people to work on this if I documented exactly what we want?
17:35:11dom96I don't know, can anybody give their perspective?
17:35:44dom96euantor: nice
17:35:57euantorWindows server 2003 64 bit is free on all plans too, including the ~3/mo plan
17:36:10euantorI'd be happy to stump up a year upfront if it would help at all
17:36:19euantorI personally don't use WIndows, but my work does
17:36:25dom96I think I would rather go for something more popular though to get better reliability.
17:36:52euantorBuyVM are pretty well known
17:36:52*nairobi quit (Read error: Connection reset by peer)
17:37:03euantorMostly for VPS servers and their DDOS protection
17:37:12euantorThey've been around for a heck of a long time
17:37:24dom96Hrm.
17:37:31euantorOVH do WIndows servers too if I remember correctly
17:37:35dom96Okay, will remember them
17:37:45dom96I was thinking Amazon or maybe even Azure
17:38:01euantorAgain, if it's going to help, I'm happy to throw some money into the ring
17:38:14euantorI've only used Azure's notification hubs through work
17:38:15dom96I think that thanks to our BountySource we should be able to cover our server costs.
17:38:32euantorWe looked at their VMs and decided against them, preferring Linode
17:38:36dom96And it will be easier to have control over every server.
17:38:37*nsf joined #nim
17:38:40federico3there are services that allow building (like circleci) without having to setup and maintain the buildbot
17:39:03dom96But if you really want to donate a server I won't say no :)
17:39:07euantorWe use Circle CI at an open source project I'm involved in
17:39:30dom96federico3: yeah, that could work too
17:39:52euantorIf it helps, I'm happy to do so :)
17:40:10federico3dom96 But perhaps we're making it too difficult -> yep, every time I poke around we seem to only inch forward...
17:40:33elroodwhat was the reasoning for needing a windows server again? why not make use of nim's superiour features and cross-compile release versions on a unix server?
17:40:41cheatfate_federico3, could you please point me to bug report?
17:40:46dom96elrood: to build the installers
17:40:47federico3euantor: there's already a circleci setup that builds on every commit
17:40:52*nairobi joined #nim
17:41:05dom96federico3: how can we make it less difficult? :)
17:41:15federico3cheatfate_: https://github.com/nim-lang/nimble/issues/234
17:41:32elrooddom96, still don't get why that'd need a windows server, but as long as you're sure..
17:41:33euantorfederico3 : Yep, I've seen it in action
17:42:06dom96elrood: AFAIK NSIS doesn't work on Linux
17:44:36*yglukhov joined #nim
17:46:08*gokr quit (Ping timeout: 265 seconds)
17:46:14elrooddom96, afair, it does. do you want to google yourself, or shall i..?
17:47:46dom96elrood: Even if it does I bet it's not easy, found this and it suggests the need to compile NSIS on Linux: https://blog.alejandrocelaya.com/2014/02/01/compile-nsis-scripts-in-linux/
17:48:48*gokr joined #nim
17:49:32*GustavoLapasta joined #nim
17:50:26Araqwe can also try to compile everything via Wine
17:50:37Araqshould work too.
17:51:30cheatfate_why not bundle nimble inside of nim?
17:51:38*cheatfate_ is now known as cheatfate
17:51:59cheatfatei mean full integration
17:52:17elrooddom96, at least fedora and ubuntu seem to provide binaries, so i'd bet there are easy solutions for other distros as well
17:52:52*AnonymousCoward quit (Read error: Connection reset by peer)
17:52:55elroodnot trying to convince you to do anything you don't want, just saying you don't strictly *have* to get a windows server for that
17:52:56*nairobi quit (Remote host closed the connection)
17:53:14dom96elrood: Sure. It's nice to know that it's possible.
17:54:07*euantor quit (Remote host closed the connection)
17:54:24*euantor joined #nim
17:55:30*nairobi joined #nim
17:58:59*brson quit (Ping timeout: 244 seconds)
18:00:26*nairobi quit (Remote host closed the connection)
18:02:27*nairobi joined #nim
18:06:34*tommy_ joined #nim
18:06:37*endragor joined #nim
18:06:44tommy_hi there! how come is so hard to create a simple list in Nim?
18:07:00tommy_this is a golang code:
18:07:03tommy_var versionStrings = []intName{ {0, "EV_NONE"}, {1, "EV_CURRENT"}, }
18:07:16tommy_how can i translate that to Nim-lang? anyone could help me?
18:07:40dom96var versionStrings = @[(0, "EV_NONE"), (1, "EV_CURRENT")]
18:07:41Araqhello. are you our troll?
18:07:43dom96What's hard about this?
18:07:43elroodthis channel needs an irc-trollometer
18:07:57*hendi__ quit (Ping timeout: 276 seconds)
18:08:06dom96elrood: feel free to add that functionality to NimBot :)
18:09:02*pafmaf joined #nim
18:10:06cheatfateAraq, looks like no
18:10:45Araqjust wait and see ...
18:10:54dom96tommy_: you still there?
18:11:06*endragor quit (Ping timeout: 258 seconds)
18:11:21tommy_hi
18:11:27tommy_im not a troll
18:11:33tommy_maybe im being dumb only, sorry
18:11:51dom96tommy_: don't worry, we were all new once
18:12:06tommy_hm dom96 that really is nice but i was digging the docs and couldnt find it
18:12:10dom96but in fact, it's easier to create in Nim than in Go ;)
18:12:15tommy_i was looking in lists and tables
18:12:25dom96have you looked at the tutorial?
18:13:10tommy_sequence
18:13:12tommy_got it
18:13:17tommy_i was checking for lists and tables
18:13:32tommy_that was it
18:13:43tommy_awesome
18:14:03dom96ahh, we should alias "list" somewhere in our docs
18:14:24tommy_yeah cause List module brings some crazy (in a good way) doublelinked stuff
18:14:25tommy_:p
18:17:02*Jesin joined #nim
18:18:45*tommy_ quit (Quit: Page closed)
18:21:42*endragor joined #nim
18:26:10*endragor quit (Ping timeout: 265 seconds)
18:34:58*chrisheller quit (Ping timeout: 252 seconds)
18:46:46*nairobi quit (Remote host closed the connection)
18:48:23*pie_ joined #nim
18:48:47*hendi__ joined #nim
18:49:33*euantor quit (Remote host closed the connection)
18:50:07*euantor joined #nim
18:57:40*hendi__ quit (Ping timeout: 265 seconds)
18:59:57*gokr quit (Ping timeout: 276 seconds)
19:02:43*endragor joined #nim
19:07:11*endragor quit (Ping timeout: 244 seconds)
19:07:19*euantor quit ()
19:21:26*endragor joined #nim
19:21:44*brechtm_ joined #nim
19:25:34*brechtm quit (Ping timeout: 260 seconds)
19:26:06*endragor quit (Ping timeout: 265 seconds)
19:26:20*brechtm_ quit (Remote host closed the connection)
19:28:45*yglukhov quit (Remote host closed the connection)
19:28:58*brechtm joined #nim
19:34:36*Jesin quit (Quit: Leaving)
19:39:15*Jesin joined #nim
19:41:39federico3Araq: you are saying the Creating-a-release page is up to date? How about we put in the exact commands to be run for each and every step so that I can just put everything in a script and test the release process as well on ci.nim-lang?
19:44:13Araqwell it's missing my .bat file for the Windows build
19:44:25Araqbut apart from that it's up to date, I just updated it
19:47:45*nairobi joined #nim
19:47:53federico3what about the second question?
19:47:59*gokr joined #nim
19:49:13AraqI've always wanted to have that.
19:49:47AraqI'm adding my .bat file, maybe it's useful with Wine too
19:50:58Araqdone
19:51:13*brechtm quit (Read error: Connection reset by peer)
19:51:37Araqyou can convert the bat to NimScript :-)
19:51:37federico3this stuff could be split in 2 chunks at least: pre-flight checks aka "can Nim be released?" and the permanent changes (git commits, merge, push)
19:51:53Araqwell it's a wiki.
19:51:54*brechtm joined #nim
19:52:01Araqeverybody is allowed to improve it.
19:52:36*nairobi quit (Ping timeout: 276 seconds)
19:53:06federico3the bat is not doing git stuff - do you run it before or after the manual steps?
19:53:39Araqconsider it an expansion of the 'koch nsis' step
19:54:54*yglukhov joined #nim
19:55:21*nairobi joined #nim
19:56:34*nairobi quit (Remote host closed the connection)
19:56:41Araqhow do you plan on tackling the Windows problem?
19:59:22*yglukhov quit (Ping timeout: 244 seconds)
20:04:41*nairobi joined #nim
20:12:59cheatfateAraq, do you want to translate your bat files to nimscript?
20:13:15*libman wishes there were statistics on OS usage among programmers of various programming languages. I wonder if Nim would be more tilted towards Windows than its competitors.
20:13:23AraqI don't care.
20:13:34AraqI don't have "bat files"
20:13:38AraqI have a single bat file.
20:13:44Araqeverything else is in Nim.
20:14:24*brson joined #nim
20:16:11cheatfatebuild.bat?
20:16:15cheatfatebuild64.bat?
20:16:19Araqthat's generated.
20:16:30Araqdoesn't affect my life.
20:18:03*brechtm quit (Remote host closed the connection)
20:23:04*brechtm joined #nim
20:33:38*irrequietus joined #nim
20:34:07*zahary joined #nim
20:38:45*Sentreen quit (Ping timeout: 276 seconds)
20:39:48federico3would a bash script be ok for the unix side?
20:42:50elroodplease make that a generic shell script and don't get entangled in bashisms
20:44:12*libman recommends using standard shell (or korn shell, ex mksh) rather than making bash a dependency.
20:44:13*nairobi quit (Ping timeout: 252 seconds)
20:47:01federico3yep, I usually use sh (dash)
20:48:13*nairobi joined #nim
20:48:27Araqelrood, libman the scripts that we generate for the installation process are Posix shell scripts, not bash scripts.
20:51:01*Sentreen joined #nim
20:54:43federico3I volunteer dom96 to write a backend for dash
20:56:40*brechtm_ joined #nim
20:57:11*yglukhov joined #nim
20:59:51*brechtm quit (Ping timeout: 264 seconds)
21:01:44*yglukhov quit (Ping timeout: 250 seconds)
21:01:51*TheLemonMan quit (Quit: "It's now safe to turn off your computer.")
21:03:17federico3can we remove NimVersion*: string = $NimMajor & "." & $NimMinor & "." & $NimPatch from system.nim? They've been deprecated for a while
21:03:53Araqhmm? they are not deprecated at all, are they?
21:04:04federico3hm, the Minor/Major/Patch ore not deprecated, only the Nimrod* stuff
21:04:12Araqah yeah
21:04:38*nairobi quit (Read error: Connection timed out)
21:07:47*chrisheller joined #nim
21:09:59*miere quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/)
21:10:16*nairobi joined #nim
21:14:46cheatfatefederico3, but you need to remember https://github.com/nim-lang/Nim/issues/3989
21:18:19*chrisheller quit (Ping timeout: 252 seconds)
21:18:44Araqcheatfate: er ... your last remark there makes no sense
21:18:52Araqreplied to the wrong issue?
21:18:54cheatfateyep
21:19:11cheatfatealready deleted, i though you will not see it :)
21:19:20AraqI still don't really see the problem though.
21:19:33Araqwho aliases 'uname' to something else?
21:19:50Araqor 'tr' for that matter.
21:19:57cheatfateAraq, `tr` was already aliased
21:20:10cheatfatethat issue was made because user aliased `tr`
21:20:38Araqyes. so? it's like saying "my gcc is an alias for ls and Nim doesn't work"
21:21:00*pafmaf quit (Ping timeout: 276 seconds)
21:21:05vktecXD
21:21:34cheatfateAraq, but people comes to channel for help, and it was hard to understand installation error
21:23:04michael_campbellsomeone aliased `tr`? huh.
21:23:10Araqwell fix it if you can fix it within Posix, otherwise let's just leave it as it is. Nim also requires a CPU and the installation process can get confusing without one.
21:23:56cheatfatei'm not so good in shell scripting as i said, i just make a proposal, maybe somebody can make it properly
21:26:29*nairobi quit (Read error: Connection timed out)
21:28:08*nairobi joined #nim
21:31:09*Sentreen quit (Read error: Connection reset by peer)
21:31:55*Sentreen joined #nim
21:38:37*pregressive quit (Remote host closed the connection)
21:42:39cheatfatethis var constants makes me crazy
21:43:11*endragor joined #nim
21:43:22cheatfatecould somebody help me cast[proc (x: cint) {.noconv.}](0)
21:43:31cheatfatehow to do it properly?
21:44:24*Trustable quit (Remote host closed the connection)
21:45:22*nairobi quit (Read error: Connection timed out)
21:46:19*GustavoLapasta quit (Quit: Leaving)
21:46:58*nairobi joined #nim
21:47:20*endragor quit (Ping timeout: 244 seconds)
21:48:06Araquse 'nil'?
21:48:29Araqyour cast looks ok too, what's wrong with it?
21:52:12*nairobi quit (Ping timeout: 240 seconds)
21:53:48*PMunch quit (Quit: leaving)
21:55:45*nairobi joined #nim
21:57:33cheatfatei need 2 constants SIG_DFL and SIG_IGN, SIG_DFL = 0, SIG_IGN = 1
21:59:08cheatfatesome errors when i have tried to repr this values
21:59:12cheatfatein codegen
22:00:12Araqfix teh codegen then please
22:00:33cheatfate:)
22:00:35cheatfatehttps://gist.github.com/cheatfate/c5f49caad9fb6c12b0fc01b5d7672e90
22:01:56*PMunch joined #nim
22:03:30*saml quit (Quit: Leaving)
22:04:49*nairobi quit (Remote host closed the connection)
22:09:58*brechtm_ quit (Remote host closed the connection)
22:11:36*brechtm joined #nim
22:12:08*Mat4 joined #nim
22:17:40*Mat4 left #nim (#nim)
22:20:33cheatfateAraq, if posix.nim has `var SIG_IGN = xxxx' and i declare it as `const SIG_IGN = yyyy` in my module which has `import posix`, what will be used? constant or variable?
22:24:30Araqyour module is preferred
22:32:23cheatfatethank you
22:32:35*rok quit (Quit: rok)
22:41:47*irrequietus quit ()
22:44:15*Demon_Fox joined #nim
22:44:28cheatfatecasted consts dont help me avoid gcsafe warnings
22:48:18*nairobi joined #nim
22:52:34cheatfatecould somebody explain me what is here gc-unsafe
22:52:54cheatfatevar sig = cint(param), posix.signal(sig, cast[proc(x: cint) {.noconv.}](0))
22:52:58*nairobi quit (Ping timeout: 265 seconds)
22:53:53cheatfateis not GC-safe as it performs an indirect call here
22:54:25*PMunch quit (Quit: leaving)
22:55:59*zahary quit (Ping timeout: 258 seconds)
22:57:42*zahary joined #nim
22:59:11*yglukhov joined #nim
23:03:41*yglukhov quit (Ping timeout: 265 seconds)
23:06:36*nairobi joined #nim
23:17:01*gokr quit (Ping timeout: 258 seconds)
23:22:49*nairobi quit (Read error: Connection timed out)
23:23:54*nairobi joined #nim
23:25:16*endragor joined #nim
23:29:30*endragor quit (Ping timeout: 250 seconds)
23:31:23Araqcheatfate: the compiler only knows that 'nil' is not a real indirect call ...
23:31:43Araqbut since you cast, why not cast to .noconv, gcsafe ?
23:38:57*nairobi quit (Remote host closed the connection)
23:49:03*zahary quit (Ping timeout: 240 seconds)
23:52:29*desophos joined #nim
23:57:35*endragor joined #nim